All Products
Search
Document Center

EventBridge:Route events to Function Compute

更新時間:Dec 23, 2024

You can use event rules to filter events and route the events to Function Compute. This topic describes the prerequisites and procedure for routing custom events to Function Compute. This topic also describes how to verify the results.

Before you start

Step 1: Create a custom event source

  1. Log on to the EventBridge console. In the left-side navigation pane, click Event Buses.

  2. In the top navigation bar, select a region. On the Event Buses page, click the name of the custom event bus that you want to manage.

  3. In the left-side navigation pane, click Event Sources and then click Add Event Source.

  4. In the Add Custom Event Source panel, configure the Name and Description parameters, select Custom Application from the Event Provider drop-down list, and then click OK.

Step 2: Create an event rule

Important

The event targets that you want to configure for an event rule must reside in the same region as the event rule.

  1. Log on to the EventBridge console. In the left-side navigation pane, click Event Buses.

  2. In the top navigation bar, select a region. On the Event Buses page, click the name of the event bus that you want to manage.

  3. In the left-side navigation pane, click Event Rules. On the page that appears, click Create Rule.

  4. In the Create Rule wizard, perform the following steps:

    1. In the Configure Basic Info step, enter a rule name in the Name field and a rule description in the Description field. Then, click Next Step.

    2. In the Configure Event Pattern step, set the Event Source Type parameter to Custom Event Source and select the custom event source that you configured in Step 1 from the Event Source drop-down list. Then, in the Pattern Content code editor, specify an event pattern and click Next step.

      For more information, see Event patterns.

    3. In the Configure Targets step, configure event targets and click Create.

      Note

      You can configure up to five event targets for an event rule.

      • Service Type: Select Function Compute.

      • Service: Select the service that you created in Function Compute.

      • Function: Select the function that you created in Function Compute.

      • Event: Select Template.

        The following sample code provides examples of variables and templates.

        Sample variables:

        {
          "source":"$.source",
          "type":"$.type"
        }

        Sample template:

        The event comes from ${source},event type is ${type}.

        For more information, see Event transformation.

      • Service Version and Alias: Select a service version or a service alias.

        • Default Version: The value is fixed to LATEST.

        • Specified Version: Select a service version. For more information, see Manage versions.

        • Specified Alias: Select a service alias. For more information, see Manage aliases.

      • Invocation Mode: Select Synchronous or Asynchronous. For more information, see Synchronous invocations and Overview.

Step 3: Publish an event

  1. Log on to the EventBridge console. In the left-side navigation pane, click Event Buses.

  2. In the top navigation bar, select a region.
  3. On the Event Buses page, find the event bus to which you want to publish an event and click Publish Event in the Operations column.
    Note You can publish events only to custom event buses in the EventBridge console.
  4. In the Publish Event to Custom Event Bus panel, select a custom event source from the Custom Event Source drop-down list, enter the event content in the Event Body code editor, and then click OK.
    For more information about the event parameters, see Overview.
Note

If you want to republish an event that failed to be published, you must define the logic to handle exceptions for the Function Compute function. After EventBridge detects an exception that is thrown by the function, EventBridge republishes the event to Function Compute.

Verify the result

To verify the results, you can view logs in the Function Compute console.

  1. Log on to the Function Compute console.

  2. In the left-side navigation pane, click Functions. In the top-navigation bar of the page that appears, select the region where the function that you want to manage resides.

  3. On the Functions page, click the name of the function that you want to manage.

  4. On the Function Details page, click the Logs tab and then click Function Logs to view the logs of the function.

    2n968ZJ9Lj

FAQ

How can I locate the issue if the event fails to be published?

If an event fails to be published, you can view the response to the publishing request for troubleshooting. You can go to the EventBridge console and view the related information in the Event Delivery section of the Event Trace message. Then, take appropriate measures based on the response returned.

What can I do if an event fails to be published to Function Compute and the "[500]ConnectErrorconnectiontimedout" error is returned in the response?

You can perform the following steps:
  1. Log on to the Function Compute console. Execute the function to which the event is routed and check the execution duration.
  2. If the execution duration is longer than 15s, check the network connection. If the execution duration is shorter than 15s, check whether you can access the endpoint for the region where the service to which the event is routed is deployed.
  3. If you cannot access the endpoints of the region where Function Compute is deployed, contact the Function Compute engineers.