Amazon S3 の例 - Mule 4

次に、Amazon S3 Connector の一般的なユースケースを示します。

  • URL から Amazon S3 に画像を保存し、画像を取得して表示する。

  • Amazon S3 で画像リンクを作成し、画像リンクと共に Twitter で状況を更新する (このドキュメントに記載されていないユースケース)。

ユースケース: URL から Amazon S3 に画像を保存して取得する

URL から Amazon S3 に画像を保存し、画像を取得して表示します。 Anypoint Studio でこのサンプルが機能するように、Amazon Web Services ログイン情報を提供する必要があります。コードで変数をそれらの値に置き換えるか、​src/main/resources/mule-artifact.properties​ ファイルで各変数の値を指定できます。

Studio 7 Visual Studio アイコンフロー
  1. Studio で新しい Mule プロジェクトを作成します。

  2. HTTP リスナーをキャンバスにドラッグし、それを選択してプロパティエディターを開きます。

  3. 新しい HTTP リスナー設定グローバル要素を追加します。

    1. [General Settings (一般設定)] で、​[+]​ ボタンをクリックします。

    2. 次の HTTP パラメーターを設定します。その他の項目はデフォルト値のままにし、​[OK]​ をクリックします。

      項目

      Name (名前)

      HTTP_Listener_Configuration

      Host (ホスト)

      127.0.0.1

      Port (ポート)

      8081

    3. HTTP リスナーの設定グローバル要素を参照します。[General (一般)] タブで、​/​ パスを指定します。

  4. Amazon S3 Connector をフローにドラッグし、コネクタをダブルクリックしてそのプロパティエディターを開きます。

  5. 選択する既存の Amazon S3 Connector グローバル要素がない場合、​[Extension Configuration (拡張機能設定)]​ の横にあるプラス記号をクリックします。

  6. グローバル要素のプロパティを設定し、​[OK]​ をクリックします。

  7. コネクタのパラメーターを設定します。

    コネクタプロパティ - [General (一般)] タブ
    項目

    Display Name (表示名)

    「Create bucket (バケットを作成)」などのコネクタインスタンスの名前を入力します。

    Extension Configuration (拡張機能設定)

    コネクタのグローバル設定を選択します。

    Bucket Name (バケット名)

    ${config.bucket}

    リージョン

    「​US_STANDARD​ (デフォルト)」などのリージョンを選択します。

    Canned ACL (既定 ACL)

    PRIVATE (デフォルト) アクセス制御リスト。既定 ACL は定義済みの許可です。

  8. MuleSoft に MuleSoft ロゴを要求する HTTP Connector を追加します。

    HTTP Connector - [General (一般)] タブ
    項目

    Display Name (表示名)

    コネクタインスタンスの名前を入力します。この例では、HTTP Connector の名前は「Get MuleSoft logo (MuleSoft ロゴを取得)」となっています。

    Configuration (設定)

    緑のプラス記号をクリックし、新しい設定 (​[Host (ホスト)]​ が「​developer.mulesoft.com​」、​[Protocol (プロトコル)]​ が「HTTPS」、​[Port (ポート)]​ が「80」) を作成します。

    [URL or Path (URL またはパス)]

    /sites/all/themes/muletheme/images/mulesoft_dev_logo_v2.svg​ に設定します。

    Body (本文)

    #[payload]

    Target Value (対象値)

    #[payload]

  9. 要求された MuleSoft ロゴを選択された Amazon S3 バケットに作成する別の Amazon S3 Connector をドラッグします。

    S3 Connector プロパティの [General (一般)] タブ
    項目

    Display Name (表示名)

    任意の名前を入力します。この例では、S3 Connector の名前は「​Create logo object in S3 bucket​」となっています。

    Extension Configuration (拡張機能設定)

    作成したグローバル設定を選択します。

    Bucket Name (バケット名)

    ${config.bucket}

    Key (キー)

    muledevlogo

    Content (コンテンツ)

    #[payload]

    Canned ACL (既定 ACL)

    PRIVATE (デフォルト)

    Storage Class (ストレージクラス)

    STANDARD (デフォルト)

  10. 新規作成された MuleSoft ロゴ画像オブジェクトをバケットから取得する別の Amazon S3 Connector を追加します。

    S3 Connector 「Get Image (画像を取得)」の [General (一般)] タブ
    項目

    Display Name (表示名)

    コネクタインスタンスの名前を入力します。この例では、S3 Connector の名前は ​Get Image​ となっています。

    Extension Configuration (拡張機能設定)

    作成したグローバル設定を選択します。

    Bucket Name (バケット名)

    ${config.bucket}

    Key (キー)

    muledevlogo

  11. バケットを削除する別の Amazon S3 Connector を追加します。delete bucket 操作の戻り値のデータ型は void であるため、ペイロードには ​get image​ 操作で返されるオブジェクトが含まれます。

    S3 Connector 「Delete Bucket (バケットを削除)」の [General (一般)] タブ
    項目

    Bucket Name (バケット名)

    ${config.bucket}

    Force (強制)

    True

ユースケース: XML コード