Product Features
Function Management
FunctionGraph provides console-based function management.
- The Node.js, Java, Python, Go, C#, PHP, and custom runtimes are supported. Table 1 provides the details.
You are advised to use the latest runtime version.
- Multiple code entry modes
FunctionGraph allows you to edit code inline, upload a ZIP file from Object Storage Service (OBS), or directly upload a ZIP or JAR file. Table 2 lists the code entry modes supported for each runtime.
Table 2 Code entry modes Runtime
Editing Code Inline
Uploading a ZIP File
Uploading a JAR File
Uploading a ZIP File from OBS
Node.js
Supported
Supported
Not supported
Supported
Python
Supported
Supported
Not supported
Supported
Java
Not supported
Supported
Supported
Supported
Go
Not supported
Supported
Not supported
Supported
C#
Not supported
Supported
Not supported
Supported
PHP
Supported
Supported
Not supported
Supported
Cangjie
Not supported
Supported
Not supported
Supported
Custom
Supported
Supported
Not supported
Supported
Function Triggers
Table 3 lists the invocation modes for different trigger types.
Trigger |
Invocation Mode |
---|---|
API Gateway (Dedicated) |
Synchronous invocation is used by default. You can change it to asynchronous invocation. For details, see Asynchronous Invocation. |
API Connect (APIC) |
Synchronous invocation is used by default. You can change it to asynchronous invocation. For details, see Asynchronous Invocation. |
Timer |
Synchronous (default) |
Cloud Trace Service (CTS) |
Asynchronous (default and cannot be changed) |
Document Database Service (DDS) |
Asynchronous (default and cannot be changed) |
Data Ingestion Service (DIS) |
Asynchronous (default and cannot be changed) |
DMS (for Kafka) |
Asynchronous (default and cannot be changed) |
Kafka (Open-Source) |
Asynchronous (default and cannot be changed) |
DMS (for RabbitMQ) |
Asynchronous (default and cannot be changed) |
GeminiDB Mongo |
Asynchronous (default and cannot be changed) |
Log Tank Service (LTS) |
Asynchronous (default and cannot be changed) |
Simple Message Notification (SMN) |
Asynchronous (default and cannot be changed) |
EventGrid (EG) |
Asynchronous (default and cannot be changed) |
Logs and Metrics
FunctionGraph graphically displays function monitoring metrics and collects function running logs, enabling you to view function statuses, and locate problems by querying logs.
For details about how to query logs, see Managing Function Logs.
For details about a single monitoring metric, see Function Monitoring.
For details about tenant-level monitoring information, see Introduction to Dashboard.
Function Initialization
The initializer interface is introduced to:
- Isolate function initialization and request processing to enable clearer program logic and better structured and higher-performance code.
- Ensure smooth function upgrade to prevent performance loss during the application layer's cold start initialization. Enable new function instances to automatically execute initialization logic before processing requests.
- Identify the overhead of application layer initialization, and accurately determine the time for resource scaling and the quantity of required resources. This feature makes request latency more stable when the application load increases and more function instances are required.
Function Flows
Function flows are used to orchestrate functions. Multiple functions can be orchestrated into a flow for coordinating the execution of multiple distributed function tasks.
On the orchestration page, you can connect event triggers, functions, and flow controllers in a flowchart through lines. The output of each node is used as the input of the next node. An orchestrated flow will be executed according to the sequence specified in the flowchart. After it is successfully executed, you can view its execution records for easy diagnosis and debugging.
Function flows have the following features and advantages:
- Features
- Visualized function orchestration
- Function flow execution engine
- Error handling
- Visualized monitoring
- Advantages
- Build apps with less code
Function flows allow you to orchestrate functions into a complete application without compiling code. Quick construction and rollout When services are changed, you can quickly adjust flows and roll out services without writing any code.
- Comprehensive error handling
Errors that occur in processes can be captured, retries are supported, and exceptions can be flexibly handled.
- Visualized orchestration and monitoring
Flows can simply be orchestrated by dragging elements.
You can view flows on the monitoring page to quickly locate problems.
- Build apps with less code
Unified Plug-in for Development and Debugging
- VSCode plug-in (off-cloud):
Create a function using a template, view the function on the cloud, download the function to a local PC for debugging, use the VSCode plug-in to debug the function, and then push the function to the cloud.
HTTP Functions
This feature is supported only by FunctionGraph v2.
You can set Function Type to HTTP Function on the function creation page. HTTP functions are designed to optimize web services. You can send HTTP requests to URLs to trigger function execution. HTTP functions support APIG and API Connect (APIC) triggers only.
Tracing
You can enable tracing for functions. Then you can go to the Application Performance Management (APM) console to view JVM and tracing information. Currently, only Java functions can be traced.
Custom Images
This feature is supported only by FunctionGraph v2.
You can directly package and upload container images. The images are loaded and started by the platform and can be called in a similar way as HTTP functions. Unlike the previous code upload mode, you can use a custom code package, which is flexible and reduces migration costs.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot