Condividi tramite


Libreria client blob di archiviazione di Azure per Python - versione 12.0.0b4

Questo pacchetto di anteprima per Python consente agli utenti di ottenere eventi di feed di modifiche BLOB. Questi eventi possono essere generati in modo più pigro, iterazione per pagina, recuperati per un intervallo di tempo specifico o iterazione da un token di continuazione specifico.

Codice | sorgente Pacchetto (PyPi) | Documentazione di | riferimento sulle API Documentazione | del prodotto Campioni

Introduzione

Prerequisiti

Installare il pacchetto

Installare la libreria client changefeed BLOB di Archiviazione di Azure per Python con pip:

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

Creare un account di archiviazione

Se si vuole creare un nuovo account di archiviazione, è possibile usare il portale di Azure, Azure PowerShell o l'interfaccia della riga di comando di 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

Per abilitare il changefeed, è possibile usare: portale di Azure, Azure PowerShell o modello.

Autenticare il client

L'interazione con il client BLOB ChangeFeed inizia con un'istanza della classe ChangeFeedClient. È necessario un account di archiviazione esistente, il relativo URL e una credenziale per creare un'istanza dell'oggetto client.

Ottenere le credenziali

Per autenticare il client sono disponibili alcune opzioni:

  1. Usare una stringa di token di firma di accesso condiviso
  2. Usare una chiave di accesso condiviso dell'account
  3. Usare una credenziale del token da azure.identity

In alternativa, è possibile eseguire l'autenticazione con una stringa di connessione di archiviazione usando il from_connection_string metodo . Vedere l'esempio: Creazione client con una stringa di connessione.

È possibile omettere le credenziali se l'URL dell'account ha già un token di firma di accesso condiviso.

Creare il client

Dopo aver pronto l'URL e le credenziali dell'account, è possibile creare ChangeFeedClient:

from azure.storage.blob.changefeed import ChangeFeedClient

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

Concetti chiave

Client

Blob ChangeFeed SDK fornisce un client:

  • ChangeFeedClient: questo client consente di ottenere eventi del feed di modifiche in base alla pagina, ottenere tutti gli eventi del feed di modifiche, ottenere eventi in un intervallo di tempo, iniziare a elencare gli eventi con un token di continuazione.

Esempio

Le sezioni seguenti forniscono diversi frammenti di codice che coprono alcuni dei BLOB di archiviazione più comuni ChangeFeed, tra cui:

Creazione client con una stringa di connessione

Creare ChangeFeedClient usando la stringa di connessione all'account di archiviazione di Azure.

from azure.storage.blob.changefeed import ChangeFeedClient

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

Enumerazione degli eventi all'interno di un intervallo di tempo

Elencare tutti gli eventi all'interno di un intervallo di tempo.

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)

Enumerazione di tutti gli eventi

Elencare tutti gli eventi.

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)

Enumerazione degli eventi in base alla pagina

Elencare gli eventi in base alla 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)

Risoluzione dei problemi

Registrazione

Questa libreria usa la libreria di registrazione standard per la registrazione. Le informazioni di base sulle sessioni HTTP (URL, intestazioni e così via) vengono registrate a livello di INFO.

La registrazione dettagliata del livello DEBUG, inclusi i corpi di richiesta/risposta e le intestazioni non attendibili, può essere abilitata in un client con l'argomento 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)

Passaggi successivi

Altro codice di esempio

Introduzione agli esempi di Modifica BLOB di Azure.

Sono disponibili diversi esempi di SDK Python ChangeFeed BLOB di archiviazione nel repository GitHub dell'SDK. Questi esempi forniscono codice di esempio per scenari aggiuntivi comunemente rilevati durante l'uso di BLOB ChangeFeed:

  • change_feed_samples.py - Esempi di autenticazione e funzionamento nel client:
    • elencare gli eventi in base alla pagina
    • elencare tutti gli eventi
    • elencare gli eventi in un intervallo di tempo
    • elencare gli eventi a partire da un token di continuazione

Contributo

In questo progetto sono benvenuti i contributi e i suggerimenti. Per la maggior parte dei contenuti è necessario sottoscrivere un contratto di licenza di collaborazione (CLA, Contributor License Agreement) che stabilisce che l'utente ha il diritto di concedere, e di fatto concede a Microsoft i diritti d'uso del suo contributo. Per informazioni dettagliate, vedere https://cla.microsoft.com.

Quando si invia una richiesta pull, un bot CLA determina automaticamente se è necessario specificare un contratto CLA e completare la richiesta pull in modo appropriato (ad esempio con un'etichetta e un commento). Seguire le istruzioni specificate dal bot. È sufficiente eseguire questa operazione una sola volta per tutti i repository che usano il contratto CLA Microsoft.

Questo progetto ha adottato il Codice di comportamento di Microsoft per l'open source. Per altre informazioni, vedere Code of Conduct FAQ (Domande frequenti sul Codice di comportamento Open Source di Microsoft) oppure contattare opencode@microsoft.com per eventuali altre domande o commenti.