0

C#を使用して(サービスファブリックリソースグループの一部として)既知の名前で自動的に生成されるAzureストレージアカウントにファイルをアップロードしたいとします。Azureストレージアカウントキーを取得する方法

ファイルを公に利用できるようにするには、ファイルをblobとしてアップロードする必要があります。

チュートリアルGet started with Azure Blob storage using .NETは、App.configファイルに格納されている接続文字列を使用します。 生成するストレージアカウントを使用したいので、そのような方法は使用できません。

推奨される方法は、ストレージアカウントのキーを取得するために何らかの形でユーザーのADを使用しています。

このリンク:Get Storage Account Keyは、RestリクエストでGETする方法を示しているので、C#コードを使用してそれを行う方法があると思います。

StorageAccountsプロパティを持つStorageManagementClient classを使用しているようですが、AzureAdを使用して認証する方法は見つかりませんでした。

私は、例えば、AuthenticationContext.AcquireTokenAsyncを使用して、そしてdiffenentリソースのためのトークンをaquiring試してみました:私は別の取得

Microsoft.WindowsAzure.CloudException: AuthenticationFailed: The JWT token does not contain expected audience uri 'https://management.core.windows.net/'. 

リソースhttps://management.core.windows.net/を使用する場合:https://management.azure.com/が、トークンを使用しているとき、私は次のエラーを取得しますエラー:

別のリソースを使用する必要がありますか、別の方法がありますか、それとも不可能でしょうか?

+0

使用しているコードを共有してください。また、トークンを取得するために自分自身でログインしている場合は、共有します。最後に、2番目のエラーについては、このスレッドをご覧ください:http://stackoverflow.com/questions/35190866/error-making-azure-management-library-api-call-when-authenticating-with-azure-ac/35194706#35194706 。 HTH。 –

+0

@ Bobcat100この問題は修正されましたか?まだ問題がある場合は、私に知らせてください。 –

答えて

2

Storage Service Management RESTを使用するには、https://management.azure.com/の代わりにhttps://management.core.windows.net/にリソースを指定する必要があります。これは古典的なストレージアカウントを操作することを使用しています。

https://management.azure.com/は、Azure REST serviceの新しいエンドポイントです。新しいストレージアカウントを処理する場合は、このリソースを使用する必要があります。以下は参考用に新しいAzure RESTを使用したサンプルです:

POST: https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resrouceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}/listKeys?api-version=2016-01-01 
Authorization: Bearer {token} 
関連する問題