"AWS" (サービス接続)

200を超えるAmazon Web Services製品APIとインタラクトする.

接続と認証

ServiceConnect["AWS"]は,Amazon Web Servicesへの接続を作成する.
ServiceExecute["AWS","GetService""service"]は,"EC2""CloudFormation"のような,"service"という名前のAWSサービスを表す子ServiceObject を取り出す.
AWS認証情報を使用して新しいサービス接続を認証する手順については,ワークフローページの「Amazon Web Servicesで認証する」を参照のこと.

メタリクエスト

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" リクエストのペイロードの期待される構造を示す

    "ResponseTemplate" リクエストの応答データの期待される構造を示す

    パラメータ:
  • "Request"(必須)検査リクエストの名称
  • パラメータの詳細

    各リクエストの"RequestTemplate"によって与えられるパラメータに加え,次のメタパラメータがすべてのサービスリクエストで使用可能である.
  • "IncludeBodyByteArray"False生の応答本体のByteArrayを含める
    "RawResponse"False完全な応答と失敗データを返す
    "RequestEndpoint"AutomaticカスタムのHTTPエンドポイント
    "RequestRegion"Automaticグローバルに指定されたAWSリージョンをオーバーライドする
    "ValidateRequest"True送信前にリクエストの構造を検証する
  • "IncludeBodyByteArray"Trueと設定すると,生で未解析の応答本文を含むByteArray が応答メタデータの連想に含まれるようになる."IncludeBodyByteArray""RawResponse"Trueの場合にのみ関係する.
    "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"の値は,サーバから直接得た生の応答本体である:

    リクエストが失敗すると,"IncludeBodyByteArray"の設定にかかわらず"BodyByteArray"が含まれる:

    "RawResponse"  (1)

    "RawResponse"Trueと設定すると,応答データとメタデータを含む連想が返される:

    リクエストが失敗すると,"Data"キーの値はFailureオブジェクトになる:

    "RequestEndpoint"  (1)

    状況によっては,デフォルト以外のサービスエンドポイントを使用しなければならなくなるかもしれない:

    "RequestEndpoint" パラメータでカスタムのエンドポイントを与える:

    "RequestRegion"  (1)

    サービスの中には特定のリージョンでしか利用できないものもある:

    "RequestRegion"パラメータは,リクエストごとにデフォルトのリージョンをオーバーライドする:

    "ValidateRequest"  (1)

    デフォルトで,リクエストの送信前にリクエストパラメータが期待される構造に対して検証される:

    "ValidateRequest"Falseとすると,ローカルでの検証は行われなくなるが,こうするとサーバエラーになるかもしれない:

    考えられる問題  (1)

    デフォルト設定では,サーバエラーによってServiceExecuteがメッセージを出し,未評価で返されることになる:

    代りに"RawResponse"Trueを使ってFailureオブジェクトを含む連想を返すことができる: