【Dynamics CRM】【Azure】Dynamics CRMとAzure Service Busの連携 その2
前回、Dynamics CRMとAzure Service Busの連携概要をお伝えしました。
今回は実際にDynamics CRMへAzure ServiceBusの連携設定をする手順を記載していきます。
Azure Service Bus連携の前準備:認証方式
Azure Servie Busと連携する際に認証を通す必要がありますが、その方式として2種類アプローチが存在します。(そもそもここがよくわかってなかった(´゚д゚`))
https://msdn.microsoft.com/ja-jp/library/azure/jj945613.aspx
ACSはAzure Active Direcory のアクセスコントロールを介して、Service Busの認証として利用するもの。
SASは各サービスごとにアクセスキーを生成し、それをクライアント・リスナー側それぞれで設定して認証するものです。
今回はお手軽に実施可能(っぽい)SASを利用します。(ACSはまだ試していません。ACSを使えるようにするために、PowerShellからのサービス作成が必要?)
ServiceBusキューの作成
ServiceBus用名前空間は作成されている前提です。
ServiceBusメニューからキューを作成します。
キュー作成後、SAS構成のため「構成」を選択し、共有アクセスポリシーを設定します。
クライアント、リスナーどちらでも使用するので、今回は送信・リッスンをそれぞれ選択します。
「接続文字列の表示」からSAS接続文字列を取得します。
以上で、キュー側の準備は完了です。
ServiceBus用エンドポイントの登録
ServiceBus用エンドポイントはPluginRegistrationToolを使います。
若干古いバージョンですと、SAS用設定画面が表示されませんでしたので、最新ダウンロードをお勧めします。(私は8.1を使いました)
PluginRegistrationToolを実行し、Register New ServiceEndpointを選択
上のラジオボタンを選択し、事前に生成しておいた、SASの接続文字列を貼り付けます。
接続文字列の情報を元に、Endpointの構成情報が表示されますので、そのまま保存します。
Endpoint作成後、受け渡すContextを決めるため、Stepを登録します。
Endpointを選択し、Register New Stepをクリック
今回はAccountのCreate時のContextを送ります。
StepのMessageにCreate・Primary EntityにAccount
あと、ServiceEndpointに対するStepは必ずPost-OperationのAsyncにする必要があるみたいです。
以上で設定完了です。
取引先企業作成後、以下のようにシステムジョブに実行結果が表示されれば、無事ServiceBusにメッセージが送れていることを確認できます。
次回は、ServiceBusからデータを受信するアプリケーションを作成します。