Skip to main content

プロダクションから Amazon SNS へのメッセージの送信

Amazon SNSOpens in a new tab は、パブリッシャからのメッセージをサブスクライバに提供するクラウド・サービスです。組み込みの SNS ビジネス・オペレーションを使用するか、SNS 送信アダプタを使用してカスタム・ビジネス・オペレーションを作成することで、SNS パブリッシャになるように相互運用プロダクションを構成できます。プロダクションの外部で使用する API もあります。

SNS に送信されるメッセージには、トピック、件名、メッセージのコンテンツの 3 つのコンポーネントがあります。パブリッシャによって SNS に送信される各メッセージは、特定のトピックに関連付けられている必要があります。SNS は、特定のトピックをサブスクライブしているサブスクライバにメッセージをプッシュします。SNS に送信されたメッセージには、件名も含めることができます。メッセージが電子メールとしてサブスクライバに配信されると、SNS はこの件名を件名行として使用します。

ビジネス・オペレーションの使用法

インターシステムズは、カスタム・コードを記述することなく、SNS にメッセージを公開するために使用できる、組み込みのビジネス・オペレーションを提供しています。このビジネス・オペレーションを使用するには、以下の手順を実行します。

  1. EnsLib.AmazonSNS.BusinessOperationOpens in a new tab をプロダクションに追加します。"ビジネス・ホストの追加" を参照してください。

  2. "Amazon SNS 設定" の説明に従って、このビジネス・ホストの設定を構成します。この設定には、トピックとオプションの件名が含まれます。

    メッセージごとにトピックと件名を指定できる必要がある場合は、代わりにアダプタを使用します。

  3. このビジネス・オペレーションに EnsLib.AmazonSNS.PublishRequestOpens in a new tab 要求を送信するように、他のビジネス・ホストを構成します。

    EnsLib.AmazonSNS.PublishRequestOpens in a new tab タイプのメッセージには、文字列プロパティ Message が 1 つあります。

このビジネス・オペレーションは、EnsLib.AmazonSNS.PublishRequestOpens in a new tab タイプのメッセージを受信すると、ビジネス・オペレーションに構成されたトピックと件名を使用して、そのメッセージを SNS に公開します。

アダプタの使用法

組み込みの SNS ビジネス・オペレーションがニーズを満たさない場合、以下のように SNS アダプタを直接使用できます。

  1. カスタム・ビジネス・オペレーション・クラスを作成します。

    • このクラスは Ens.BusinessOperationOpens in a new tab を拡張する必要があります。

    • ADAPTER パラメータは EnsLib.AmazonSNS.OutboundAdapterOpens in a new tab である必要があります。

    • このクラスは、メッセージ・マップを定義する必要があります。

      XData MessageMap
      {
      <MapItems>
        <MapItem MessageType="messageclass">
          <Method>methodname</Method>
        </MapItem>
        ...
      </MapItems>
      }
      
    • このクラスは、メッセージ・マップ内のすべてのメソッドを定義する必要があります。これらのメソッドは、メッセージ・ハンドラと呼ばれます。各メッセージ・ハンドラは、以下のシグニチャを持っている必要があります。

      Method Sample(pReq As RequestClass, Output pResp As ResponseClass) As %Status {
      }

      メッセージ・ハンドラは、ビジネス・オペレーションの Adapter プロパティとしてアクセス可能な、アダプタのインスタンス・メソッドを呼び出すことができます。これらのメソッドを呼び出すための一般的な構文は以下のとおりです。

       do ..Adapter.MethodName(arguments)

      SNS 送信アダプタには、以下のシグニチャを持つ Publish() というインスタンス・メソッドが 1 つあります。

      Method Publish(arnTopic As %String, 
                     message As %String, 
                     subject As %String) As %Status{
      }
  2. ビジネス・オペレーションをプロダクションに追加します。"ビジネス・ホストの追加" を参照してください。

  3. "Amazon SNS 設定" の説明に従って、このビジネス・ホストの設定を構成します。

  4. このビジネス・オペレーションに要求を送信するように、他のビジネス・ホストを構成します。

Note:

SNS 送信アダプタは、InterSystems PEX フレームワークを使用して開発されているため、このアダプタのソース・コードは、他のほとんどのアダプタとは異なるように見えます。例えば、アダプタのメソッドは、実際には Java PEX コンポーネント内に記述されたメソッドのラッパです。

関連項目

FeedbackOpens in a new tab