0

Ich möchte eine Datei in ein Azure Storage-Konto hochladen, das (als Teil einer Service Fabric-Ressourcengruppe mit einem bekannten Namen) mithilfe von C# automatisch generiert wird.So erhalten Sie den Azure-Speicherkontoschlüssel

Ich muss die Datei als Blob hochladen, damit sie öffentlich verfügbar ist.

Das Lernprogramm Get started with Azure Blob storage using .NET verwendet eine Verbindungszeichenfolge, die in der App.config-Datei gespeichert ist. Da ich das zu erstellende Speicherkonto verwenden möchte, kann ich eine solche Methode nicht verwenden.

Die bevorzugte Methode verwendet das AD des Benutzers irgendwie, um den Schlüssel des Speicherkontos zu erhalten.

Dieser Link: Get Storage Account Key zeigt, wie man es mit einer Ruheanforderung erhalten, also denke ich, es gibt eine Möglichkeit, es mit C# -Code zu tun.

Es scheint mir, dass die Lösung den StorageManagementClient class verwendet, der über eine StorageAccounts-Eigenschaft verfügt, obwohl ich keine Möglichkeit zur Authentifizierung mithilfe von AzureAd finden konnte.

Ich versuchte AuthenticationContext.AcquireTokenAsync verwenden, und ein Token für diffenent Ressourcen aquiring, zum Beispiel: https://management.azure.com/, aber wenn das Token verwenden, erhalte ich folgende Fehlermeldung:

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

Wenn die Ressource mit https://management.core.windows.net/ ich einen anderen bekommen Fehler:

Gibt es eine andere Ressource, die ich verwenden sollte, andere Methode, oder vielleicht ist es unmöglich?

+0

Bitte teilen Sie den Code, den Sie verwenden. Teilen Sie auch, wenn Sie sich anmelden, um das Token zu erwerben. Zuletzt, für Ihren 2. Fehler sehen Sie bitte diesen Thread: http://stackoverflow.com/questions/35190866/error-making-azure-management-library-api-call-when-authenticating-with-azure-ac/35194706#35194706 . HTH. –

+0

@ Bobcat100 Haben Sie dieses Problem behoben? Wenn Sie noch ein Problem haben, können Sie sich gerne an mich wenden. –

Antwort

2

Um die Storage Service Management REST zu verwenden, müssen wir die Ressource https://management.core.windows.net/ anstelle von https://management.azure.com/ angeben. Und dies ist die Verwendung der klassischen Speicherkonto.

Die https://management.azure.com/ ist der neue Endpunkt für die Azure REST service. Wenn Sie mit dem neuen Speicherkonto arbeiten möchten, müssen Sie diese Ressource verwenden. Und unten finden Sie ein Beispiel, das den neuen Azure REST zu Ihrer Referenz verwendet:

POST: https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resrouceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}/listKeys?api-version=2016-01-01 
Authorization: Bearer {token} 
Verwandte Themen