适用于 SAP ABAP 的 Amazon SDK 问题排查 - Amazon 适用于 SAP 的 SDK ABA
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

适用于 SAP ABAP 的 Amazon SDK 问题排查

本节针对可能出现的错误场景介绍了问题排查步骤。

导入失败

问题:“CL_SYSTEM_UUID”类中不含“IF_SYSTEM_UUID_RFC4122_STATIC”接口

原因:系统缺失 SAP Note 0002619546

解决方案:确保对系统应用 SAP Note 0002619546

未指定的位置限制

问题:未指定的位置限制无法兼容用于接收请求的 region 特定端点

原因io_createbucketconfiguration 参数中缺失 Amazon S3 存储桶的 Amazon 区域

解决方案:在任意区域(us-east-1 除外)创建存储桶,同时使用 createbucket() 中的 io_createbucketconfiguration 参数为 Amazon S3 存储桶指定区域 并不一定要为 us-east-1 指定限制。

以下示例显示了正确配置的 io_createbucketconfiguration 参数。

createbucket( iv_bucket = 'test-bucket' io_createbucketconfiguration = NEW /aws1/cl_s3_createbucketconf( 'us-west-1' ) ).

SSL 错误

问题:SSL 服务器证书与主机名不匹配 SSL 与 docs.aws.amazon.com:443 握手失败:SSSLERR_NO_SSL_RESPONSE

原因:没有为 DEFAULT 配置文件的 TRUE 设置 icm/HTTPS/client_sni_enabled 参数

解决方案:根据以下问题排查步骤,解决给定问题或其他与 SSL 有关的问题

  1. 打开 SAPGUI 并转到命令栏。

  2. 运行 RZ10 事务。

  3. 转到配置文件并选择 DEFAULT 配置文件。系统会自动填充版本。

  4. 编辑配置文件部分,选择扩展维护,然后选择更改

  5. 搜索 icm/HTTPS/client_sni_enabled 参数。

    • 如果存在此参数,则编辑参数值并将其设为 TRUE

    • 如果不存在此参数,则使用以下步骤创建参数。

      1. 选择参数

        注意

        请确保您选择的是创建型参数,而不是编辑型参数(铅笔图标)。

      2. 参数名称字段中输入 icm/HTTPS/client_sni_enabled

      3. 参数值字段中输入 TRUE

      4. 选择 Save(保存)。

  6. 将上述更改保存在 DEFAULT 配置文件中,然后退出。

配置文件配置

问题:无法使用 <sid>:<client> 默认场景查找 <profile_name> 配置文件下的配置

原因:<profile_name> 不正确或尚未配置

解决方案:根据以下步骤设定配置文件

  1. 打开 SAPGUI 并运行 /n/AWS1/IMG 事务。

  2. 转到应用程序配置 > SDK 配置文件

    • 若已设定配置文件,则验证配置文件名称是否正确。

    • 若未设定配置文件,则按步骤操作。

  3. 选择新建条目

    1. 输入配置文件的名称和描述。

    2. 选择 Save(保存)。

  4. 选择上一步创建的条目,然后选择身份验证和设置

  5. 选择新建条目,输入以下详细信息,然后选择保存

    • SID

    • 客户端

    • 场景 ID

    • Amazon 区域

    • 身份验证方法

      • 为运行在 Amazon 中的 SAP 系统选择通过元数据验证的实例角色

      • 为运行在本地或其他云中的 SAP 系统选择 SSF 存储中的凭证

  6. 选择 IAM 角色映射 > 新建条目,输入以下详细信息,然后选择保存

    • 序列号

    • IAM 逻辑角色

    • IAM 角色 ARN

IAM 授权

问题:无法代入 <iam_role_arn> 角色,或者 <user_arn> 用户无权在 <iam_role_arn> 资源上执行 sts:AssumeRole

原因:以下可能是造成此错误的原因

  • 指定的 IAM 角色 ARN 不正确

  • IAM 用户无权访问 IAM 角色

  • 已代入的 IAM 角色未与正在代入的 IAM 角色或 IAM 用户建立信任关系

解决方案:采用以下步骤,确保 IAM 角色 ARN 正确无误

  1. 打开 SAPGUI 并运行 /n/AWS1/IMG 事务。

  2. 转到应用程序配置 > SDK 配置文件,然后选择经过 IAM 角色配置的配置文件。

  3. 选择 IAM 角色映射,然后验证或更正 IAM 角色 ARN。

    1. 如果 IAM 角色 ARN 正确,则确保已妥善配置 IAM 角色。有关更多信息,请参阅 IAM 角色问题排查

必要操作执行授权

问题:<user_arn> 用户无权在 <resource_arn> 资源上执行 <action> 操作

原因:用户无权执行操作

解决方案:必须使用 resource_arn 的所需权限设置 user_arn,以执行指定的 action 操作 有关更多信息,请参阅访问 IAM 资源所需的权限

活动场景

问题:未配置活动场景

原因:缺失活动场景设置

解决方案:请参阅运行时设置,以配置活动场景

代码中的特殊字符

警告:ABAP 单词中不得含有 0x00A0 字符

注意

在收到这条警告之前,您可能会先收到各种错误消息。

原因:复制并粘贴不同来源的代码,会在您的代码中插入特殊字符

解决方案:在粘贴 ABAP 源代码编辑器中的代码时会看到以下弹出窗口

检测到不间断空格字符。是否转换为空格?

选择作为答案。此外,亚马逊建议您选定要复制的代码,而不是使用代码框中的复制按钮。

连接

问题:SCLNT_HTTP(411):未能直接连接到 tla.region.amazonaws.com:443:NIECONN_REFUSED(-10)

原因:SAP 系统未联网,无法与 tla.region.amazonaws.com 的端口 443 建立 TCP/IP 连接

解决方案:SAP 系统必须通过直接方式或使用代理服务器,与 HTTPS 端口 443 上的 Amazon 端点建立连接 您可以使用以下选项之一建立/验证互联网连接。

  • 通过 NAT 或互联网网关,直接与互联网建立出站连接

  • 通过代理服务器连接

    有关更多信息,请参阅通过代理服务器连接