将 Cloud Storage 作为 SAP 的内容仓库来实现

本文档介绍了如何使用本地版本或任何云版本的 ABAP SDK for Google Cloud 将 Cloud Storage 用作 SAP 的内容存储库。Cloud Storage 可以满足与 SAP 相关的数据存储需求,用于存储各种文件类型(例如 PDF 和图片)以及归档业务数据。

通过在 Cloud Storage 中存储 SAP 文档和归档业务数据,您可以实现可扩缩且经济高效的解决方案,同时保持与 SAP 工作流的兼容性。

将 Cloud Storage 用作内容存储库时,您可以存储文件,文件大小上限为 5 TB。这是在 Google Cloud上向 Cloud Storage 存储桶单次上传的大小上限。

数据流程图

下图展示了如何使用 ABAP SDK for Google Cloud 将 SAP 系统中的文档和业务数据归档到 Cloud Storage。

用作 SAP 的内容存储库的 Cloud Storage

如上图所示,从 SAP 到 Google Cloud的数据流包含以下组件:

  • 附加到业务目标的文档:表示附加到您要存储的业务目标的文档,例如账单附件。

  • SAP 中的业务数据:表示您要从 SAP ERP 系统归档的业务数据。

  • SAP 归档程序:这是 SAP 中的程序,用于处理将业务数据从 SAP 数据库移至存储空间的过程。

  • SAP ArchiveLink 服务:SAP ArchiveLink 服务充当 SAP 系统与 Cloud Storage 之间的桥梁,用于移动文档和业务数据。

  • ABAP SDK for Google Cloud:该 SDK 可实现 SAP 系统与 Google Cloud之间的通信。它提供了与 Google Cloud API 进行互动所需的函数。

  • SAP Internet Communication Manager (ICM):这是 SAP NetWeaver 应用服务器中用于处理网络通信的组件。它充当基于 HTTP 的请求的网关。

  • Cloud Storage:这是由 Google Cloud提供的云端对象存储服务,用于存储文档和业务数据。

安全性

归档 SAP 数据时,您的数据会通过 Cloud Storage API 安全地传输到 Cloud Storage。此通信通过使用 HTTPS 加密和基于 OAuth 的身份验证来进行保护。随后,TLS 加密可确保您的数据在互联网上的整个传输过程中保持安全。

启用 Google Cloud后,静态加密可保护存储的数据,无论数据在磁盘上还是在备份介质中。默认情况下,由 Google 会管理加密密钥,为您的静态数据提供基准级别的保护。虽然 Google 会管理默认加密密钥,但您也可以使用 Cloud Key Management Service 创建和管理自己的加密密钥,以增强控制。

在 Cloud Storage 上,您可以通过 IAM 实现访问权限控制,从而进一步保护归档数据,防止其被人为篡改。仅提供具有 WRITEREAD 权限的必要服务账号。如果您需要人工查看,请扩展 Cloud Storage 存储桶的严格 VIEWREAD 权限。

通过授予最小访问权限,确保遵循 IAM 最佳实践。仅授予用户或服务账号执行其特定任务所绝对必要的权限。

价格

ABAP SDK for Google Cloud 可免费安装和使用,其中包含一个子软件包,可让您将 Cloud Storage 用作 SAP 的内容存储库。 不过,您需要承担因 Cloud Storage 中的数据量而产生的费用。如需了解 Cloud Storage 价格,请参阅价格

将 Cloud Storage 设置为 SAP 的内容存储库

本部分介绍了将 Cloud Storage 配置为 SAP 系统内容存储库的步骤。

启用 Cloud Storage API

在您的 Google Cloud 项目中启用 Cloud Storage API。 如需了解如何启用 Google Cloud API,请参阅启用 API

创建 Cloud Storage 存储桶

您的 SAP 数据存储在 Cloud Storage 存储桶中。如需创建存储桶,请前往创建存储桶,然后按照提供的说明操作。请务必为您的数据选择适当的存储类别。如需全面了解 Cloud Storage 中可用的存储类别,请参阅存储类别

如需了解与创建和管理存储桶相关的最佳实践,请参阅存储桶命名准则存储桶位置

安装 SDK

当您安装本地版本或任何云版本的 ABAP SDK for Google Cloud 的最新版本时,系统会为您安装用于将 Cloud Storage 用作内容存储库的子软件包。如需了解如何安装 SDK,请参阅安装和配置本地版本或任何云版本的 ABAP SDK for Google Cloud

如果您已在使用本地版本或任何云版本的 ABAP SDK for Google Cloud 1.9 版或更低版本,请将您的 SDK 更新到最新版本。如需了解详情,请参阅更新 ABAP SDK for Google Cloud

此功能仅适用于本地版本或任何云版本的 ABAP SDK for Google Cloud。

设置身份验证

在本地版本或任何云版本的 ABAP SDK for Google Cloud 中设置身份验证以访问 Google Cloud API 后,您可以使用相同的身份验证方法来访问 Cloud Storage API。如需了解如何在本地版本或任何云版本的 ABAP SDK for Google Cloud 中设置身份验证,请参阅身份验证概览

请记下您在身份验证设置过程中创建的客户端密钥。在将 Cloud Storage 配置为内容存储库时,您可以使用此客户端密钥。

所需 IAM 角色

确保您在客户端密钥配置中配置的专用于 API 访问的服务账号可以访问 Cloud Storage 存储桶。

在客户端密钥配置中配置的服务账号必须具有以下 IAM 角色:

创建后台用户

如需将 Cloud Storage 作为 SAP 的内容存储库,SDK 随附 SICF HTTP 处理程序类 /GOOG/CL_CONTENT_REPO_GCS

如需在运行时调用 SICF HTTP 处理程序类 /GOOG/CL_CONTENT_REPO_GCS,您需要创建后台用户。

如需创建后台用户,请执行以下操作:

  1. 创建后台用户。如需了解如何创建后台用户,请参阅创建后台用户

  2. 提供用户 ID:ARCHIVEUSER

  3. 为后台用户设置初始密码。

    记下用户 ID 和密码,以便稍后使用。

SAP ArchiveLink 服务需要一个 SICF 节点,才能在 SAP 和 Cloud Storage 之间建立通信链接。

如需创建 SICF 节点,请执行以下操作:

  1. 在 SAP GUI 中,打开事务 SICF
  2. 前往您要创建新节点的适当位置。
  3. 右键点击父级节点,然后选择新建子元素
  4. 为 SAP ArchiveLink 服务输入名称,例如 gcs_archivelink
  5. 双击新创建的服务以访问其属性。
  6. 前往登录数据标签页。
  7. 程序字段中,选择需要登录数据
  8. 为您在创建后台用户部分中创建的后台用户提供后台用户 ARCHIVEUSER 和密码。
  9. 前往处理程序列表标签页。
  10. 如需为内容存储库配置 HTTP 处理程序类,请输入 /GOOG/CL_CONTENT_REPO_GCS
  11. 保存新条目。

创建内容存储库定义

为 Cloud Storage 集成创建内容存储库定义。

如需创建内容存储库定义,请执行以下操作:

  1. 在 SAP GUI 中,打开事务 OAC0
  2. 点击新建条目
  3. 为内容存储库输入一个名称。
  4. 输入内容存储库的说明。
  5. 文档区域字段中,选择 ARCHIVELINK
  6. 存储类型字段中,选择 HTTP 内容服务器
  7. 版本号字段中,输入您的内容服务器版本号。
  8. HTTP 服务器字段中,输入 SAP 系统的 HTTP 主机名。
  9. 端口号字段中,输入 SAP 系统的 HTTP 端口。如果您使用的是 HTTPS 端口,请在 SSL 端口号字段中输入该端口号。
  10. HTTP 脚本字段中,输入您为 SAP ArchiveLink 服务创建的 SICF 节点的名称及其路径,例如 sap/bc/gcs_archivelink

    此信息用于 SAP 应用与内容服务器 SICF 节点之间的内部通信。

  11. 保存新条目。

为 Cloud Storage 配置内容存储库

配置连接参数,让 SAP 系统以内容存储库的身份与 Cloud Storage 进行互动。

如需配置内容存储库,请执行以下操作:

  1. 在 SAP GUI 中,执行事务代码 /GOOG/SDK_IMG

    或者,执行事务代码 SPRO,然后点击 SAP Reference IMG

  2. 依次点击 ABAP SDK for Google Cloud > 基本设置 > 内容存储库:配置

  3. 点击新建条目

  4. 输入以下字段的值:

    字段 数据类型 说明
    内容存储库 字符串 内容存储库定义的名称。如需了解详情,请参阅创建内容存储库定义
    Google Cloud 密钥名称 字符串 您在身份验证设置期间为了向 Google Cloud 进行身份验证而配置的客户端密钥。
    Cloud Storage 存储桶 字符串 您要存储 SAP 数据的 Cloud Storage 存储桶的名称。
    数据文件命名惯例 字符串 存储在 Cloud Storage 存储桶名称中的数据文件的文件命名惯例。 从下列选项中选择一项:
    • 将数据文件存储为 DOC_ID-data
    • 将数据文件存储为数据
  5. 保存新条目。

您的内容存储库已准备就绪。您可以使用已配置的内容存储库来存储文档,并针对 SAP 支持的应用场景归档业务数据。

使用场景

您可以将 Cloud Storage 用作以下应用场景的内容存储库。

存储文档

如需将附加到业务对象的文档存储在 Cloud Storage 存储桶中,请在事务 OAC3 中选择相关的业务对象,然后配置您在创建内容存储库定义部分中创建的内容存储库。

如需了解如何配置内容存储库以存储附加到业务对象的文档,请参阅 SAP 文档如何配置 Archivelink 场景

归档数据

如需在 Cloud Storage 存储桶中归档业务数据,请使用 SAP Archive Administration (SARA) 事务来配置您在创建内容存储库定义部分中创建的内容存储库。

如需了解如何配置内容存储库以归档业务数据,请参阅 SAP 文档归档管理

增强出口位置

将 Cloud Storage 用作 SAP 的内容存储库时,您可以使用增强点,在其中插入代码以添加自定义功能。

下表列出了这些增强点支持的函数、方法以及包含增强点的类。

函数 方法 Spot 选项
DOC_SEARCH 方法中的额外预处理 /GOOG/CL_CONTENT_REPO_GCS DOC_SEARCH /GOOG/ES_CONTENT_REPO_GCS /GOOG/POST_PROCESS_DOC_SEARCH
APPEND 方法中的额外预处理 /GOOG/CL_CONTENT_REPO_GCS APPEND /GOOG/ES_CONTENT_REPO_GCS /GOOG/PRE_PROCESS_APPEND
APPEND 方法后的额外后期处理 /GOOG/CL_CONTENT_REPO_GCS APPEND /GOOG/ES_CONTENT_REPO_GCS /GOOG/POST_PROCESS_APPEND
PROCESS_CREATE 方法中的额外预处理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_CREATE /GOOG/ES_CONTENT_REPO_GCS /GOOG/PRE_PROCESS_CREATE
PROCESS_CREATE 方法中的额外后期处理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_CREATE /GOOG/ES_CONTENT_REPO_GCS /GOOG/POST_PROCESS_CREATE
PROCESS_CREATE_POST 方法中的额外预处理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_CREATE_POST /GOOG/ES_CONTENT_REPO_GCS /GOOG/PRE_PROCESS_CREATE_POST
PROCESS_CREATE_POST 方法中的额外后期处理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_CREATE_POST /GOOG/ES_CONTENT_REPO_GCS /GOOG/POST_PROCESS_CREATE_POST
PROCESS_GET 方法中的额外后期处理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_GET /GOOG/ES_CONTENT_REPO_GCS /GOOG/POST_PROCESS_GET
PROCESS_UPDATE 方法中的额外预处理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_UPDATE /GOOG/ES_CONTENT_REPO_GCS /GOOG/PRE_PROCESS_UPDATE
PROCESS_UPDATE 方法中的额外后期处理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_UPDATE /GOOG/ES_CONTENT_REPO_GCS /GOOG/POST_PROCESS_UPDATE
PROCESS_UPDATE_POST 方法中的额外预处理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_UPDATE_POST /GOOG/ES_CONTENT_REPO_GCS /GOOG/PRE_PROCESS_UPDATE_POST
PROCESS_UPDATE_POST 方法中的额外后期处理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_UPDATE_POST /GOOG/ES_CONTENT_REPO_GCS /GOOG/POST_PROCESS_UPDATE_POST
删除后的额外后期处理 /GOOG/CL_CONTENT_REPO_GCS PROCESS_DELETE /GOOG/ES_CONTENT_REPO_GCS /GOOG/POST_PROCESS_DELETE

获取支持

如果您在解决 ABAP SDK for Google Cloud 问题时需要帮助,请执行以下操作:

社区资源

您可以探索以下社区资源,了解如何将 Cloud Storage 用作 SAP 的内容存储库: