Share via


Azure Storage Blob ChangeFeed-Clientbibliothek für Python – Version 12.0.0b4

Mit diesem Vorschaupaket für Python können Benutzer Blob-Änderungsfeedereignisse abrufen. Diese Ereignisse können lazily generiert, nach Seite durchlaufen, für ein bestimmtes Zeitintervall abgerufen oder aus einem bestimmten Fortsetzungstoken durchlaufen werden.

Quellcode | Paket (PyPi) | API-Referenzdokumentation | Produktdokumentation | Proben

Erste Schritte

Voraussetzungen

  • Für die Verwendung dieses Pakets ist Python 3.6 oder höher erforderlich.
  • Sie benötigen ein Azure-Abonnement und ein Azure-Speicherkonto , um dieses Paket verwenden zu können.

Installieren des Pakets

Installieren Sie die Azure Storage Blob ChangeFeed-Clientbibliothek für Python mit pip:

pip install azure-storage-blob-changefeed --pre

Speicherkonto erstellen

Wenn Sie ein neues Speicherkonto erstellen möchten, können Sie das Azure-Portal, Azure PowerShell oder die Azure CLI verwenden:

# Create a new resource group to hold the storage account -
# if using an existing resource group, skip this step
az group create --name my-resource-group --location westus2

# Create the storage account
az storage account create -n my-storage-account-name -g my-resource-group

Zum Aktivieren des Changefeeds können Sie folgendes verwenden: Azure-Portal, Azure PowerShell oder Vorlage.

Authentifizieren des Clients

Die Interaktion mit dem Blob ChangeFeed-Client beginnt mit einer Instanz der ChangeFeedClient-Klasse. Sie benötigen ein vorhandenes Speicherkonto, dessen URL und anmeldeinformationen, um das Clientobjekt zu instanziieren.

Abrufen von Anmeldeinformationen

Um den Client zu authentifizieren, haben Sie einige Optionen:

  1. Verwenden einer SAS-Tokenzeichenfolge
  2. Verwenden eines freigegebenen Zugriffsschlüssels für ein Konto
  3. Verwenden von Tokenanmeldeinformationen aus "azure.identity"

Alternativ können Sie sich mithilfe der from_connection_string -Methode mit einer Speicherverbindungszeichenfolge authentifizieren. Siehe Beispiel: Clienterstellung mit einer Verbindungszeichenfolge.

Sie können die Anmeldeinformationen weglassen, wenn Ihre Konto-URL bereits über ein SAS-Token verfügt.

Erstellen des Clients

Sobald Sie Ihre Konto-URL und Ihre Anmeldeinformationen bereit haben, können Sie den ChangeFeedClient erstellen:

from azure.storage.blob.changefeed import ChangeFeedClient

service = ChangeFeedClient(account_url="https://<my-storage-account-name>.blob.core.windows.net/", credential=credential)

Wichtige Begriffe

Clients

Das Blob ChangeFeed SDK bietet einen Client:

  • ChangeFeedClient: Mit diesem Client können Sie Änderungsfeedereignisse nach Seite abrufen, alle Änderungsfeedereignisse abrufen, Ereignisse in einem Zeitbereich abrufen und das Auflisten von Ereignissen mit einem Fortsetzungstoken starten.

Beispiele

Die folgenden Abschnitte enthalten mehrere Codeausschnitte, die einige der gängigsten Speicherblob-Änderungsfeeds behandeln, einschließlich:

Clienterstellung mit einer Verbindungszeichenfolge

Erstellen Sie den ChangeFeedClient mithilfe der Verbindungszeichenfolge zu Ihrem Azure Storage-Konto.

from azure.storage.blob.changefeed import ChangeFeedClient

service = ChangeFeedClient.from_connection_string(conn_str="my_connection_string")

Aufzählen von Ereignissen innerhalb eines Zeitbereichs

Listet alle Ereignisse innerhalb eines Zeitbereichs auf.

from datetime import datetime
from azure.storage.blob.changefeed import ChangeFeedClient

cf_client = ChangeFeedClient("https://{}.blob.core.windows.net".format("YOUR_ACCOUNT_NAME"),
                             credential="Your_ACCOUNT_KEY")
start_time = datetime(2020, 1, 6)
end_time = datetime(2020, 3, 4)
change_feed = cf_client.list_changes(start_time=start_time, end_time=end_time)

# print range of events
for event in change_feed:
    print(event)

Auflisten aller Ereignisse

Listet alle Ereignisse auf.

from azure.storage.blob.changefeed import ChangeFeedClient

cf_client = ChangeFeedClient("https://{}.blob.core.windows.net".format("YOUR_ACCOUNT_NAME"),
                             credential="Your_ACCOUNT_KEY")
change_feed = cf_client.list_changes()

# print all events
for event in change_feed:
    print(event)

Auflisten von Ereignissen nach Seite

Auflisten von Ereignissen nach Seite

from azure.storage.blob.changefeed import ChangeFeedClient

cf_client = ChangeFeedClient("https://{}.blob.core.windows.net".format("YOUR_ACCOUNT_NAME"),
                             credential="Your_ACCOUNT_KEY")

change_feed = cf_client.list_changes().by_page()

# print first page of events
change_feed_page1 = next(change_feed)
for event in change_feed_page1:
    print(event)

Problembehandlung

Protokollierung

Diese Bibliothek verwendet die Standardprotokollierungsbibliothek für die Protokollierung. Grundlegende Informationen zu HTTP-Sitzungen (URLs, Header usw.) werden auf INFO-Ebene protokolliert.

Eine detaillierte Protokollierung auf DEBUG-Ebene, einschließlich Anforderungs-/Antworttexten und nicht ausgeführten Headern, kann auf einem Client mit dem logging_enable Argument aktiviert werden:

import sys
import logging
from azure.storage.blob.changefeed import ChangeFeedClient

# Create a logger for the 'azure.storage.blob.changefeed' SDK
logger = logging.getLogger('azure.storage')
logger.setLevel(logging.DEBUG)

# Configure a console output
handler = logging.StreamHandler(stream=sys.stdout)
logger.addHandler(handler)

# This client will log detailed information about its HTTP sessions, at DEBUG level
service_client = ChangeFeedClient.from_connection_string("your_connection_string", logging_enable=True)

Nächste Schritte

Weiterer Beispielcode

Erste Schritte mit unseren Azure Blob ChangeFeed-Beispielen.

Mehrere Beispiele für das Storage Blob ChangeFeed Python SDK stehen Ihnen im GitHub-Repository des SDK zur Verfügung. Diese Beispiele enthalten Beispielcode für zusätzliche Szenarien, die häufig bei der Arbeit mit Blob ChangeFeed auftreten:

  • change_feed_samples.py – Beispiele für die Authentifizierung und den Betrieb auf dem Client:
    • Ereignisse nach Seite auflisten
    • Alle Ereignisse auflisten
    • Auflisten von Ereignissen in einem Zeitbereich
    • Auflisten von Ereignissen ab einem Fortsetzungstoken

Mitwirken

Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Ausführliche Informationen finden Sie unter https://cla.microsoft.com.

Wenn Sie einen Pull Request (PR) übermitteln, überprüft ein CLA-Bot automatisch, ob Sie eine Lizenzvereinbarung bereitstellen und den PR entsprechend ergänzen müssen (z.B. mit einer Bezeichnung oder einem Kommentar). Führen Sie einfach die Anweisungen des Bots aus. Sie müssen dies nur einmal für alle Repositorys ausführen, die unsere CLA verwenden.

Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.