"AWS" (服务连接)

与 200 多个 Amazon Web Services 产品 API 交互.

连接与认证

ServiceConnect["AWS"] 创建到 Amazon Web Services 的连接.
ServiceExecute["AWS","GetService""service"] 获取表示名为 "service" 的 AWS 服务的子 ServiceObject,如 "EC2""CloudFormation".
请参阅使用 Amazon Web Services 进行身份验证工作流程,了解有关使用 AWS 凭证验证新服务连接的说明.

元请求

ServiceExecute["AWS","request",params] 使用参数 params 对主 AWS 服务连接进行操作. 下面给出可能的请求.

服务元数据

请求:

"Services" 列出可用的 AWS 服务

获取子服务对象

请求:

"GetService" 获取表示单个 AWS 服务的子 ServiceObject

参数::
  • "Name"(required)要访问的 AWS 服务
  • 子服务请求

    在使用 ServiceExecute["AWS","GetService","Name""service"] 获取表示单个 AWS 服务 "service" 的子 ServiceObject obj 后,ServiceExecute[obj,"request",params] 使用参数 params"service" 发送一个请求.
    obj["request",param1val1,param2val2,] 等价于 ServiceExecute[obj,"req",{param1val1,param2val2,}].
    可通过 ServiceExecute[obj,"Requests"] 列出服务的可用请求. 请求和参数名称对应于 AWS 官方 API 文档中使用的名称.
    以下额外的元请求适用于所有子服务.

    列出请求

    请求:

    "Requests" 列出服务可用的请求

    请求的元数据

    请求:

    "RequestTemplate" 显示请求的 payload 的预期结构

    "ResponseTemplate" 显示请求的响应数据的预期结构

    参数:
  • "Request"(required)要检查的请求的名称
  • 参数的详细信息

    除了每个请求的 "RequestTemplate" 给出的参数之外,所有服务请求都可以使用以下元参数:
  • "IncludeBodyByteArray"False包括原始响应正文的 ByteArray
    "RawResponse"False返回完整的响应和失败数据
    "RequestEndpoint"Automatic自定义 HTTP 端点
    "RequestRegion"Automatic覆盖全局指定的 AWS 区域
    "ValidateRequest"True发送前验证请求的结构
  • 设置 "IncludeBodyByteArray"True 将使含有原始的没有解析的响应正文的 ByteArray 被包含在响应元数据关联中. 仅当 "RawResponse" 也为 True 时,"IncludeBodyByteArray" 才有意义.
    设置 "RawResponse"True 将使 ServiceExecute 返回包含响应元数据以及已解析响应数据的关联. 如果发生请求错误,关联还包含与失败数据有关的详细信息.
    "RequestEndpoint" 参数的值可以是逐字字符串,如 "https://abcd1234.mediaconvert.us-west-1.amazonaws.com",或含有模板变量 "{service}""{region}" 的字符串,如 "{service}.{region}.c2s.ic.gov". 如果未指定 URL 方案,则假定为服务的默认值.
    默认设置 "ValidateRequest"True 将使服务连接在向服务器发送请求之前在本地验证提供的请求参数.

    范例

    打开所有单元关闭所有单元

    基本范例  (2)

    创建到 AWS 的连接:

    列出可用的 AWS 服务:

    获取表示 Amazon Translate 的子 ServiceObject

    列出服务的可用请求:

    获取 "TranslateText" 请求的模板:

    发送 "TranslateText" 请求:

    获取请求的响应模板:

    请求的参数  (5)

    "IncludeBodyByteArray"  (1)

    设置 "IncludeBodyByteArray"True 使得 "BodyByteArray" 键被包含在原始响应关联中:

    "BodyByteArray" 的值是直接来自服务器的原始响应正文:

    如果请求失败,将包括 "BodyByteArray",而无视 "IncludeBodyByteArray" 的设置:

    "RawResponse"  (1)

    设置 "RawResponse"True 将返回包含响应数据和元数据的关联:

    如果请求失败,"Data" 键的值将是 Failure 对象:

    "RequestEndpoint"  (1)

    某些情况可能需要使用非默认服务端点:

    为自定义端点提供 "RequestEndpoint" 参数:

    "RequestRegion"  (1)

    有些服务仅在某些地区可用:

    "RequestRegion" 参数将依请求覆盖默认区域:

    "ValidateRequest"  (1)

    默认情况下,在发送请求参数之前会根据预期的结构进行验证:

    如果设置 "ValidateRequest"False,则本地验证被禁用,有可能导致严重的错误:

    Possible Issues  (1)

    如果采用默认设置,服务器错误可能导致 ServiceExecute 发出一条消息,并将指令原样返回:

    使用 "RawResponse"True 则会返回含有 Failure 对象的关联: