Ich möchte ein JSON Dokument aus einem Azure (Blob) Storage Account lesen, und die Daten in einer Azure Funktion nutzen.

Das folgende ist natürlich stark spezifisch auf meine Notwendigkeiten zugeschnitten und muss vermutlich noch adaptiert werden.

Requirements

Ziemlich einfach: In die requirements.txt habe ich die folgende Zeile hinzugefügt: azure-storage-blob==12.17.0

Meine Lösung

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import json

from azure.storage.blob import BlobClient

def poll_blob():

    connection_string = ...
    container_name = ...
    blob_name = ...

    blob = BlobClient.from_connection_string(
        connection_string,
        container_name,
        blob_name
    )
    data = json.loads(blob.download_blob().content_as_bytes())

Notizen

  • Mein Storage Account hat annonyme Zugriffe aktiviert. Ich bin mir nicht sicher wie die Authentifizierung funktionieren würde, das muss ich noch lernen.
  • Den Connection String findet man im Storage Account unter “Access Keys”. Es gibt zwei solche Strings, davon einfach einen nutzen.
  • Meine Haupt-Quelle war dieser Medium Artikel. Weitere Dinge die darin besprochen wurden benötige ich hier nicht.