---
schema_version: "1"
id: 9b6ac27f236afa1ff59f40f45da169dea676547e9ca2cb042564b997c13b894e
title: Amazon SQS Connector 5.12 の例
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/amazon-sqs-connector/latest/amazon-sqs-connector-examples.md
canonical_url: https://docs.mulesoft.com/jp/amazon-sqs-connector/latest/amazon-sqs-connector-examples
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 38fd5b38733574c64904d5e1361d5b7d0c69895ccac78b42df04256e3254f8d1
description: MuleSoft Documentation Site
release: "5.12"
latest: true
---
# Amazon SQS Connector 5.12 の例

Amazon SQS Connector の Mule フローの例を示します。

- [メッセージの送受信](#send-and-receive-messages)
- [大きなメッセージの送受信](#send-and-receive-large-messages)

## [](#send-and-receive-messages)メッセージの送受信

この例は、メタデータと共にメッセージを Amazon SQS キューに送信し、キューから受信します。この例には次の 2 つのフローが含まれます。

- 最初のフローは、メタデータと共にメッセージを送信し、キューのメッセージ数を取得して、メッセージが送信されたことを確認する。
- 2 番目のフローは、メッセージを受信し、メッセージ本文を記録する。

![メッセージの送受信フロー](/mulesoft/current/ja-jp/amazon-sqs-connector/latest/_images/amazon-sqs-message-flow.png)

### [](#最初のフローを設定する)最初のフローを設定する

メッセージをキューに送信する最初のフローを設定します。最初のフローの作成には、​**Listener**​ コンポーネント、​**Transform Message**​ コンポーネント、​**Send Message**​ 操作、​**Logger**​ コンポーネント、​**Get approximate number of messages**​ 操作、および 2 番目の ​**Logger**​ コンポーネントの設定が含まれます。

#### [](#http-リスナーを設定する)HTTP リスナーを設定する

`/`​ パスへのコールが行われたときに Mule フローを開始するように ​**Listener**​ コンポーネントを設定します。

1. Studio で新しい Mule プロジェクトを作成します。
2. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[HTTP\]**​ を選択して ​**\[Listener\]**​ コンポーネントをキャンバスにドラッグします。
3. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
4. デフォルトを受け入れます。
5. プロパティウィンドウで、​**\[Path (パス)\]**​ 項目値を ​`/`​ に設定します。

#### [](#transform-message-コンポーネントを追加する)\[Transform Message\] コンポーネントを追加する

**Transform Message**​ コンポーネントを追加してメタデータを添付し、値を HTTP 入力フォームから Java 形式に変換して、​**Send message**​ 操作への入力として使用できるようにします。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Listener\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Output (出力)\]**​ セクションの括弧を次の DataWeave コードで上書きします。
    
    ```dataweave
    %dw 2.0
    output application/java
    ---
    {
    	delaySeconds: 0,
    	body: "Hello World",
    	messageAttributes: {
    		"AccountId": {
    			"stringValue" : "000123456",
    			"dataType" : "String.AccountId"
    		} as Object {
    			class: "org.mule.extension.sqs.api.model.MessageAttributeValue"
    		},
    		"NumberId": {
    			"stringValue" : "230.000000000000000001",
    			"dataType" : "Number"
    		} as Object {
    			class : "org.mule.extension.sqs.api.model.MessageAttributeValue"
    		}
    	} as Object {
    		class: "java.util.HashMap"
    	}
    } as Object {
    	class: "org.mule.extension.sqs.api.model.Message"
    }
    ```

#### [](#send-message-操作を追加する)Send Message 操作を追加する

**Send message**​ 操作を追加して、指定されたキューにメッセージを送信します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Amazon SQS\]**​ を選択して ​**\[Send message\]**​ 操作を ​**\[Transform Message\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
3. 次のようにグローバル要素を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Name (名前)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">設定の参照に使用される名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Session Token (セッショントークン)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">一時的なセキュリティログイン情報を検証するために使用するセッショントークン。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Access Key (アクセスキー)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">アカウントを所有するユーザーを一意に識別する英数字のテキスト文字列。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Secret Key (シークレットキー)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">パスワードの役割を果たすキー。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Region Endpoint (リージョンエンドポイント)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">キューリージョン。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">SQS Endpoint (SQS エンドポイント)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Amazon VPC サポート用の SQS エンドポイント。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Default Global Queue URL (デフォルトのグローバルキュー URL)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">デフォルトの Amazon SQS キュー URL ログイン情報。</p></td>
</tr>
</tbody>
</table>
    
    次の画像は、グローバル要素の ​**Send message**​ の例を示しています。
    
    ![\[Send Message\] グローバル要素設定ウィンドウ](_images/amazon-sqs-studio-global-config-new.png)
4. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">コネクタ操作の名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Connector configuration (コネクタ設定)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">作成したばかりのグローバル設定。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Message (メッセージ)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>payload</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Queue url (キュー URL)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Amazon SQS キュー URL。</p>
<p class="tableblock">指定した場合、この項目の値は ​<strong>[Global Configuration Elements (グローバル設定要素)]</strong>​ ウィンドウの ​<strong>[Default Global Queue URL (デフォルトのグローバルキュー URL)]</strong>​ 項目の値よりも優先されます。</p></td>
</tr>
</tbody>
</table>
    
    次の図は、プロパティウィンドウでの ​**\[Send Message\]**​ 設定の例を示しています。
    
    ![\[Send Message\] プロパティウィンドウ設定](_images/amazon-sqs-send-message.png)

#### [](#最初の-logger-コンポーネントを追加する)最初の \[Logger\] コンポーネントを追加する

Mule コンソールに応答を表示する最初の ​**Logger**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Logger\]**​ コンポーネントを ​**\[Send Message\]**​ の右側にドラッグします。
2. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">ロガーの名前 (​<code>Log Response</code>​ など)。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Message (メッセージ)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Sent Message: `​#[payload]​`</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Level (レベル)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">INFO (Default) (INFO (デフォルト))</p></td>
</tr>
</tbody>
</table>
    
    次の図は、プロパティウィンドウでの ​**\[Logger\]**​ 設定の例を示しています。
    
    ![\[Logger\] プロパティウィンドウ設定](_images/amazon-sqs-logger.png)

#### [](#get-approximate-number-of-messages-操作を追加する)Get Approximate Number of Messages 操作を追加する

キューのメッセージ数を取得する ​**Get approximate number of messages**​ 操作を追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Amazon SQS\]**​ を選択して ​**\[Get approximate number of messages\]**​ 操作を ​**\[Logger\]**​ の右側にドラッグします。
2. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">コネクタ操作の名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Connector configuration (コネクタ設定)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">作成したばかりのグローバル設定。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Queue url (キュー URL)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${sqs.queueUrl}</code></p></td>
</tr>
</tbody>
</table>
    
    次の図は、プロパティウィンドウでの ​**\[Get approximate number of messages\]**​ 設定の例を示しています。
    
    ![\[Get approximate number of messages\] プロパティウィンドウ設定](_images/amazon-sqs-get-message-count.png)

#### [](#2-つ目の-logger-コンポーネントを追加する)2 つ目の \[Logger\] コンポーネントを追加する

Mule コンソールにメッセージ数を表示する 2 番目の ​**Logger**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Logger\]**​ コンポーネントを ​**\[Get approximate number of messages\]**​ の右側にドラッグします。
2. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">ロガーの名前 (​<code>Log Count</code>​ など)。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Message (メッセージ)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Sent Message: `​#[payload]​`</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Level (レベル)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">INFO (Default) (INFO (デフォルト))</p></td>
</tr>
</tbody>
</table>
    
    次の図は、プロパティウィンドウでの ​**\[Logger\]**​ 設定の例を示しています。
    
    ![\[Logger\] プロパティウィンドウ設定](_images/amazon-sqs-logger2.png)

### [](#2-番目のフローを設定する)2 番目のフローを設定する

メッセージがキューから削除される前に、メッセージを受信してログに記録する 2 番目のフローを設定します。2 番目のフローの作成には、​**Receive messages**​ ソースと ​**Logger**​ コンポーネントの設定が含まれます。

#### [](#receive-messages-ソースを追加する)Receive Messages ソースを追加する

メッセージを取得する ​**Receive messages**​ ソースを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Amazon SQS\]**​ を選択して ​**\[Receive messages\]**​ ソースをキャンバスにドラッグします。
2. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">コネクタ操作の名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Connector configuration (コネクタ設定)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">作成したばかりのグローバル設定。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of messages (メッセージ数)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Queue url (キュー URL)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Amazon SQS キュー URL。</p>
<p class="tableblock">指定した場合、この項目の値は ​<strong>[Global Configuration Elements (グローバル設定要素)]</strong>​ ウィンドウの ​<strong>[Default Global Queue URL (デフォルトのグローバルキュー URL)]</strong>​ 項目の値よりも優先されます。</p></td>
</tr>
</tbody>
</table>
    
    次の図は、プロパティウィンドウでの ​**\[Receive messages\]**​ 設定の例を示しています。
    
    ![\[Receive messages\] プロパティウィンドウ設定](_images/amazon-sqs-receive-message.png)

#### [](#logger-コンポーネントを追加する)Logger コンポーネントを追加する

Mule コンソールにメッセージを表示する ​**Logger**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Logger\]**​ コンポーネントを ​**\[Receive messages\]**​ の右側にドラッグします。
2. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">ロガーの名前 (​<code>Log Receipt</code>​ など)。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Message (メッセージ)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>`​#[payload]​`</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Level (レベル)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">INFO (Default) (INFO (デフォルト))</p></td>
</tr>
</tbody>
</table>
    
    次の図は、プロパティウィンドウでの ​**\[Logger\]**​ 設定の例を示しています。
    
    ![\[Logger\] プロパティウィンドウ設定](_images/amazon-sqs-logger-receive.png)

### [](#この例の-xml)この例の XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

```xml
<mule xmlns:sqs="http://www.mulesoft.org/schema/mule/sqs" xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
	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/ee/core
  http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
  http://www.mulesoft.org/schema/mule/sqs
	http://www.mulesoft.org/schema/mule/sqs/current/mule-sqs.xsd">
	<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" >
		<http:listener-connection host="0.0.0.0" port="8081" />
	</http:listener-config>
	<sqs:config name="Amazon_SQS_Configuration" doc:name="Amazon SQS Configuration"
	defaultQueueUrl="${sqs.queueUrl}" >
		<sqs:basic-connection accessKey="${sqs.accessKey}" secretKey="$sqs.secretKey}" region="us-east-1"/>
	</sqs:config>
	<flow name="sqs-send-messageFlow" >
		<http:listener doc:name="Listener"
		config-ref="HTTP_Listener_config"
		path="/"/>
		<ee:transform doc:name="Transform Message" >
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
{
	delaySeconds: 0,
	body: "Hello World",
	messageAttributes: {
		"AccountId": {
			"stringValue" : "000123456",
			"dataType" : "String.AccountId"
		} as Object {
			class: "org.mule.extension.sqs.api.model.MessageAttributeValue"
		},
		"NumberId": {
			"stringValue" : "230.000000000000000001",
			"dataType" : "Number"
		} as Object {
			class : "org.mule.extension.sqs.api.model.MessageAttributeValue"
		}
	} as Object {
		class: "java.util.HashMap"
	}
} as Object {
	class: "org.mule.extension.sqs.api.model.Message"
}]]></ee:set-payload>
			</ee:message>
		</ee:transform>
		<sqs:send-message doc:name="Send message"/>
		<logger level="INFO"
		doc:name="Log Response"
		message="payload"/>
		<sqs:get-approximate-number-of-messages
		doc:name="Get approximate number of messages"
		config-ref="Amazon_SQS_Configuration"
		queueUrl="${sqs.queueUrl}"/>
		<logger level="INFO" doc:name="Log Count"
		message="Sent Message: `#[payload]`"/>
	</flow>
	<flow name="sqs-receive-message-flow" >
		<sqs:receivemessages doc:name="Receive messages"
		config-ref="Amazon_SQS_Configuration"/>
		<logger level="INFO" doc:name="Log Receipt" />
	</flow>
</mule>
```

## [](#send-and-receive-large-messages)大きなメッセージの送受信

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">この機能を有効にすると、AWS S3 の使用に関連する追加料金が発生します。</td></tr></tbody></table>

この例では、AWS S3 バケットを参照して大きなメッセージペイロードを格納するために使用する Amazon SQS キューに、メタデータと共に大きなメッセージを送信し、キューから大きなメッセージを受信します。この例には次の 2 つのフローが含まれます。

- 最初のフローは、メタデータと共に大きなメッセージを送信し、キューのメッセージ数を取得して、大きなメッセージが送信されたことを確認する。
- 2 番目のフローは、大きなメッセージを受信し、メッセージ本文を記録する。

![大きなメッセージの送受信フロー](/mulesoft/current/ja-jp/amazon-sqs-connector/latest/_images/amazon-sqs-large-message-flow.png)

### [](#始める前に)始める前に

開始する前に、以下が必要です。

- Amazon SQS の対象リソースおよび Anypoint Platform へのアクセス権
- 256 KB より大きいペイロードを含むファイル
- 大容量のメッセージペイロードを保存するために使用する、AWS S3 で作成された AWS S3 バケット
- AWS Identity and Access Management (IAM) のログイン情報

### [](#最初のフローを設定する-2)最初のフローを設定する

まず、大きなメッセージをキューに送信するフローを作成します。最初のフローの作成には、​**Listener**​ コンポーネント、​**Read**​ 操作、​**Transform Message**​ コンポーネント、​**Send Message**​ 操作、​**Logger**​ コンポーネント、​**Get approximate number of messages**​ 操作、および 2 番目の ​**Logger**​ コンポーネントの設定が含まれます。

#### [](#http-リスナーを設定する-2)HTTP リスナーを設定する

`/largePayload`​ パスへのコールが行われたときに Mule フローを開始するように ​**Listener**​ コンポーネントを設定します。

1. Studio で新しい Mule プロジェクトを作成します。
2. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[HTTP\]**​ を選択して ​**\[Listener\]**​ コンポーネントをキャンバスにドラッグします。
3. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
4. デフォルトを受け入れます。
5. プロパティウィンドウで、​**\[Path (パス)\]**​ 項目値を ​`/largePayload`​ に設定します。

#### [](#read-操作を追加する)Read 操作を追加する

大容量のペイロードを読み取る ​**Read**​ 操作を追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[File (ファイル)\]**​ を選択して ​**\[Read\]**​ 操作を ​**\[Listener\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
3. **\[Connection (接続)\]**​ チェックボックスをオンにします。
4. **\[Working Directory (作業ディレクトリ)\]**​ で、このコネクタで使用されるすべての相対パスのルートディレクトリとして機能するディレクトリを入力します。  
    デフォルトは、ユーザーのホームディレクトリです。
    
    この例では、ファイルは Mule アプリケーションの ​`src/main/resources`​ から読み込まれます。
    
    ![Read 操作の \[Working Directory (作業ディレクトリ)\] 設定ウィンドウ](_images/amazon-sqs-file-global-config.png)
5. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">コネクタ操作の名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Connector configuration (コネクタ設定)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">作成したばかりのグローバル設定。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">File Path (ファイルパス)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">読み取るファイルへのパス。</p></td>
</tr>
</tbody>
</table>
    
    次の図は、プロパティウィンドウでの ​**\[Read\]**​ 設定の例を示しています。
    
    ![\[Read\] プロパティウィンドウ設定](_images/amazon-sqs-file-config.png)

#### [](#transform-message-コンポーネントを追加する-2)\[Transform Message\] コンポーネントを追加する

**Transform Message**​ コンポーネントを追加してメタデータを添付し、値を HTTP 入力フォームから Java 形式に変換して、​**Send message**​ 操作への入力として使用できるようにします。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Read\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Output (出力)\]**​ セクションの括弧を次の DataWeave コードで上書きします。
    
    ```dataweave
    %dw 2.0
    output application/java
    ---
    {
    	delaySeconds: 0,
    	body: "Hello World",
    	messageAttributes: {
    		"AccountId": {
    			"stringValue" : "000123456",
    			"dataType" : "String.AccountId"
    		} as Object {
    			class: "org.mule.extension.sqs.api.model.MessageAttributeValue"
    		},
    		"NumberId": {
    			"stringValue" : "230.000000000000000001",
    			"dataType" : "Number"
    		} as Object {
    			class : "org.mule.extension.sqs.api.model.MessageAttributeValue"
    		}
    	} as Object {
    		class: "java.util.HashMap"
    	}
    } as Object {
    	class: "org.mule.extension.sqs.api.model.Message"
    }
    ```

#### [](#send-message-操作を追加する-2)Send Message 操作を追加する

**Send message**​ 操作を追加して、指定されたキューに大きなメッセージを送信します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Amazon SQS\]**​ を選択して ​**\[Send message\]**​ 操作を ​**\[Transform Message\]**​ の右側にドラッグします。
2. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
3. 次のようにグローバル要素を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Name (名前)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">設定の参照に使用される名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Session Token (セッショントークン)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">一時的なセキュリティログイン情報を検証するために使用するセッショントークン。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Access Key (アクセスキー)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">アカウントを所有するユーザーを一意に識別する英数字のテキスト文字列。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Secret Key (シークレットキー)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">パスワードの役割を果たすキー。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Region Endpoint (リージョンエンドポイント)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">キューリージョン。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">SQS Endpoint (SQS エンドポイント)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Amazon VPC サポート用の SQS エンドポイント。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Default Global Queue URL (デフォルトのグローバルキュー URL)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">デフォルトの Amazon SQS キュー URL ログイン情報。</p></td>
</tr>
</tbody>
</table>
    
    次の画像は、グローバル要素の ​**Send message**​ の例を示しています。
    
    ![\[Send Message\] グローバル要素設定ウィンドウ](_images/amazon-sqs-studio-global-config-new.png)
4. **\[Connection (接続)\]**​ セクションで、​**\[Advanced (詳細)\]**​ タブをクリックします。
5. **\[Large Payload Support (大容量のペイロードサポート)\]**​ 項目で、次のいずれかを選択します。
    
    - **Expression or Bean reference (式または bean 参照)**
    - **Edit inline (インライン編集)**
        
        項目を次のように設定します。
        
        <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Bucket (バケット)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">大容量のメッセージペイロードを保存するために使用する AWS S3 バケットの名前。バケットは、AWS S3 ですでに作成および設定されている必要があります。この機能を有効にすると、AWS S3 の使用で追加料金が発生します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Message Size Threshold (メッセージサイズしきい値)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">AWS S3 バケットにメッセージペイロードを保存するためのメッセージサイズしきい値。メッセージサイズしきい値のデフォルト値は 256 KB で、最大しきい値サイズの値は 256 KB です。最大メッセージサイズは 2GB です。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Message Size Threshold Unit (メッセージサイズしきい値単位)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">メッセージサイズしきい値のデータ単位。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Custom S3 Endpoint (カスタム S3 エンドポイント)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">VPC サポート用の Amazon S3 エンドポイント URL。</p></td>
</tr>
</tbody>
</table>
        
        次の画像は、​**\[Large payload support (大容量のペイロードサポート)\]**​ 項目設定の例を示しています。
        
        ![\[Large Payload Support (大容量のペイロードサポート)\] 項目設定ウィンドウ](_images/amazon-sqs-studio-large-payload-support.png)
6. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">コネクタ操作の名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Connector configuration (コネクタ設定)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">作成したばかりのグローバル設定。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Message (メッセージ)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>payload</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Queue url (キュー URL)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Amazon SQS キュー URL。</p>
<p class="tableblock">指定した場合、この項目の値は ​<strong>[Global Configuration Elements (グローバル設定要素)]</strong>​ ウィンドウの ​<strong>[Default Global Queue URL (デフォルトのグローバルキュー URL)]</strong>​ 項目の値よりも優先されます。</p></td>
</tr>
</tbody>
</table>
    
    次の図は、プロパティウィンドウでの ​**\[Send Message\]**​ 設定の例を示しています。
    
    ![\[Send Message\] プロパティウィンドウ設定](_images/amazon-sqs-send-message.png)

#### [](#最初の-logger-コンポーネントを追加する-2)最初の \[Logger\] コンポーネントを追加する

Mule コンソールに応答を表示する最初の ​**Logger**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Logger\]**​ コンポーネントを ​**\[Send Message\]**​ の右側にドラッグします。
2. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">ロガーの名前 (​<code>Log Response</code>​ など)。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Message (メッセージ)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Sent Message: `​#[payload]​`</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Level (レベル)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">INFO (Default) (INFO (デフォルト))</p></td>
</tr>
</tbody>
</table>
    
    次の図は、プロパティウィンドウでの ​**\[Logger\]**​ 設定の例を示しています。
    
    ![\[Logger\] プロパティウィンドウ設定](_images/amazon-sqs-logger.png)

#### [](#get-approximate-number-of-messages-操作を追加する-2)Get Approximate Number of Messages 操作を追加する

キューのメッセージ数を取得する ​**Get approximate number of messages**​ 操作を追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Amazon SQS\]**​ を選択して ​**\[Get approximate number of messages\]**​ 操作を ​**\[Logger\]**​ の右側にドラッグします。
2. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">コネクタ操作の名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Connector configuration (コネクタ設定)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">作成したばかりのグローバル設定。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Queue url (キュー URL)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>${sqs.queueUrl}</code></p></td>
</tr>
</tbody>
</table>
    
    次の図は、プロパティウィンドウでの ​**\[Get approximate number of messages\]**​ 設定の例を示しています。
    
    ![\[Get approximate number of messages\] プロパティウィンドウ設定](_images/amazon-sqs-get-message-count.png)

#### [](#2-つ目の-logger-コンポーネントを追加する-2)2 つ目の \[Logger\] コンポーネントを追加する

Mule コンソールにメッセージ数を表示する 2 番目の ​**Logger**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Logger\]**​ コンポーネントを ​**\[Get approximate number of messages\]**​ の右側にドラッグします。
2. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">ロガーの名前 (​<code>Log Count</code>​ など)。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Message (メッセージ)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Sent Message: `​#[payload]​`</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Level (レベル)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">INFO (Default) (INFO (デフォルト))</p></td>
</tr>
</tbody>
</table>
    
    次の図は、プロパティウィンドウでの ​**\[Logger\]**​ 設定の例を示しています。
    
    ![\[Logger\] プロパティウィンドウ設定](_images/amazon-sqs-logger2.png)

### [](#2-番目のフローを設定する-2)2 番目のフローを設定する

大きなメッセージがキューから削除される前に、大きなメッセージを受信してログに記録する 2 番目のフローを設定します。2 番目のフローの作成には、​**Receive messages**​ ソースと ​**Logger**​ コンポーネントの設定が含まれます。

#### [](#receive-messages-ソースを追加する-2)Receive Messages ソースを追加する

大きなメッセージを取得する ​**Receive messages**​ ソースを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Amazon SQS\]**​ を選択して ​**\[Receive messages\]**​ ソースをキャンバスにドラッグします。
2. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">コネクタ操作の名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Connector configuration (コネクタ設定)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">作成したばかりのグローバル設定。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number of messages (メッセージ数)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>1</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Queue url (キュー URL)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Amazon SQS キュー URL。</p>
<p class="tableblock">指定した場合、この項目の値は ​<strong>[Global Configuration Elements (グローバル設定要素)]</strong>​ ウィンドウの ​<strong>[Default Global Queue URL (デフォルトのグローバルキュー URL)]</strong>​ 項目の値よりも優先されます。</p></td>
</tr>
</tbody>
</table>
    
    次の図は、プロパティウィンドウでの ​**\[Receive messages\]**​ 設定の例を示しています。
    
    ![\[Receive messages\] プロパティウィンドウ設定](_images/amazon-sqs-receive-message.png)

#### [](#logger-コンポーネントを追加する-2)Logger コンポーネントを追加する

Mule コンソールに大きなメッセージを表示する ​**Logger**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Logger\]**​ コンポーネントを ​**\[Receive messages\]**​ の右側にドラッグします。
2. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">ロガーの名前 (​<code>Log Receipt</code>​ など)。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Message (メッセージ)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>`​#[payload]​`</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Level (レベル)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">INFO (Default) (INFO (デフォルト))</p></td>
</tr>
</tbody>
</table>
    
    次の図は、プロパティウィンドウでの ​**\[Logger\]**​ 設定の例を示しています。
    
    ![\[Logger\] プロパティウィンドウ設定](_images/amazon-sqs-logger-receive.png)

### [](#この例の-xml-2)この例の XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

```xml
<mule xmlns:sqs="http://www.mulesoft.org/schema/mule/sqs" xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
	xmlns:file="http://www.mulesoft.org/schema/mule/file"
	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/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/file http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
  http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
  http://www.mulesoft.org/schema/mule/ee/core
  http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
  http://www.mulesoft.org/schema/mule/file
  http://www.mulesoft.org/schema/mule/file/current/mule-file.xsd
  http://www.mulesoft.org/schema/mule/sqs
	http://www.mulesoft.org/schema/mule/sqs/current/mule-sqs.xsd">
	<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" >
		<http:listener-connection host="0.0.0.0" port="8081" />
	</http:listener-config>

	<sqs:config name="Amazon_SQS_Configuration" doc:name="Amazon SQS Configuration"
	defaultQueueUrl="${sqs.queueUrl}" >
		<sqs:basic-connection accessKey="${sqs.accessKey}" secretKey="$sqs.secretKey}" region="us-east-1" />
	</sqs:config>

	<sqs:config name="Amazon_SQS_Large_Payload_Configuration" doc:name="Amazon SQS Configuration"
	defaultQueueUrl="${sqs.queueUrl}" >
		<sqs:basic-connection accessKey="${sqs.accessKey}" secretKey="$sqs.secretKey}" region="us-east-1" >
			<sqs:large-payload-support bucket="large-sqs-payload-bucket" messageSizeThreshold="256" messageSizeThresholdUnit="KB" />
		</sqs:basic-connection>
	</sqs:config>

	<file:config name="File_Config" doc:name="File Config" >
		<file:connection workingDir="${app.home}" />
	</file:config>

	<flow name="sqs-send-LargeMessageFlow" >
		<http:listener doc:name="Listener"
		config-ref="HTTP_Listener_config"
		path="/largePayload"/>
		<file:read doc:name="Read" config-ref="File_Config" path="largePayload.txt"/>
		<ee:transform doc:name="Transform Message" >
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
{
	delaySeconds: 0,
	body: payload,
	messageAttributes: {
		"AccountId": {
			"stringValue" : "000123456",
			"dataType" : "String.AccountId"
		} as Object {
			class: "org.mule.extension.sqs.api.model.MessageAttributeValue"
		},
		"NumberId": {
			"stringValue" : "230.000000000000000001",
			"dataType" : "Number"
		} as Object {
			class : "org.mule.extension.sqs.api.model.MessageAttributeValue"
		}
	} as Object {
		class: "java.util.HashMap"
	}
} as Object {
	class: "org.mule.extension.sqs.api.model.Message"
}]]></ee:set-payload>
			</ee:message>
		</ee:transform>
		<sqs:send-message doc:name="Send message" configref="Amazon_SQS_Large_Payload_Configuration" config-ref="Amazon_SQS_Large_Payload_Configuration"/>
		<logger level="INFO"
		doc:name="Log Response"
		message="payload"/>
		<sqs:get-approximate-number-of-messages
		doc:name="Get approximate number of messages"
		config-ref="Amazon_SQS_Large_Payload_Configuration"
		queueUrl="${sqs.queueUrl}"/>
		<logger level="INFO" doc:name="Log Count"
		message="Sent Message: `#[payload]`"/>
	</flow>
	<flow name="sqs-receive-large-message-flow" >
		<sqs:receivemessages doc:name="Receive messages"
		config-ref="Amazon_SQS_Large_Payload_Configuration"/>
		<logger level="INFO" doc:name="Log Receipt" />
	</flow>
</mule>
```

## [](#関連情報)関連情報

- [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors)
- [MuleSoft ヘルプセンター](https://help.mulesoft.com)