0

C#을 사용하여 자동으로 생성 된 Azure 저장소 계정에 파일을 업로드하려고합니다 (알려진 이름의 서비스 패브릭 자원 그룹의 일부로).Azure 저장소 계정 키를 얻는 방법

공개적으로 사용할 수 있도록 파일을 blob로 업로드해야합니다.

자습서 Get started with Azure Blob storage using .NET은 App.config 파일에 저장된 연결 문자열을 사용합니다. 생성 될 스토리지 계정을 사용하고 싶기 때문에 이러한 방법을 사용할 수 없습니다.

선호하는 방법은 저장소 계정의 키를 가져 오기 위해 어떻게 든 사용자의 AD를 사용하는 것입니다.

이 링크 : Get Storage Account Key은 Rest 요청으로 얻는 방법을 보여 주므로 C# 코드를 사용하여이를 수행하는 방법이 있다고 생각합니다.

AzureAd를 사용하여 인증하는 방법을 찾을 수는 없지만 해결책은 StorageAccounts 속성이있는 class StorageManagementClient를 사용하고있는 것처럼 보입니다.

나는 예를 들어, AuthenticationContext.AcquireTokenAsync을 사용하고 diffenent 자원에 대한 토큰을 aquiring 시도 : https://management.azure.com/을하지만 토큰을 사용할 때, 나는 다음과 같은 오류 얻을 : 자원 https://management.core.windows.net/를 사용하는 경우 내가 다른 얻을

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

을 오류 :

내가 사용해야하는 다른 리소스가 있습니까, 다른 방법이 있습니까, 아니면 불가능할 수 있습니까?

+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} 
관련 문제