Flex Gateway新着情報
Governance新着情報
Monitoring API Manager次に、Amazon S3 Connector の一般的なユースケースを示します。
URL から Amazon S3 に画像を保存し、画像を取得して表示する。
Amazon S3 で画像リンクを作成し、画像リンクと共に Twitter で状況を更新する (このドキュメントに記載されていないユースケース)。
URL から Amazon S3 に画像を保存し、画像を取得して表示します。
Anypoint Studio でこのサンプルが機能するように、Amazon Web Services ログイン情報を提供する必要があります。コードで変数をそれらの値に置き換えるか、src/main/resources/mule-artifact.properties
ファイルで各変数の値を指定できます。
Studio で新しい Mule プロジェクトを作成します。
HTTP リスナーをキャンバスにドラッグし、それを選択してプロパティエディターを開きます。
新しい HTTP リスナー設定グローバル要素を追加します。
[General Settings (一般設定)] で、[+] ボタンをクリックします。
次の HTTP パラメーターを設定します。その他の項目はデフォルト値のままにし、[OK] をクリックします。
項目 | 値 |
---|---|
Name (名前) |
HTTP_Listener_Configuration |
Host (ホスト) |
127.0.0.1 |
Port (ポート) |
8081 |
HTTP リスナーの設定グローバル要素を参照します。[General (一般)] タブで、/
パスを指定します。
Amazon S3 Connector をフローにドラッグし、コネクタをダブルクリックしてそのプロパティエディターを開きます。
選択する既存の Amazon S3 Connector グローバル要素がない場合、[Extension Configuration (拡張機能設定)] の横にあるプラス記号をクリックします。
グローバル要素のプロパティを設定し、[OK] をクリックします。
コネクタのパラメーターを設定します。
項目 | 値 |
---|---|
Display Name (表示名) |
「Create bucket (バケットを作成)」などのコネクタインスタンスの名前を入力します。 |
Extension Configuration (拡張機能設定) |
コネクタのグローバル設定を選択します。 |
Bucket Name (バケット名) |
|
リージョン |
「US_STANDARD (デフォルト)」などのリージョンを選択します。 |
Canned ACL (既定 ACL) |
PRIVATE (デフォルト) アクセス制御リスト。既定 ACL は定義済みの許可です。 |
MuleSoft に MuleSoft ロゴを要求する HTTP Connector を追加します。
項目 | 値 |
---|---|
Display Name (表示名) |
コネクタインスタンスの名前を入力します。この例では、HTTP Connector の名前は「Get MuleSoft logo (MuleSoft ロゴを取得)」となっています。 |
Configuration (設定) |
緑のプラス記号をクリックし、新しい設定 ([Host (ホスト)] が「 |
[URL or Path (URL またはパス)] |
|
Body (本文) |
|
Target Value (対象値) |
|
要求された MuleSoft ロゴを選択された Amazon S3 バケットに作成する別の Amazon S3 Connector をドラッグします。
項目 | 値 |
---|---|
Display Name (表示名) |
任意の名前を入力します。この例では、S3 Connector の名前は「 |
Extension Configuration (拡張機能設定) |
作成したグローバル設定を選択します。 |
Bucket Name (バケット名) |
|
Key (キー) |
muledevlogo |
Content (コンテンツ) |
|
Canned ACL (既定 ACL) |
PRIVATE (デフォルト) |
Storage Class (ストレージクラス) |
STANDARD (デフォルト) |
新規作成された MuleSoft ロゴ画像オブジェクトをバケットから取得する別の Amazon S3 Connector を追加します。
項目 | 値 |
---|---|
Display Name (表示名) |
コネクタインスタンスの名前を入力します。この例では、S3 Connector の名前は |
Extension Configuration (拡張機能設定) |
作成したグローバル設定を選択します。 |
Bucket Name (バケット名) |
|
Key (キー) |
muledevlogo |
バケットを削除する別の Amazon S3 Connector を追加します。delete bucket 操作の戻り値のデータ型は void であるため、ペイロードには get image
操作で返されるオブジェクトが含まれます。
項目 | 値 |
---|---|
Bucket Name (バケット名) |
|
Force (強制) |
True |
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:s3="http://www.mulesoft.org/schema/mule/s3"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/s3
http://www.mulesoft.org/schema/mule/s3/current/mule-s3.xsd">
<configuration-properties file="mule-artifact.properties"/>
<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="DOC_ID">
<http:listener-connection host="127.0.0.1" port="8081"/>
</http:listener-config>
<s3:config name="Amazon_S3_Configuration" doc:name="Amazon S3 Configuration" doc:id="DOC_ID">
<s3:basic-connection accessKey="${config.accessKey}" secretKey="${config.secretKey"/>
</s3:config>
<http:request-config name="HTTPS_Request_Configuration" doc:name="HTTP Request configuration" doc:id="DOC_ID">
<http:request-connection protocol="HTTPS" host="www.mulesoft.com"/>
</http:request-config>
<flow name="s3docuFlow" doc:id="DOC_ID">
<http:listener config-ref="HTTP_Listener_config" path="/" doc:name="Listener" doc:id="DOC_ID"/>
<s3:create-bucket config-ref="Amazon_S3_Configuration" bucketName="${config.bucket}"
doc:name="Create bucket" doc:id="DOC_ID"/>
<http:request method="GET" path="/sites/default/files/new-application_network_diagram-01.svg"
doc:name="Request" doc:id="DOC_ID" config-ref="HTTPS_Request_Configuration"/>
<s3:create-object config-ref="Amazon_S3_Configuration" bucketName="${config.bucket}" key="muledevlogo"
doc:name="Create object" doc:id="DOC_ID"/>
<s3:get-object config-ref="Amazon_S3_Configuration" bucketName="${config.bucket}" key="muledevlogo"
doc:name="Get object" doc:id="DOC_ID"/>
<s3:delete-bucket config-ref="Amazon_S3_Configuration" bucketName="${config.bucket}"
doc:name="Delete bucket" doc:id="DOC_ID" force="true"/>
</flow>
</mule>
xml