---
schema_version: "1"
id: 8f250414cb65089b434541ba030cb3c91031ad519d25efa921a97c60cff93cf7
title: Amazon SNS Connector の例
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/amazon-sns-connector/4.4/amazon-sns-connector-examples.md
canonical_url: https://docs.mulesoft.com/jp/amazon-sns-connector/4.4/amazon-sns-connector-examples
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 9d829bf003f4d8451f76ead1d269dfdada441ea8c6f1c82eedb8434589b2aa0d
description: MuleSoft Documentation Site
release: "4.4"
latest: false
---
# Amazon SNS Connector の例

コネクタの一般的なユースケースを次に挙げます。

- SNS メッセージを Amazon SQS キューに送信する
- Amazon SNS メッセージを HTTP/HTTPS エンドポイントに送信する

## [](#amazon-sns-メッセージの-amazon-sqs-キューへの送信)Amazon SNS メッセージの Amazon SQS キューへの送信

Amazon SNS は、Amazon Simple Queue Service (Amazon SQS) と緊密に連携します。Amazon SNS と Amazon SQS を併用すれば、次のメッセージをアプリケーションに配信できます。

- イベントの迅速な通知が必要なメッセージ。
- 他のアプリケーションが後で処理するために Amazon SQS キューで保持されるメッセージ。

Amazon SQS キューを Amazon SNS トピックにサブスクライブするときに、メッセージをトピックにパブリッシュできます。Amazon SNS は、サブスクライブされたキューに Amazon SQS メッセージを送信します。

AWS マネジメントコンソールを使用して、Amazon SQS キューを Amazon SNS トピックにサブスクライブするプロセスを簡略化します。

## [](#send-http)Amazon SNS メッセージの HTTP/HTTPS エンドポイントへの送信

Amazon SNS を使用して、通知メッセージを 1 つ以上の HTTP または HTTPS エンドポイントに送信できます。Amazon SNS トピックにエンドポイントをサブスクライブすると、トピックへの通知をパブリッシュできます。これにより、Amazon SNS はサブスクライブしたエンドポイントに通知のコンテンツを配信する HTTP POST 要求を送信します。

## [](#例-コネクタを使用して-sns-メッセージを-amazon-sqs-キューに送信)例: コネクタを使用して SNS メッセージを Amazon SQS キューに送信

次の図は、このユースケースのフロー例を示しています。

![send-messages-to-SQS](/mulesoft/current/ja-jp/amazon-sns-connector/4.4/_images/amazon-sns-use-case-flow.png)

この例を試す前に、Anypoint Studio にアクセスし、\[Mule Palette (Mule パレット)\] に ​**Amazon SNS**​ と ​**Amazon SQS**​ のエントリが表示されていることを確認します。 表示されていない場合、​[「Exchange を使用した Studio でのコネクタのインストール」](https://docs.mulesoft.com/jp/amazon-sns-connector/4.4/amazon-sns-connector-studio#install-connector)​の指示に従って両方のコネクタをインストールします。

コネクタを使用して Amazon SNS メッセージを Amazon SQS キューに送信する Mule アプリケーションを設定する手順は、次のとおりです。

1. Anypoint Studio で新しい Mule プロジェクトを作成します。
2. \[Mule Palette (Mule パレット)\] で​**「HTTP」**​を検索し、​**Listener**​ 操作を選択します。
    
    ![select-listener](/mulesoft/current/ja-jp/amazon-sns-connector/4.4/_images/amazon-sns-select-listener.png)
3. **Listener**​ 操作をキャンバスにドラッグします。
4. **Listener**​ 設定で、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
5. デフォルトを受け入れます。
6. **Listener**​ 設定の ​**\[General (一般)\]**​ タブで、​**\[Display Name (表示名)\]**​ 項目を ​`HTTP`​、​**\[Path (パス)\]**​ 項目を \`/'' に設定します。
    
    ![http-properties](/mulesoft/current/ja-jp/amazon-sns-connector/4.4/_images/amazon-sns-http-properties.png)
7. \[Mule Palette (Mule パレット)\] で​**「SNS」**​を検索し、​**Publish**​ 操作を選択します。
    
    ![publish-selection](/mulesoft/current/ja-jp/amazon-sns-connector/4.4/_images/amazon-sns-publish-selection.png)
8. **Publish**​ 操作を ​**HTTP Listener**​ コンポーネントの右にドラッグします。
9. **Publish**​ 設定で、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
10. 次のようにグローバル要素を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">パラメーター</th>
<th class="tableblock halign-left valign-top">説明</th>
<th class="tableblock halign-left valign-top">Value (値)</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Name (名前)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">設定の参照に使用される名前。</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Amazon_SNS_Configuration</code>​ または別の名前</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Access Key (アクセスキー)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">アカウントを所有するユーザーを一意に識別する英数字のテキスト文字列。</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">AWS アクセスキー</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Secret Key (シークレットキー)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">パスワードの役割を果たすキー。</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">AWS シークレットキー</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Region Endpoint (リージョンエンドポイント)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">キューリージョン。</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">キューリージョン</p></td>
</tr>
</tbody>
</table>
    
    次の画像は、Publish 操作のサンプルグローバル要素を示しています。
    
    ![sns-global-configuration](/mulesoft/current/ja-jp/amazon-sns-connector/4.4/_images/amazon-sns-global-config.png)
11. **\[Configuration XML (設定 XML)\]**​ タブを選択して、対応する XML を表示します。
    
    ```xml
    <sns:config name="Amazon_SNS_Configuration"
      doc:name="Amazon SNS configuration" >
      <sns:basic-connection
        accessKey="EXAMPLEACCESSKEY"
        secretKey="EXAMPLESECRETKEY" />
    </sns:config>
    ```
12. **\[Global Elements (グローバル要素)\]**​ タブをクリックします。
13. **\[Amazon SNS Configuration (Configuration) (Amazon SNS 設定 (設定))\]**​ を選択して、​**\[Edit (編集)\]**​ をクリックします。
14. **\[Test Connection (接続をテスト)\]**​ をクリックして、Mule が SNS インスタンスに接続できることを確認します。
    
    - 正常に接続できた場合は、​**\[OK\]**​ をクリックして設定を保存します。
    - そうでない場合は、見直して、誤ったパラメーターを修正してからもう一度テストします。
15. フローに戻って ​**Publish**​ を選択します。
16. 残りのパラメーターを設定します。
    
    <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" colspan="2"><p class="tableblock"><strong>Basic Settings (基本設定)</strong></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Display Name (表示名)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Publish</code>​ または別の名前。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Connector configuration (コネクタ設定)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Amazon_SNS_configuration</code>​ (作成したグローバル要素への参照名)</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top" colspan="2"><p class="tableblock"><strong>[General (一般)] セクション</strong></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Topic arn (トピック ARN)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Amazon リソース名 (ARN)。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Message (メッセージ)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>`​Hello World!`</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Subject (件名)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Testing publish to queue</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Message structure (メッセージ構造)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>JSON</code></p></td>
</tr>
</tbody>
</table>
    
    次の画像は、Publish Message 操作のサンプル設定を示しています。
    
    ![sns-publish-message-props](/mulesoft/current/ja-jp/amazon-sns-connector/4.4/_images/amazon-sns-publish-message.png)
17. **\[Configuration XML (設定 XML)\]**​ タブを選択して、対応する XML を表示します。
    
    ```xml
    <sns:publish doc:name="Publish"
      topicArn="arn:aws:sns:us-east-1:123456789012:TopicName"
      messageStructure="JSON"
      subject="Testing publish to queue"
      config-ref="Amazon_SNS_configuration">
    	<sns:message><![CDATA[#['{
    	"default": "Hello World!"
    }']]]></sns:message>
    </sns:publish>
    ```
    
    `default`​ JSON キーは、SQS にとって特別な意味を持ちます。使用されるプロトコルに関係なく、キーの値はすべてのサブスクライバーにメッセージとして送信されます。Publish Message 操作でこのキーを指定する必要があります。必要に応じて、HTTP や SQS などの特定のトランスポートプロトコルに送信するメッセージを定義する他の最上位キーを指定できます。詳細は、Amazon Simple Notification Service ドキュメントの [「Publish」](https://docs.aws.amazon.com/sns/latest/api/API_Publish.html#API_Publish_RequestParameters)​を参照してください。

### [](#publish-操作によって処理されたデータの表示)Publish 操作によって処理されたデータの表示

同じ例を使用して、Mule コンソールで Publish 操作によって処理されたデータを表示する Logger コンポーネントを追加します。

1. \[Mule Palette (Mule パレット)\] で、​**「Logger」**​コンポーネントを検索し、Amazon SNS Connector (​**Publish**​) の右にドラッグします。
2. **Logger**​ コンポーネントを次のように設定します。
    
    <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"><strong>Display Name (表示名)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Logger</code>​ または別の名前</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Message (メッセージ)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Message: #[payload]</code></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Level (レベル)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>INFO</code></p></td>
</tr>
</tbody>
</table>
    
    ![sns-logger](/mulesoft/current/ja-jp/amazon-sns-connector/4.4/_images/amazon-sns-logger.png)

### [](#receive-sns)SNS メッセージの受信

同じ例を使用して、Amazon SQS が Amazon SNS によってパブリッシュされたメッセージを受信できるようにする 2 番目のフローを追加します。

1. \[Mule Palette (Mule パレット)\] で、​**「Flow」**​を検索し、​**Flow**​ コンポーネントをキャンバスにドラッグします。
2. \[Mule Palette (Mule パレット)\] で、​**「SQS」**​を検索し、​**Receive messages**​ 操作を選択して ​**Flow**​ コンポーネントの左にドラッグします。
3. 新しいコンポーネントを選択します。
4. **\[Connector configuration (コネクタ設定)\]**​ 項目の横のある ​**\[+\]**​ をクリックし、新しい Amazon SQS Connector グローバル要素を追加します。
5. 次のようにグローバル要素を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">パラメーター</th>
<th class="tableblock halign-left valign-top">説明</th>
<th class="tableblock halign-left valign-top">Value (値)</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>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>Amazon_SQS_Configuration</code>​ または別の名前</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>
<td class="tableblock halign-left valign-top"><p class="tableblock">AWS アクセスキー</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>
<td class="tableblock halign-left valign-top"><p class="tableblock">AWS シークレットキー</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>
<td class="tableblock halign-left valign-top"><p class="tableblock">キューリージョン</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Test Queue ARN (キュー ARN をテスト)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">接続をテストするために次のステップで使用されるキュー ARN。</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">テストキュー ARN の形式は ​<code>arn:aws:sqs:region:account-id:queue-name</code>​ です。</p></td>
</tr>
</tbody>
</table>
    
    次の画像は、Receive messages 操作のサンプルグローバル要素を示しています。
    
    ![sns-sqs-config](/mulesoft/current/ja-jp/amazon-sns-connector/4.4/_images/amazon-sns-sqs-global-config.png)
6. **\[Configuration XML (設定 XML)\]**​ タブを選択して、対応する XML を表示します。
    
    ```xml
    <sqs:config name="Amazon_SQS_Configuration"
      doc:name="Amazon SQS Configuration" >
    	<sqs:basic-connection
      region="us_east_1"
      accessKey="EXAMPLEACCESSKEY"
      secretKey="EXAMPLESECRETKEY"
      testQueueArn="arn:aws:sqs:us-east-1:123456789012:QueueName"/>
    </sqs:config>
    ```
7. **\[Test Connection (接続をテスト)\]**​ をクリックして、Mule が SQS インスタンスに接続できることを確認します。
    
    - 正常に接続できた場合は、​**\[OK\]**​ をクリックして保存します。
    - 接続に失敗した場合は、誤ったパラメーターを確認して修正し、もう一度テストを実行してください。
8. Amazon SQS Connector のプロパティエディターで、残りのパラメーターを設定します。
    
    <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" colspan="2"><p class="tableblock">Basic Settings (基本設定)</p></td>
</tr>
<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>Amazon SQS (Streaming)</code>​ または別の名前</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"><code>Amazon_SQS_Configuration</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">キュー URL の形式は ​<code><a href="https://sqs.region.amazonaws.com/account-id/queue-name" class="bare">https://sqs.region.amazonaws.com/account-id/queue-name</a></code>​ です。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>[General (一般)]</strong>​ グループの他の項目</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">デフォルト値</p></td>
</tr>
</tbody>
</table>
    
    設定内の SQS キューが SNS トピックに​**サブスクライブ**​されていることを確認します。
    
    次に例を示します。
    
    ![sns-sqs-config](/mulesoft/current/ja-jp/amazon-sns-connector/4.4/_images/amazon-sns-sqs-config.png)
9. **\[Configuration XML (設定 XML)\]**​ タブを選択して、対応する XML を表示します。
    
    ```xml
    <sqs:receivemessages
      doc:name="Amazon SQS (Streaming)"
      queueUrl="https://sqs.us-east-1.amazonaws.com/123456789012/queue-url"
      config-ref="Amazon_SQS_Configuration"/>
    ```
10. Amazon SQS Connector の後に ​**Logger**​ スコープを追加して、Mule コンソールの ​**Receive**​ 操作で渡されるデータを出力します。​**Logger**​ を次のように設定します。
    
    <table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 30%;">
<col style="width: 70%;">
</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"><strong>Display Name (表示名)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>Display Message</code>​ または別の名前</p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Message (メッセージ)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>Received Message: #[payload]</code></p>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Level (レベル)</strong></p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p><code>INFO</code></p>
</div></div></td>
</tr>
</tbody>
</table>
11. プロジェクトを保存します。

プロジェクトを Mule アプリケーションとして実行する手順は、次のとおりです。

1. Package Explorer でプロジェクトを右クリックし、​**\[Run As (別のユーザーとして実行)\] > \[Mule Application (Mule アプリケーション)\]**​ を選択します。
2. Web ブラウザーを開き、URL ​`http://localhost:8081/`​ を入力して応答を確認します。
    
    ロガーには、ブラウザーのパブリッシュされたメッセージ ID と、Mule コンソールの受信メッセージが表示されます。

### [](#example-code)デモ Mule アプリケーションの XML コード

このユースケース例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを XML エディターに貼り付けます。必要に応じて、環境に合わせて値を変更します。

```xml
<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:sqs="http://www.mulesoft.org/schema/mule/sqs"
	xmlns:sns="http://www.mulesoft.org/schema/mule/sns"
	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/sns http://www.mulesoft.org/schema/mule/sns/current/mule-sns.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>
	<sns:config name="Amazon_SNS_configuration" doc:name="Amazon SNS configuration">
		<sns:basic-connection accessKey="EXAMPLEACCESSKEY" secretKey="EXAMPLESECRETKEY" />
	</sns:config>
	<sqs:config name="Amazon_SQS_Configuration" doc:name="Amazon SQS Configuration">
		<sqs:basic-connection accessKey="EXAMPLEACCESSKEY" secretKey="EXAMPLESECRETKEY"
		testQueueArn="arn:aws:sqs:us-east-1:123456789012:QueueName"/>
	</sqs:config>
	<flow name="sns-connector-exampleFlow">
		<http:listener doc:name="Listener" config-ref="HTTP_Listener_config" path="/"/>
		<sns:publish doc:name="Publish" config-ref="Amazon_SNS_configuration"
		topicArn="arn:aws:sns:us-east-1:123456789012:TopicName"
		subject="Testing publish to queue"
		messageStructure="JSON">
			<sns:message><![CDATA[#['{
	"default": "Hello World!"
}']]]></sns:message>
		</sns:publish>
		<logger level="INFO" doc:name="Logger" message="Message: #[payload]"/>
	</flow>
	<flow name="sns-connector-exampleFlow1">
		<sqs:receivemessages doc:name="Amazon SQS (Streaming)" config-ref="Amazon_SQS_Configuration"
		queueUrl="https://sqs.us-east-1.amazonaws.com/123456789012/queue-url"/>
		<logger level="INFO" doc:name="Logger" message="Received Message: #[payload]"/>
	</flow>
</mule>
```

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

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