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 目标,请按照以下步骤操作:
-
在您的 Event Notifications 实例中,点击 “目的地”。
-
点击 “创建”以添加一个新目的地。
-
在 “创建目的地”对话框中输入以下目的地详细信息:
- 名称:请为您的目的地输入名称。
- 描述:可选,为您的目的地输入描述。
- 类型:在 “目的地”下,选择 Code Engine 列表中的选项作为您的目的地类型。
- 运行类型:从以下运行类型中选择一项:Code Engine 作业或 Code Engine 应用程序。
如果所选的运行类型为“作业”,请提供以下详细信息:
-
项目名称:从列表中选择“Code Engine”项目名称。 否则,请点击 “创建新项目”以创建一个 Code Engine 项目。
当您选择一个 Code Engine 项目时,如果尚未建立授权关系,系统会在两个服务实例之间内部建立服务间的授权关系。
-
作业名称:从列表中选择作业名称。
如果所选的运行类型为“应用程序”,请提供以下详细信息:
- URL: 访问 Code Engine 应用程序的加密页面 URL (仅限 HTTPS )。
- 动词:选择要调用的动词(GET 或 POST)。
- 标头:可选,输入要传递给 Code Engine 应用程序的标头列表。
-
单击 “创建目标”。
Event Notifications 现在支持 Code Engine 函数。
使用授权来授予服务之间的访问权
使用 IBM Cloud® Identity and Access Management (IAM) 可创建或除去授权,授权用于授予一个服务对另一个服务的访问权。
在控制台中创建授权
-
在 IBM Cloud 控制台中,单击 管理 > 访问权 (IAM),然后选择 授权。
-
单击创建。
-
选择源帐户。
- 如果需要访问目标服务的源服务位于此帐户中,请选择 此帐户。
-
选择一项**源服务,例如 **Event Notifications.
-
指定是希望根据所选属性对所有资源或资源进行授权。 如果已根据所选属性选择“资源”,请指定 添加属性: 仅源资源组或仅源服务实例。
-
选择 目标服务 作为 Code Engine。
-
对于目标服务,指定是希望将授权用于所有项目,仅用于帐户中的特定项目,还是仅用于特定资源组中的项目。
-
选择两个角色 ("查看者" 和 "写入者") 以分配对访问目标服务的源服务的访问权。
如果在服务到服务授权期间只选择了这两个角色中的一个(读取器或写入器),则无法触发作业或配置目标。 在这些情况下,您会收到服务到服务授权失败的错误信息。 确保在选择了两种角色的服务之间重新创建授权。
-
单击授权。
使用 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 会自动重试失败的请求,以提供恢复能力。
有关重试行为的详细信息,包括重试尝试、延迟和超时值,请参阅 目的地的重试策略。