Azure Storage Blob ChangeFeed-klientbibliotek för Python – version 12.0.0b4
Det här förhandsversionspaketet för Python gör det möjligt för användare att hämta blobändringsflödeshändelser. Dessa händelser kan genereras lazily, itereras efter sida, hämtas för ett visst tidsintervall eller itereras från en specifik fortsättningstoken.
| Källkod Paket (PyPi) | API-referensdokumentation | Produktdokumentation | Prover
Komma igång
Förutsättningar
- Python 3.6 eller senare krävs för att använda det här paketet.
- Du måste ha en Azure-prenumeration och ett Azure Storage-konto för att kunna använda det här paketet.
Installera paketet
Installera Azure Storage Blob ChangeFeed-klientbiblioteket för Python med pip:
pip install azure-storage-blob-changefeed --pre
Skapa ett lagringskonto
Om du vill skapa ett nytt lagringskonto kan du använda Azure Portal, Azure PowerShell eller Azure CLI:
# 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
Om du vill aktivera ändringsfeed kan du använda: Azure-portalen, Azure PowerShell eller mall.
Autentisera klienten
Interaktion med Blob ChangeFeed-klienten börjar med en instans av klassen ChangeFeedClient. Du behöver ett befintligt lagringskonto, dess URL och en autentiseringsuppgift för att instansiera klientobjektet.
Hämta autentiseringsuppgifter
För att autentisera klienten har du några alternativ:
- Använda en SAS-tokensträng
- Använda en nyckel för delad åtkomst för ett konto
- Använda en tokenautentiseringsuppgift från azure.identity
Du kan också autentisera from_connection_string
med en lagringsanslutningssträng med hjälp av metoden . Se exempel: Skapa klient med en anslutningssträng.
Du kan utelämna autentiseringsuppgifterna om din konto-URL redan har en SAS-token.
Skapa en klient
När du har skapat din konto-URL och dina autentiseringsuppgifter kan du skapa ChangeFeedClient:
from azure.storage.blob.changefeed import ChangeFeedClient
service = ChangeFeedClient(account_url="https://<my-storage-account-name>.blob.core.windows.net/", credential=credential)
Viktiga begrepp
Klienter
Blob ChangeFeed SDK tillhandahåller en klient:
- ChangeFeedClient: Med den här klienten kan du hämta ändringsflödeshändelser per sida, hämta alla ändringsflödeshändelser, hämta händelser inom ett tidsintervall, börja lista händelser med en fortsättningstoken.
Exempel
Följande avsnitt innehåller flera kodfragment som täcker några av de vanligaste Storage Blob ChangeFeed, inklusive:
- Skapa klient med en anslutningssträng
- Räkna upp händelser inom ett tidsintervall
- Räkna upp alla händelser
- Räkna upp händelser efter sida
Skapa klient med en anslutningssträng
Skapa ChangeFeedClient med hjälp av anslutningssträngen till ditt Azure Storage-konto.
from azure.storage.blob.changefeed import ChangeFeedClient
service = ChangeFeedClient.from_connection_string(conn_str="my_connection_string")
Räkna upp händelser inom ett tidsintervall
Visa en lista över alla händelser inom ett tidsintervall.
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)
Räkna upp alla händelser
Visa en lista över alla händelser.
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)
Räkna upp händelser efter sida
Visa en lista över händelser efter sida.
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)
Felsökning
Loggning
Det här biblioteket använder standardloggningsbiblioteket för loggning. Grundläggande information om HTTP-sessioner (URL:er, rubriker osv.) loggas på INFO-nivå.
Detaljerad loggning på FELSÖKNINGsnivå, inklusive begärande-/svarskroppar och oredigerade huvuden, kan aktiveras på en klient med logging_enable
argumentet :
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ästa steg
Mer exempelkod
Kom igång med våra Azure Blob ChangeFeed-exempel.
Flera Storage Blob ChangeFeed Python SDK-exempel är tillgängliga för dig på SDK:s GitHub-lagringsplats. De här exemplen innehåller exempelkod för ytterligare scenarier som ofta påträffas när du arbetar med Blob ChangeFeed:
- change_feed_samples.py – Exempel för autentisering och drift på klienten:
- visa en lista över händelser efter sida
- visa en lista över alla händelser
- visa en lista över händelser i ett tidsintervall
- listhändelser som startar från en fortsättningstoken
Bidra
Det här projektet välkomnar bidrag och förslag. Merparten av bidragen kräver att du godkänner ett licensavtal för bidrag, där du deklarerar att du har behörighet att bevilja oss rättigheten att använda ditt bidrag, och att du dessutom uttryckligen gör så. Mer information finns på https://cla.microsoft.com.
När du skickar en pull-förfrågan avgör en CLA-robot automatiskt om du måste tillhandahålla ett licensavtal för bidrag med lämplig PR (t.ex. etikett eller kommentar). Följ bara robotens anvisningar. Du behöver bara göra detta en gång för alla repor som använder vårt licensavtal för bidrag.
Det här projektet använder sig av Microsofts uppförandekod för öppen källkod. Mer information finns i Vanliga frågor och svar om uppförandekoden eller kontakta opencode@microsoft.com med ytterligare frågor eller kommentarer.
Azure SDK for Python