2016-07-29 15 views
0

次のAddMessage呼び出し(別のポストから借りたコード)が失敗しました。「リモートサーバーからエラーが返されました:(401)Unauthorized」AzureサービスバスAddMessageが返す401

var queue = new CloudQueueClient(
    new Uri("https://<service-account>.servicebus.windows.net/"), 
    new StorageCredentials("access1", "xxx")).GetQueueReference("queue1"); 

queue.AddMessage(new CloudQueueMessage("Hello")); 

ここで、xxxはAzureの設定画面からコピーされた44文字のPRIMARY KEYです。 「特別な」文字は含まれていません。誰かが私が間違っているのを見ることができますか?サービスレベルのサービスアクセスポリシーの資格情報を使用すると、同じ401エラーが発生します。

これは私のサービスアカウントのAzure policy configurationです。

(私は別のアプローチを試みるが、別の思わぬ障害service bus connection-string problemを襲った)

+0

ロブ、あなたは間違ったことをやっているよ!あなたの他の質問に対する私の答えを見てください。 –

+0

私はStorageCredentialsとCloudQueueClientを混在させてトラックを外していると思います。サービスバスに対応する構文はありますか? –

答えて

0

は、ここであなたがそれを行うことができる方法です。プロジェクトにMicrosoft.ServiceBus.dllへの参照が追加されていることを確認してください。キューを作成するなどのサービスバスレベルでの操作を実行するなど

のメッセージを読んで、メッセージの追加などqueueClientを使用して、そのキューに対して操作を実行することができます

  var queueClient = QueueClient.CreateFromConnectionString(ConnectionString, queueName); 

さて、あなたはNamespaceManagerのインスタンスを取得する必要があります次のように:https://azure.microsoft.com/en-in/documentation/articles/service-bus-dotnet-get-started-with-queues/

 var manager = NamespaceManager.CreateFromConnectionString(ConnectionString); 
     manager.CreateQueue(queue); 

私は非常にサービスバスを始めるために、このガイドを読むことをお勧めします。

関連する問題