Delen via


Azure Storage Blob ChangeFeed-clientbibliotheek voor Python - versie 12.0.0b4

Met dit preview-pakket voor Python kunnen gebruikers gebeurtenissen in de blob-wijzigingenfeed ophalen. Deze gebeurtenissen kunnen eenvoudig worden gegenereerd, per pagina worden getimed, voor een bepaald tijdsinterval worden opgehaald of worden getimed uit een specifiek vervolgtoken.

Broncode | Pakket (PyPi) | API-referentiedocumentatie | Productdocumentatie | Monsters

Aan de slag

Vereisten

Het pakket installeren

Installeer de Azure Storage Blob ChangeFeed-clientbibliotheek voor Python met pip:

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

Create a storage account

Als u een nieuw opslagaccount wilt maken, kunt u Azure Portal, Azure PowerShell of Azure CLI gebruiken:

# 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

Als u changefeed wilt inschakelen, kunt u: Azure Portal, Azure PowerShell of Sjabloon gebruiken.

De client verifiëren

Interactie met de Blob ChangeFeed-client begint met een exemplaar van de klasse ChangeFeedClient. U hebt een bestaand opslagaccount, de URL en een referentie nodig om het clientobject te instantiëren.

Referenties ophalen

Als u de client wilt verifiëren, hebt u een aantal opties:

  1. Een SAS-tokentekenreeks gebruiken
  2. Een gedeelde toegangssleutel voor een account gebruiken
  3. Een tokenreferentie van azure.identity gebruiken

U kunt zich ook verifiëren met een opslag-connection string met behulp van de from_connection_string -methode. Zie voorbeeld: Client maken met een connection string.

U kunt de referentie weglaten als uw account-URL al een SAS-token heeft.

Client maken

Zodra u de ACCOUNT-URL en referenties bij de hand hebt, kunt u de ChangeFeedClient maken:

from azure.storage.blob.changefeed import ChangeFeedClient

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

Belangrijkste concepten

Clients

De Blob ChangeFeed SDK biedt één client:

  • ChangeFeedClient: met deze client kunt u gebeurtenissen van wijzigingenfeeds per pagina ophalen, alle wijzigingenfeed-gebeurtenissen ophalen, gebeurtenissen in een tijdsbereik ophalen, gebeurtenissen met een vervolgtoken gaan vermelden.

Voorbeelden

De volgende secties bevatten verschillende codefragmenten voor enkele van de meest voorkomende Storage Blob ChangeFeed, waaronder:

Client maken met een connection string

Maak de ChangeFeedClient met behulp van de connection string naar uw Azure Storage-account.

from azure.storage.blob.changefeed import ChangeFeedClient

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

Gebeurtenissen opsommen binnen een tijdsbereik

Alle gebeurtenissen binnen een tijdsbereik weergeven.

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)

Alle gebeurtenissen opsommen

Alle gebeurtenissen weergeven.

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)

Gebeurtenissen opsommen per pagina

Gebeurtenissen weergeven op pagina.

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)

Problemen oplossen

Logboekregistratie

Deze bibliotheek maakt gebruik van de standaardbibliotheek voor logboekregistratie voor logboekregistratie. Basisinformatie over HTTP-sessies (URL's, headers, enzovoort) wordt geregistreerd op INFO-niveau.

Gedetailleerde logboekregistratie op foutopsporingsniveau, inclusief aanvraag-/antwoordteksten en niet-bewerkte headers, kan worden ingeschakeld op een client met het logging_enable argument:

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)

Volgende stappen

Meer voorbeeldcode

Ga aan de slag met onze Azure Blob ChangeFeed-voorbeelden.

Verschillende Storage Blob ChangeFeed Python SDK-voorbeelden zijn voor u beschikbaar in de GitHub-opslagplaats van de SDK. Deze voorbeelden bieden voorbeeldcode voor aanvullende scenario's die vaak voorkomen tijdens het werken met Blob ChangeFeed:

  • change_feed_samples.py - Voorbeelden voor verificatie en bediening op de client:
    • gebeurtenissen weergeven op pagina
    • alle gebeurtenissen weergeven
    • gebeurtenissen in een tijdsbereik weergeven
    • gebeurtenissen weergeven die beginnen met een vervolgtoken

Bijdragen

Wij verwelkomen bijdragen en suggesties voor dit project. Voor de meeste bijdragen moet u instemmen met een licentieovereenkomst voor bijdragers (CLA: Contributor License Agreement) waarin u verklaart dat u gerechtigd bent ons het recht te geven uw bijdrage te gebruiken, en dat u dit ook doet. Ga naar https://cla.microsoft.com voor meer informatie.

Wanneer u een pull-aanvraag indient, wordt met een CLA-bot automatisch bepaald of u een CLA moet verschaffen en wordt de pull-aanvraag dienovereenkomstig opgemaakt (bijvoorbeeld met een label of commentaar). Volg gewoon de instructies van de bot. U hoeft dit maar eenmaal te doen voor alle repo's waar gebruik wordt gemaakt van onze CLA.

Op dit project is de Microsoft Open Source Code of Conduct (Microsoft Open Source-gedragscode) van toepassing. Zie de Veelgestelde vragen over de gedragscode voor meer informatie of neem contact op opencode@microsoft.com met eventuele aanvullende vragen of opmerkingen.