作为开发者,您可以编写提供 HTTP 端点的 Cloud Functions 函数。您可以使用 ABAP SDK 类 /GOOG/CL_CLOUDFUNC_INVOKER
的 HTTP 端点来调用 Cloud Functions 函数。
该过程涉及使用 Cloud Functions 函数的名称和位置调用该函数来获取函数的 HTTP 端点。然后,此端点用于调用该函数。向 Cloud Functions 进行身份验证时,需要使用 ID 令牌来调用 HTTP 端点。
简要配置步骤如下:
- 在 Google Cloud 中启用 Google Cloud API。
- 创建服务账号并授予角色以获取 Cloud Functions 函数详细信息。
- 创建另一个服务账号并授予角色以调用 Cloud Functions 函数。
- 设置对 Cloud Functions 函数的身份验证。
- 配置客户端密钥以调用 Cloud Functions 函数。
启用 Google Cloud API
在 Google Cloud 控制台中,启用以下 Google Cloud API:
如需了解如何启用 Google Cloud API,请参阅启用 API。
创建服务账号以获取 Cloud Functions 函数详细信息
在 Google Cloud 控制台中,创建 IAM 服务账号以获取 Cloud Functions 函数详细信息。
如需了解如何创建服务账号,请参阅创建服务账号。
向服务账号授予以下角色:
如需查看相关说明,请参阅授予单个角色。
创建另一个服务账号以调用 Cloud Functions 函数
在 Google Cloud 控制台中,创建一个专用服务账号来调用 Cloud Functions 函数。
如需了解如何创建服务账号,请参阅创建服务账号。
根据您正在调用的 Cloud Functions 函数的世代,向服务账号授予适当的角色:
- 对于第 1 代函数:向服务账号授予
Cloud Functions Invoker
角色。 - 对于第 2 代函数:向服务账号授予
Cloud Run Invoker
角色。
如需详细了解调用函数所需的权限,请参阅进行身份验证以便调用。
- 对于第 1 代函数:向服务账号授予
设置对 Cloud Functions 函数的身份验证
根据 SAP 系统的托管环境,您可以使用以下方法之一设置基于令牌的身份验证来访问 Cloud Functions API:
在 Compute Engine 虚拟机上托管的 SAP 系统
如需了解如何设置身份验证以在 Compute Engine 虚拟机实例上托管 SAP 系统时访问 Cloud Functions API,请参阅使用访问令牌进行身份验证。使用您创建的服务账号配置客户端密钥以获取 Cloud Functions 函数详细信息。
在 Google Cloud 外部托管的 SAP RISE 或 SAP 系统
使用以下任一身份验证方法设置身份验证以访问 Cloud Functions API:
使用您创建的服务账号配置客户端密钥以获取 Cloud Functions 函数详细信息。
配置客户端密钥以调用 Cloud Functions 函数
根据 SAP 系统的托管环境,您可以为客户端密钥配置使用不同的值:
在 Compute Engine 虚拟机上托管的 SAP 系统
在 SAP GUI 中,执行事务代码
/GOOG/SDK_IMG
。或者,执行事务代码
SPRO
,然后点击 SAP Reference IMG。点击 ABAP SDK for Google Cloud > 基本设置 > 配置客户端密钥。
点击新建条目。
输入以下字段的值:
字段 说明 Google Cloud 密钥名称 指定客户端密钥配置的名称。 Google Cloud 服务账号名称 指定您已授予调用 Cloud Functions 函数的权限的服务账号的名称。例如:
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
。Google Cloud 范围 指定访问权限范围 https://www.googleapis.com/auth/cloud-platform
。项目 ID 指定已启用 Cloud 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 Functions 函数的权限的服务账号的名称。例如:
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
。Google Cloud 范围 指定访问权限范围 https://www.googleapis.com/auth/cloud-platform
。项目 ID 指定已启用 Cloud 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 支持。