Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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:
- Verwenden einer SAS-Tokenzeichenfolge
- Verwenden eines freigegebenen Zugriffsschlüssels für ein Konto
- 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
- Aufzählen von Ereignissen innerhalb eines Zeitbereichs
- Auflisten aller Ereignisse
- Auflisten von Ereignissen nach Seite
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.
Azure SDK for Python