Code Engine

IBM Cloud Code Engine Code Engine 代表一个服务目的地,可在此以编程方式消费收到的通知。 例如,有关事件的传入通知可触发 Code Engine 目的地,使后端微服务根据传入通知的内容采取行动。

配置 Code Engine 目标

在将 Code Engine 配置为 run type 作业的目标地址之前,请确保 Code Engine 项目 创建并配置工作 与 Event Notifications 实例位于同一账户中。

如果有 run type 作业,如果使用 Event Notifications CLI 或 API 将 Code Engine 作业配置为目标,请确保已启用授权以在服务之间授予访问权。 有关更多信息,请参阅使用授权来授予服务之间的访问权

要配置 Code Engine 目标,请按照以下步骤操作:

  1. 在您的 Event Notifications 实例中,点击 “目的地”

  2. 点击 “创建”以添加一个新目的地。

  3. “创建目的地”对话框中输入以下目的地详细信息:

    • 名称:请为您的目的地输入名称。
    • 描述:可选,为您的目的地输入描述。
    • 类型:在 “目的地”下,选择 Code Engine 列表中的选项作为您的目的地类型。
    • 运行类型:从以下运行类型中选择一项:Code Engine 作业或 Code Engine 应用程序。

    如果所选的运行类型为“作业”,请提供以下详细信息:

    • 项目名称:从列表中选择“Code Engine”项目名称。 否则,请点击 “创建新项目”以创建一个 Code Engine 项目。

      当您选择一个 Code Engine 项目时,如果尚未建立授权关系,系统会在两个服务实例之间内部建立服务间的授权关系。

    • 作业名称:从列表中选择作业名称。

    如果所选的运行类型为“应用程序”,请提供以下详细信息:

    • URL: 访问 Code Engine 应用程序的加密页面 URL (仅限 HTTPS )。
    • 动词:选择要调用的动词(GET 或 POST)。
    • 标头:可选,输入要传递给 Code Engine 应用程序的标头列表。
  4. 单击 “创建目标”

Event Notifications 现在支持 Code Engine 函数。

使用授权来授予服务之间的访问权

使用 IBM Cloud® Identity and Access Management (IAM) 可创建或除去授权,授权用于授予一个服务对另一个服务的访问权。

在控制台中创建授权

  1. 在 IBM Cloud 控制台中,单击 管理 > 访问权 (IAM),然后选择 授权

  2. 单击创建

  3. 选择源帐户。

    • 如果需要访问目标服务的源服务位于此帐户中,请选择 此帐户
  4. 选择一项**源服务,例如 **Event Notifications.

  5. 指定是希望根据所选属性对所有资源或资源进行授权。 如果已根据所选属性选择“资源”,请指定 添加属性: 仅源资源组或仅源服务实例。

  6. 选择 目标服务 作为 Code Engine

  7. 对于目标服务,指定是希望将授权用于所有项目,仅用于帐户中的特定项目,还是仅用于特定资源组中的项目。

  8. 选择两个角色 ("查看者" 和 "写入者") 以分配对访问目标服务的源服务的访问权。

    如果在服务到服务授权期间只选择了这两个角色中的一个(读取器或写入器),则无法触发作业或配置目标。 在这些情况下,您会收到服务到服务授权失败的错误信息。 确保在选择了两种角色的服务之间重新创建授权。

  9. 单击授权

使用 CLI 创建授权

要授权源服务访问目标服务,请运行 ibmcloud iam authorization-policy-create 命令。

有关可用于此命令的所有参数的更多信息,请参阅 ibmcloud iam authorization-policy-create

访问 Code Engine 作业中的事件有效内容

事件有效载荷已通过环境变量传输到 Code Engine 作业,可使用 ibmendata 环境变量检索该变量。

测试 Code Engine 目标配置

您可以在目的地旁边的选项菜单中测试“Code Engine”目的地。 只需单击一下,即可测试所提供的配置是否正确。

有关测试目的地的更多信息,请参阅 测试 目的地。

Code Engine 重试策略

在向 Code Engine 发送通知时,网络错误和应用程序故障等问题可能会导致请求失败。Event Notifications 会自动重试失败的请求,以提供恢复能力。

有关重试行为的详细信息,包括重试尝试、延迟和超时值,请参阅 目的地的重试策略