All Products
Search
Document Center

IoT Platform:Forward data to Function Compute

Last Updated:Oct 23, 2023

You can use the data forwarding feature of the rules engine to forward data to Function Compute. Then, Function Compute uses function scripts to process business data. This topic describes the data forwarding process. In this example, a Thing Specification Language (TSL) communication topic is used as a source topic.

Prerequisites

  • An IoT Platform instance whose data can be forwarded to Function Compute is created in a region that supports data forwarding to Function Compute. For more information, see Regions.

  • A data source named DataSource is created and a TSL communication topic is added to the data source. For more information, see Create a data source.

  • A Function Compute service and a function are created. The function is configured and can run as expected after verification. For more information, see the Function Compute documentation.
    Important
    • When you create the function, you can set the Function Type parameter only to Event Function.
    • If you use an IoT Platform Enterprise Edition instance, Function Compute must be activated in the same region where the Enterprise Edition instance resides.

Background information

The rules engine uses the data forwarding feature to forward device data to Function Compute. Then, Function Compute runs business-specific function scripts to implement various business features.

The following figure shows the data forwarding process.

Forward data to Function Compute

Usage notes

You can also use the new or previous version of the data forwarding feature to forward data to Function Compute. For more information about how to use the previous version of the data forwarding feature, see Forward data to Function Compute.

Create a data destination

  1. Log on to the IoT Platform console.
  2. On the Overview page, click All environment. On the All environment tab, find the instance that you want to manage and click the instance ID or instance name.

  3. In the left-side navigation pane, choose Message Forwarding > Data Forwarding.
  4. In the upper-right corner of the Data Forwarding page, click Go to New Version to go to the new version.

    Note

    If you have performed this step, the Data Forwarding page of the new version appears after you choose Message Forwarding > Data Forwarding.

  5. Click the Data Destination tab. On this tab, click Create Data Destination.
  6. In the Create Data Destination dialog box, enter a data destination name. In this example, DataPurpose is used. Configure the parameters and click OK.

    ParameterDescription
    OperationSelect Send Data to Function Compute.
    RegionSelect the region where your Function Compute service is deployed.
    ServiceSelect a Function Compute service.

    You can click Create Service to go to the Function Compute console and create a service. For more information, see Manage services.

    Function VersionThe scope of the update. Valid values:
    • Use Default Version: Use the default version of the Function Compute service. The default version is LATEST.
    • Select Version: Select the service version that you published.

      You can click Create Version to go to the Function Compute console and create a version. For more information, see Manage versions.

    • Select Alias: Select the alias that you specified for the version of the Function Compute service.

      You can click Create Alias to go to the Function Compute console and create an alias. For more information, see Manage aliases.

    FunctionSelect the function that you want to use to receive data.

    You can click Create Function to go to the Function Compute console and create a function. For more information, see Manage functions.

    Grant permissionsGrant IoT Platform the permissions to write data to Function Compute.

    If no RAM roles exist, click Create RAM Role to go to the Resource Access Management (RAM) console, create a RAM role, and then grant permissions to the RAM role. For more information, see Create a RAM role.

Configure and start a parser

  1. Create a parser named DataParser. For more information, see Create a parser.

  2. On the Parser Details page, associate the parser with the created data source.

    1. In the Data Source step of the wizard, click Associate Data Source.

    2. In the dialog box that appears, select DataSource from the Data Source drop-down list, and then click OK.

  3. On the Parser Details page, associate the parser with the created data destination.

    1. Click Data Destination in the wizard. In the Data Destination section, click Associate Data Destination.

    2. In the dialog box that appears, select DataPurpose from the Data Destination drop-down list, and then click OK.

    3. In the Data Destination section, view and save the data destination ID. In this example, the ID is 1000.

      When you write the parser script, you must use the data destination ID.

  4. On the Parser Details page, click Parser.
  5. In the code editor, enter a script. For more information about how to modify a script, see Script syntax.

    For more information about function parameters, see Functions.

    // Use the payload() function to obtain the data that is submitted by devices and convert the data to JSON-formatted data. 
    var data = payload("json");
    // Forward submitted TSL data. 
    writeFc(1000, data);
  6. Click Debugging. In the dialog box that appears, select a product and a device, specify a topic, and then enter payload data to check whether the script runs as expected.

    The following figure shows the parameters.调试示例

    The following result indicates that the script runs as expected.

    调试结果
  7. Click Publish.
  8. Go to the Parser tab of the Data Forwarding page. Find the DataParser parser and click Start in the Actions column to start the parser.

  9. Log on to the Function Compute console. On the details page of the function, click the Logs tab to view the execution records of the function. In the upper-right corner of the details page, choose More > Monitoring to view the monitoring statistics on the function.

    Important

    The monitoring statistics on a function are generated 5 minutes after the function runs.