Entsprechend Ihrer Beschreibung möchten Sie access azure blob storage
über SAS_TOKEN
.
Sie auf den Code-Schnipsel wie unten Bezug nehmen könnte funktioniert für mich:
from datetime import datetime, timedelta
import requests
from azure.storage.blob import (
BlockBlobService,
ContainerPermissions,
)
accountName = "<your_account_name>"
accountKey = "<your_account_key>"
containerName = "<your_container_name>"
blobName = "<your_blob_name>"
def GetSasToken():
blobService = BlockBlobService(account_name=accountName, account_key=accountKey)
sas_token = blobService.generate_container_shared_access_signature(containerName,ContainerPermissions.READ, datetime.utcnow() + timedelta(hours=1))
return sas_token
def AccessTest(token):
blobService = BlockBlobService(account_name = accountName, account_key = None, sas_token = token)
blobService.get_blob_to_path(containerName,blobName,"E://test.txt")
token=GetSasToken()
print token
AccessTest(token)
Sie auch weitere Informationen von official tutorial beziehen könnte.
Ich hoffe, es hilft Ihnen.
Welche Art von SAS-Token ist das? Ein Konto SAS? Eine containerspezifische SAS? Auch: Was meinst du mit "es funktioniert nicht"? Haben Sie eine Fehlermeldung erhalten? Gerade jetzt, wie geschrieben, ist diese Frage unklar. Bitte editieren Sie entsprechend. –
Hinweis: 503 ist ein HTTP-Statuscode. Zum googlin ' –
Sie haben Ihre Frage bearbeitet, um einen BLOB-spezifischen SAS zu erwähnen. Das wäre der Kern Ihres Problems. Sie versuchen, den BLOB-Dienstclient mit einem SAS zu initialisieren, der nichts mit der Authentifizierung auf Serviceebene zu tun hat. –