作为开发者,您可以编写提供 HTTP 端点的 Cloud Run functions。您可以使用 HTTP 端点从 ABAP SDK 类 /GOOG/CL_CLOUDFUNC_INVOKER
调用 Cloud Run functions。
此过程涉及使用 Cloud Run 函数的名称和位置来调用该函数,以获取该函数的 HTTP 端点。然后,系统会使用此端点来调用该函数。向 Cloud Run functions 进行身份验证需要 ID 令牌来调用 HTTP 端点。
简要配置步骤如下:
- 在 Google Cloud 中启用 Google Cloud API。
- 创建服务账号并授予角色以获取 Cloud Run 函数详情。
- 创建另一个服务账号并授予调用 Cloud Run functions 的角色。
- 设置对 Cloud Run functions 的身份验证。
- 配置客户端密钥以调用 Cloud Run functions
启用 Google Cloud API
在 Google Cloud 控制台中,启用以下 Google Cloud API:
如需了解如何启用 Google Cloud API,请参阅启用 API。
创建服务账号以获取 Cloud Run 函数详情
在 Google Cloud 控制台中,创建 IAM 服务账号以获取 Cloud Run 函数详情。
如需了解如何创建服务账号,请参阅创建服务账号。
向服务账号授予以下角色:
如需查看相关说明,请参阅授予单个角色。
创建另一个服务账号来调用 Cloud Run functions
在 Google Cloud 控制台中,创建一个专用服务账号来调用 Cloud Run functions。
如需了解如何创建服务账号,请参阅创建服务账号。
根据您调用的 Cloud Run functions 的世代,向服务账号授予适当的角色:
- 对于第 1 代函数:向服务账号授予
Cloud Functions Invoker
角色。 - 对于第 2 代函数:向服务账号授予
Cloud Run Invoker
角色。
如需详细了解调用函数所需的权限,请参阅进行身份验证以便调用。
- 对于第 1 代函数:向服务账号授予
设置对 Cloud Run functions 的身份验证
根据 SAP 系统的托管环境,您可以使用以下方法之一来设置基于令牌的身份验证,以访问 Cloud Run functions API:
在 Compute Engine 虚拟机上托管的 SAP 系统
如需了解在 SAP 系统托管在 Compute Engine 虚拟机实例上时设置身份验证以访问 Cloud Run functions API 的说明,请参阅使用访问令牌进行身份验证。使用您创建的服务账号配置客户端密钥,以获取 Cloud Run 函数详情。
在 Google Cloud 外部托管的 SAP RISE 或 SAP 系统
使用以下身份验证方法之一设置身份验证,以便访问 Cloud Run functions API:
使用您创建的服务账号配置客户端密钥,以获取 Cloud Run 函数详情。
配置客户端密钥以调用 Cloud Run functions
根据 SAP 系统的托管环境,您可以为客户端密钥配置使用不同的值:
在 Compute Engine 虚拟机上托管的 SAP 系统
在 SAP GUI 中,执行事务代码
/GOOG/SDK_IMG
。或者,执行事务代码
SPRO
,然后点击 SAP Reference IMG。点击 ABAP SDK for Google Cloud > 基本设置 > 配置客户端密钥。
点击新建条目。
输入以下字段的值:
字段 说明 Google Cloud 密钥名称 指定客户端密钥配置的名称。 Google Cloud 服务账号名称 指定您已授予调用 Cloud Run functions 权限的服务账号的名称。例如:
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
。Google Cloud 范围 指定访问权限范围 https://www.googleapis.com/auth/cloud-platform
。项目 ID 指定已启用 Cloud Run functions API 的 Google Cloud 项目的 ID。 命令名称 将此字段留空。 授权类 指定授权类 /GOOG/CL_AUTH_ID_TOKEN
。授权字段 将此字段留空。 令牌缓存 将此字段留空。 令牌刷新秒数 将此字段留空。 授权参数 1 将此字段留空。 授权参数 2 将此字段留空。 保存新条目。
在 Google Cloud 外部托管的 SAP RISE 或 SAP 系统
在 SAP GUI 中,执行事务代码
/GOOG/SDK_IMG
。或者,执行事务代码
SPRO
,然后点击 SAP Reference IMG。点击 ABAP SDK for Google Cloud > 基本设置 > 配置客户端密钥。
点击新建条目。
输入以下字段的值:
字段 说明 Google Cloud 密钥名称 指定客户端密钥配置的名称。 Google Cloud 服务账号名称 指定您已授予调用 Cloud Run functions 权限的服务账号的名称。例如:
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
。Google Cloud 范围 指定访问权限范围 https://www.googleapis.com/auth/cloud-platform
。项目 ID 指定已启用 Cloud Run functions API 的 Google Cloud 项目的 ID。 命令名称 将此字段留空。 授权类 按如下方式指定授权类: - 如需使用 JWT 进行身份验证,请指定
/GOOG/CL_AUTH_JWT_ID_TOKEN
。 - 对于使用工作负载身份联合进行身份验证,请指定包含类
/GOOG/CL_AUTH_WIF_ID_TOKEN
的实现的子类。如需了解详情,请参阅实现 ABAP 代码以从 IdP 检索安全令牌。
授权字段 将此字段留空。 令牌缓存 将此字段留空。 令牌刷新秒数 将此字段留空。 授权参数 1 - 对于使用 JWT 的身份验证,如果您为 SSF 应用使用自定义名称,请指定您在创建新的安全存储和转发 (SSF) 应用部分中创建的 SSF 应用的名称。
- 如需使用工作负载身份联合进行身份验证,请指定工作负载身份池 ID。
授权参数 2 - 对于使用 JWT 的身份验证,请将此字段留空。
- 如需使用工作负载身份联合进行身份验证,请指定工作负载身份提供方 ID。
- 如需使用 JWT 进行身份验证,请指定
保存新条目。
获取支持
如果您在解决 ABAP SDK for Google Cloud 问题时需要帮助,请执行以下操作:
在 Cloud 论坛上提出问题并与社区讨论 ABAP SDK for Google Cloud。
收集所有可用的诊断信息,并与 Cloud Customer Care 联系。如需了解如何与 Customer Care 团队联系,请参阅获取 Google Cloud 上的 SAP 支持。