この秋にリリースされた新しいWindows Azure Service Busのポータルサイトはもう試されましたか?
また、最近のSDKでは、メッセージング(サービス バス)の利用方法が少しだけ変わっています。
この新たな方法を利用すると、サービス バスの利用がより簡単になるのです。
まずは、これまでご紹介してきた方法を見てみましょう。
private Uri m_BaseAddress;
private string m_Issuer = “owner”;
private string m_SharedKey = “各Namespaceに対応するSharedKeyを指定する。”;
private TokenProvider m_TokenProvider;
private QueueClient m_QueueClient;
private NamespaceManager m_NamespaceManager;
private MessagingFactory m_MessageingFactory;
private void CreateSubscription ()
{
//サービスバスのBaseAddressを生成
m_BaseAddress
=
ServiceBusEnvironment.CreateServiceUri(“sb” , “yournamespace” , string.Empty);
//資格情報の作成
m_TokenProvider
=
TokenProvider.CreateSharedSecretTokenProvider(m_Issuer, m_SharedKey);
//NamespaceManagerの作成
m_NamespaceManager = new NamespaceManager(m_BaseAddress, m_TokenProvider);
//Queueの初期化
if (!m_NamespaceManager.QueueExists(“YourQueue”))
{
//Queueの作成
m_NamespaceManager.CreateQueue(“YourQueue “);
}
//メッセージファクトリの作成
m_MessageingFactory =
MessagingFactory.Create(m_BaseAddress, m_TokenProvider);
//Queueクライアントの作成
m_QueueClient = m_MessagingFactory.CreateQueueClient(“YourQueue “);
//メッセージの送信
m_QueueClient.Send(new BrokeredMessage ( messagebody));
}
これまでの手順は大きく以下の通りです。
・エンドポイントURIの生成
・資格情報の作成
・Namespace Managerの作成
・Queueの作成
・メッセージファクトリの作成
・メッセージファクトリからQueueクライアントの作成(Queueの場合)
このように、利用を開始するまでに多くの手順が存在していました。
SDK 1.7以降ではこの手順が簡略化されています。
以下のコードが新たな利用方法で初期化を実行している例です。
//サービスバスの接続文字列を設定
string SBConnectionString =
“サービス バス 管理ポータルからコピーした接続文字列をここにペースト”;
// NamespaceManagerの作成
m_NamespaceManager = NamespaceManager.CreateFromConnectionString(SBConnectionString);
//Queueの初期化
if (!m_NamespaceManager.QueueExists(“YourQueue”))
{
//Queueの作成
m_NamespaceManager.CreateQueue(“YourQueue “);
}
//Queueクライアントの作成
m_QueueClient = QueueClient.CreateFromConnectionString(SBConnectionString, “OrderProcessQueue”);
//メッセージの送信
m_QueueClient.Send(new BrokeredMessage ( messagebody));
ずいぶんすっきりした感じがしませんか?
ある意味、わずらわしさの原因であったいろいろな「生成物」が必要なくなっています。
新たなステップは以下の通りです。
・接続文字列の取得&設定
・Namespace Managerの作成
・Queueの作成
・Queueクライアントの作成
この例では、接続文字列を直接ローカル変数として持っています。
それでは、この「接続文字列」はどこから入手するのでしょう?
それは管理ポータルから入手します。
新しいサービス バスのポータルを開き、利用したい名前空間を選択し「アクセスキー」をクリックすると、接続文字列が表示されます。
この接続文字列は新ポータルになってから表示されるようになっています。
この接続文字列をコピーしてコード中に設定しておけばOKです。
このように、SDKと管理ポータルのUpdateに伴い、サービス バスの利用も簡略化されています。
この機会に、ぜひサービス バスに触れてみてはいかがでしょう?
[…] ほかにもサービスバスのメッセージを利用する方法がありますが、この方法については過去の記事でご紹介しておりますので、そちらをご参照ください。 […]