Udostępnij za pośrednictwem


Biblioteka klienta ChangeFeed usługi Azure Storage Blob dla języka Python — wersja 12.0.0b4

Ten pakiet w wersji zapoznawczej dla języka Python umożliwia użytkownikom pobieranie zdarzeń zestawienia zmian obiektów blob. Te zdarzenia można generować z opóźnieniem, iterować według strony, pobierać dla określonego interwału czasu lub iterować z określonego tokenu kontynuacji.

Kod | źródłowy Pakiet (PyPi) | Dokumentacja referencyjna interfejsu | API Dokumentacja | produktu Próbki

Wprowadzenie

Wymagania wstępne

Instalowanie pakietu

Zainstaluj bibliotekę klienta Azure Storage Blob ChangeFeed dla języka Python za pomocą narzędzia pip:

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

Tworzenie konta magazynu

Jeśli chcesz utworzyć nowe konto magazynu, możesz użyć witryny Azure Portal, Azure PowerShell lub interfejsu wiersza polecenia platformy Azure:

# 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

Aby włączyć kanał zmian, możesz użyć witryny Azure Portal, Azure PowerShell lub szablonu.

Uwierzytelnianie klienta

Interakcja z klientem ChangeFeed obiektu blob rozpoczyna się od wystąpienia klasy ChangeFeedClient. Do utworzenia wystąpienia obiektu klienta potrzebne jest istniejące konto magazynu, jego adres URL i poświadczenia.

Pobieranie poświadczeń

Aby uwierzytelnić klienta, masz kilka opcji:

  1. Używanie ciągu tokenu sygnatury dostępu współdzielonego
  2. Używanie klucza dostępu współdzielonego konta
  3. Używanie poświadczeń tokenu z pliku azure.identity

Alternatywnie można uwierzytelnić się za pomocą parametrów połączenia magazynu przy użyciu from_connection_string metody . Zobacz przykład: Tworzenie klienta przy użyciu parametrów połączenia.

Możesz pominąć poświadczenie, jeśli adres URL konta ma już token SAS.

Tworzenie klienta

Po uzyskaniu gotowego adresu URL konta i poświadczeń możesz utworzyć element ChangeFeedClient:

from azure.storage.blob.changefeed import ChangeFeedClient

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

Kluczowe pojęcia

Klienci

Zestaw SDK ChangeFeed obiektu blob udostępnia jednego klienta:

  • ChangeFeedClient: ten klient umożliwia pobieranie zdarzeń zestawienia zmian według strony, pobieranie wszystkich zdarzeń zestawienia zmian, pobieranie zdarzeń w zakresie czasu, rozpoczynanie wyświetlania listy zdarzeń za pomocą tokenu kontynuacji.

Przykłady

W poniższych sekcjach przedstawiono kilka fragmentów kodu obejmujących niektóre z najbardziej typowych zmian obiektu blob usługi Storage, w tym:

Tworzenie klienta przy użyciu parametrów połączenia

Utwórz obiekt ChangeFeedClient przy użyciu parametrów połączenia z kontem usługi Azure Storage.

from azure.storage.blob.changefeed import ChangeFeedClient

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

Wyliczanie zdarzeń w zakresie czasu

Wyświetl listę wszystkich zdarzeń w zakresie czasu.

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)

Wyliczanie wszystkich zdarzeń

Wyświetl listę wszystkich zdarzeń.

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)

Wyliczanie zdarzeń według strony

Wyświetlanie listy zdarzeń według strony.

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)

Rozwiązywanie problemów

Rejestrowanie

Ta biblioteka używa standardowej biblioteki rejestrowania do rejestrowania. Podstawowe informacje o sesjach HTTP (adresach URL, nagłówkach itp.) są rejestrowane na poziomie INFORMACJI.

Szczegółowe rejestrowanie na poziomie DEBUG, w tym treści żądań/odpowiedzi i nieredagowanych nagłówków, można włączyć na kliencie z argumentem logging_enable :

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)

Następne kroki

Więcej przykładów kodu

Rozpocznij pracę z przykładami usługi Azure Blob ChangeFeed.

Kilka przykładów zestawu SDK usługi Storage Blob ChangeFeed dla języka Python jest dostępnych w repozytorium GitHub zestawu SDK. Te przykłady zawierają przykładowy kod dla dodatkowych scenariuszy, które często występują podczas pracy z funkcją ChangeFeed obiektu blob:

  • change_feed_samples.py — przykłady uwierzytelniania i działania na kliencie:
    • wyświetlanie listy zdarzeń według strony
    • wyświetlanie listy wszystkich zdarzeń
    • wyświetlanie listy zdarzeń w zakresie czasu
    • wyświetlanie listy zdarzeń rozpoczynających się od tokenu kontynuacji

Współtworzenie

W tym projekcie zachęcamy do współtworzenia i zgłaszania sugestii. Współtworzenie w większości przypadków wymaga zgody na umowę licencyjną dotyczącą współautorów (CLA, Contributor License Agreement), zgodnie z którą współautor ma prawo udzielić i faktycznie udziela nam praw do używania wytworzonej przez siebie zawartości. Aby uzyskać szczegółowe informacje, odwiedź stronę https://cla.microsoft.com.

Po przesłaniu żądania ściągnięcia robot CLA automatycznie określi, czy musisz przekazać umowę CLA, i doda odpowiednie informacje do tego żądania (na przykład etykietę czy komentarz). Po prostu postępuj zgodnie z instrukcjami robota. Wystarczy zrobić to raz dla wszystkich repozytoriów, w przypadku których jest używana nasza umowa CLA.

W tym projekcie przyjęto Kodeks postępowania oprogramowania Open Source firmy Microsoft. Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące kodeksu postępowania lub skontaktuj się z opencode@microsoft.com dodatkowymi pytaniami lub komentarzami.