ALL HELP FunctionGraph Service Overview Overview Product Features Function-related Features Workflow-related Features Product Advantages Application Scenarios Permissions Description Related Services Feature Updates Quotas and Usage Restrictions Price Details Overview Free Tier Pricing Details Free Tier Execution Duration Pricing Examples Getting Started User Guide Overview How FunctionGraph Works? Permissions Management Basic Concepts Creating a User and Granting Permissions Syntax of RBAC Policies Building a FunctionGraph Function Programming Models Creating a Deployment Package Creating a Function Environment Variables Triggering a Function Orchestrating Functions Triggering a Workflow Logs and Metrics Versions and Aliases Command Line Tools FunctionGraph and Other Services Getting Started Introduction Creating Execution and Initialization Functions by Code Configuring VPC Access Creating a Function by Image Using an SMN Trigger Using a DMS Trigger Using an APIG Trigger Using an OBS Trigger Using a DIS Trigger Using a Timer Trigger Using an LTS Trigger Using a CTS Trigger Creating a HelloWorld Workflow Creating a Workflow Trigger Using a Workflow Timer Creating an Event Workflow with an Internal Trigger Creating a Workflow with an External Trigger Basic Operations Dashboard Function Management Integrated Function Development Dependency Management Function Trigger Management Test Management Version Management Function Monitoring Workflow Trigger Management Workflow Management Workflow Timer Management Workflow Logging Workflow Monitoring Advanced Operations Function Templates Mounting a File System Using a Custom Runtime Environment Variables Tutorials Resource Orchestration Appendixes Creating an Agency Adding Subscriptions to a Topic (to Create an SMN Trigger) Creating an NFS Shared Directory on ECS Cron Expression for a Function Timer Trigger Cron Expression for a Workflow Timer Developer Guide Overview Introduction to Function Development Supported Event Sources Basic Concepts Function Project Packaging Rules Developing Functions Developing Functions in Node.js Developing Functions in Python Developing Functions in Java Developing Functions in Go Developing Functions in C# C# Function Development JSON Serialization and Deserialization Using .NET Core CLI Using Visual Studio Developing Functions in PHP Developing Functions with Plug-ins VS Code-plugin Eclipse Plug-in PyCharm Plug-in Creating Workflows Introduction Creating a Workflow to Invoke a Function Creating a Workflow to Handle Error Conditions Creating a Workflow with Multiple State Choices Workflow Definition Workflow Structure Event Definition State Types and Field Description Input and Output State Definition Examples Definition Restrictions CLI Reference Introduction to CLI Function-related Commands Alias-related Commands Trigger-related Commands Invocation Commands Interactive Commands Function Importing and Exporting Commands Command Description Tool Guide Introduction to HSS Installation and Configuration Preparation Installation and Configuration for Linux and macOS Installation and Configuration for Windows Configuration File Description Getting Started Obtaining Help Information Verifying an HSAM Template Generating Local Events Using HUAWEI CLOUD Event Sources Deploying Resources Invoking Functions Using Local HTTP APIs Automatically Generating a Function Application Examples HSAM Templates Local HTTP APIs Exporting Logs to a Local File Environment Variables Debugging Functions Best Practices Compressing Images Introduction Preparation Building a Program Adding an Event Source Compressing Images Watermarking Images Introduction Preparation Building a Program Adding an Event Source Watermarking Images Processing DIS Data Introduction Preparation Building a Program Adding an Event Source Processing Data Building an AI Application for Identifying Pornographic Images Introduction Preparation Building a Backend Function Building a Frontend Function Image Identification Integrating with LTS to Analyze Logs in Real Time Introduction Preparation Building a Program Adding an Event Source Processing Log Data Other Application Scenarios Integrating with CTS to Analyze Login/Logout Security Introduction Preparation Building a Program Adding an Event Source Processing Operation Records Other Application Scenarios Periodically Shutting Down Huawei Public Cloud VMs Constructing a Video Processing Service Introduction Preparation Building Functions Creating Functions Building a Function for Obtaining Video Formats Building a Function for Converting Video Formats Function for Handling Video Conversion Failures Function for Capturing Video Screenshots Orchestrating Functions Adding an Event Source Processing Videos API Reference Before You Start Overview API Calling Endpoints Constraints Concepts API Overview Calling APIs Making an API Request Authentication Response Function Model Definition Function Model Trigger Management Models Function Management Zone APIs Querying a Function List Querying the Metadata Information of a Function Querying the Code of a Function Creating a Function Deleting a Function or Function Version Modifying the Code of a Function Modifying the Metadata Information of a Function Publishing a Function Version Querying the Versions of a Function Creating an Alias for a Function Version Modifying the Alias Information of a Function Version Deleting an Alias of a Function Version Querying the Alias Information of a Function Version Querying the Aliases of a Function's All Versions Querying All Triggers of a Function Querying the Information About a Trigger Deleting All Triggers of a Function Creating a Trigger Deleting a Trigger Function Data Zone APIs Executing a Function Synchronously Executing a Function Asynchronously Workflow Quota Management APIs Querying the Workflow Trigger Quota of a Tenant Querying the Default Workflow Trigger Quota of a Tenant Querying the Workflow Quota of a Tenant Querying the Default Workflow Quota of a Tenant Workflow Trigger Management APIs Creating a Workflow Trigger Querying a Workflow Trigger Querying a Workflow Trigger List Updating a Workflow Trigger Deleting a Workflow Trigger Performing a Batch Operation on Workflow Triggers Workflow Management APIs Creating a Workflow Deleting a Workflow Querying a Workflow List Querying a Workflow Updating a Workflow Querying the Workflow for Which an Instance Is Run Workflow Mapping Management APIs Creating a Mapping Deleting a Mapping Enabling or Disabling a Mapping Querying a Mapping Querying a Mapping List Workflow Timer Management APIs Binding a Workflow Timer Updating a Workflow Timer Enabling or Disabling a Workflow Timer Deleting a Workflow Timer Querying a Workflow Timer List Workflow Instance Management APIs Starting a Workflow Instance Stopping a Workflow Instance Querying a Workflow Instance List Querying a Workflow Instance Querying the Historical Information About a Workflow Instance Workflow Test APIs Starting a Workflow Test Instance Simulating an Event Message to Trigger a Specified EVENT State Trigger Message Management API Sending a Trigger Message from a Worker Event Source Permissions Policies and Supported Actions Appendixes Status Codes Error Codes Obtaining a Project ID FunctionGraph Metrics Cron Expression for a Workflow Timer Change History SDK Reference Overview Java Function SDK Preparation Creating a Function Querying the Metadata of a Function Querying the Code of a Function Querying a Function List Modifying the Metadata of a Function Modifying the Code of a Function Deleting a Function or a Function Version Creating a Trigger Querying All Triggers of a Function Querying a Trigger Deleting a Trigger Deleting All Triggers of a Function Querying All Versions and Aliases of a Function Creating an Alias for a Function Version Modifying the Alias of a Function Version Querying the Alias of a Function Version Deleting a Function Alias Publishing a Function Version Querying All Versions of a Function Executing a Function Synchronously or Asynchronously FunctionGraph Java SDK Overview Preparation Examples of Workflow Trigger Operations Examples of Mapping Operations Examples of Quota Operations Examples of Workflow Operations Examples of Instance Operations Examples of Worker Trigger Operations Examples of Workflow Test Operations Mapping Between FunctionGraph APIs and SDK FunctionGraph Java SDK Mapping Between Java Function SDK Methods and APIs Common Error Codes FAQ General Questions What Is FunctionGraph? Do I Need to Apply for Any Computing, Storage, or Network Services When Using FunctionGraph? How Does FunctionGraph Isolate Code? Do I Need to Deploy My Code After Programming? How to Obtain a Token? Function-related Questions What Runtimes Does FunctionGraph Support? What Is the Disk Space That Can Be Allocated to a FunctionGraph Function? Does FunctionGraph Support Class Libraries? Does FunctionGraph Support Threads and Processes? What Events Can Trigger a FunctionGraph Function? How Do I Know the Actual Memory Used for Function Execution? Does FunctionGraph Support Environment Variables? Are There Any Security Risks in Storing Sensitive Information in Environment Variables? Does FunctionGraph Support Function Versioning? How Long Does It Take to Execute a FunctionGraph Function? What Are the Rules (Restrictions) for Packaging a Function Project? What Can I Do When a Function with APIG Triggers Returns Error Code 500? How Do I Use FunctionGraph Functions to Access MySQL? How Do I Use FunctionGraph Functions to Access Redis? What Are LATEST and TRIM_HORIZON in DIS Trigger Configuration? How Does a Function Read Files? How Do I Set a Proxy When Using CLI? Does FunctionGraph Support Function Expansion? Why Is an IAM User Prompted Insufficient Permissions When Using FunctionGraph? Workflow-related Questions How to Create a Workflow? How to Execute a Workflow?