Help Center/ FunctionGraph/ Getting Started/ Creating a Function from Scratch and Executing the Function
Updated on 2025-08-07 GMT+08:00

Creating a Function from Scratch and Executing the Function

This section describes how to quickly create and test a HelloWorld function on the FunctionGraph console.

Prerequisites

  1. View free quota.

    FunctionGraph offers a free tier every month, which you can share with your IAM users. For details, see Free Tier

    If you continue to use FunctionGraph after the free quota is used up, your account goes into arrears if the balance is less than the bill to be settled. To continue using your resources, top up your account in time. For details, see Topping Up an Account.

  2. Grant the FunctionGraph operation permissions to the user.

    To perform the operations described in this section, ensure that you have the FunctionGraph Administrator permissions, that is, the full permissions for FunctionGraph. For more information, see Permissions Management.

Step 1: Create a Function

  1. Log in to the FunctionGraph console. In the navigation pane, choose Functions > Function List.
  2. Click Create Function in the upper right corner and choose Create from scratch.
  3. Configure basic function information by referring to Figure 1. Then, click Create Function.
    Table 1 Parameters required for creating a function

    Parameter

    Description

    Example Value

    Function Type

    Select Event Function.

    An event function is triggered by a specific event, which is usually a request event in JSON format.

    Event Function

    Region

    Select the region where the function is located.

    Regions are geographic areas isolated from each other. Resources are region-specific and cannot be used across regions through internal network connections. Select a region near you to ensure the lowest latency possible.

    CN East-Shanghai1

    Function Name

    Enter a function name. The naming rules are as follows:

    • Consists of 1 to 60 characters, and can contain letters, digits, hyphens (-), and underscores (_).
    • Start with a letter and end with a letter or digit.

    HelloWorld

    Enterprise Project

    Select the enterprise project to which the function belongs. Enterprise projects let you manage cloud resources and users by project.

    The default value is default. You can select the created enterprise project.

    If the Enterprise Management service is not enabled, this parameter is unavailable. For details, see Enabling the Enterprise Project Function.

    default

    Agency

    Select an agency for the function. An agency is used to authorize FunctionGraph to access other cloud services. If FunctionGraph does not access any cloud service, you do not need to select an agency.

    By default, Use no agency is used. You can select an existing agency.

    If no default agency is available, FunctionGraph allows you to quickly create a default agency named fgs_default_agency..

    Use no agency

    Permission Policies

    This parameter is displayed only when an agency is selected.

    For details about how to adjust the permission policies, see Modifying an Agency on the IAM console.

    -

    Runtime

    Select a runtime to compile the function.

    For details about the runtimes supported see Supported Runtimes.

    • CloudIDE supports only online editing of Node.js, Python, PHP, and custom runtimes.
    • After a function is created, the runtime language cannot be changed.

    Node.js 16.17

    Advanced Settings

    • Public Access: If this feature is enabled, functions can access services on the public network through the default NIC. The public network access bandwidth is shared among users and applies only to test scenarios.
    • VPC Access: If this feature is enabled, functions will use the NIC bound to the configured VPC for network access, and the default NIC of FunctionGraph will be disabled. That is, the Public Access parameter does not take effect.

      To enable this feature, you need to configure an agency with VPC management permissions. If you select Use no agency in the Basic Information area, this feature cannot be enabled.

    • Collect Logs: After it is enabled, logs generated during function execution will be reported to LTS.

      LTS will be billed on a pay-per-use basis. For details, see LTS Pricing Details.

    • Static Encryption with KMS (supported only in the LA-Sao Paulo1 region): Select whether to use KMS static code encryption.

      DEW is billed by the pay-per-use mode. For details, see DEW Billing.

    • Public Access: Enabled.
    • VPC Access: Disabled.
    • Collect Logs: Disabled.
    • Static Encryption with KMS: Disabled.
    Figure 1 Creating a function

  1. Configure the code source, copy the following code to the code window, and click Deploy.
    The sample code enables you to obtain test events and print test event information.
    exports.handler = function (event, context, callback) {
        const error = null;
        const output = `Hello message: ${JSON.stringify(event)}`;
        callback(error, output);
    }

Step 2: Test the Function

  1. On the function details page, click Test. In the displayed dialog box, create a test event.
  2. Select blank-template, set Event Name to test, modify the test event as follows, and click Create.
    {
        "hello": "function"
    }
    Figure 2 Configuring a test event

Step 3: View the Execution Result

Click Test and view the execution result on the right.

  • Function Output: displays the return result of the function.
  • Log Output: displays the execution logs of the function.
  • Summary: displays key information of the logs.
    Figure 3 Viewing the execution result

A maximum of 2 KB logs can be displayed. For more log information, see Querying Function Logs.

Related Information