Dela via


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

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:

  1. Använda en SAS-tokensträng
  2. Använda en nyckel för delad åtkomst för ett konto
  3. 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

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.