Bibliothèque cliente Azure Storage Blob ChangeFeed pour Python - version 12.0.0b4

Ce package en préversion pour Python permet aux utilisateurs d’obtenir des événements de flux de modification d’objet blob. Ces événements peuvent être générés tardivement, itérés par page, récupérés pendant un intervalle de temps spécifique ou itérés à partir d’un jeton de continuation spécifique.

| Code sourcePackage (PyPi) | Documentation de référence sur les | API | Documentation produitÉchantillons

Prise en main

Prérequis

Installer le package

Installez la bibliothèque cliente ChangeFeed de Stockage Azure pour Python avec pip :

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

Créez un compte de stockage.

Si vous souhaitez créer un compte de stockage, vous pouvez utiliser le portail Azure, Azure PowerShell ou 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

Pour activer le flux de modification, vous pouvez utiliser : Portail Azure, Azure PowerShell ou Modèle.

Authentifier le client

L’interaction avec le client Blob ChangeFeed commence par une instance de la classe ChangeFeedClient. Vous avez besoin d’un compte de stockage existant, de son URL et d’informations d’identification pour instancier l’objet client.

Récupérer les informations d’identification

Pour authentifier le client, vous avez quelques options :

  1. Utiliser une chaîne de jeton SAS
  2. Utiliser une clé d’accès partagé de compte
  3. Utiliser des informations d’identification de jeton à partir d’azure.identity

Vous pouvez également vous authentifier avec une chaîne de connexion de stockage à l’aide de la from_connection_string méthode . Voir l’exemple : Création de client avec une chaîne de connexion.

Vous pouvez omettre les informations d’identification si l’URL de votre compte a déjà un jeton SAS.

Créer un client

Une fois que vous avez l’URL et les informations d’identification de votre compte prêts, vous pouvez créer le ChangeFeedClient :

from azure.storage.blob.changefeed import ChangeFeedClient

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

Concepts clés

Clients

Le Kit de développement logiciel (SDK) Blob ChangeFeed fournit un client :

  • ChangeFeedClient : ce client vous permet d’obtenir des événements de flux de modification par page, d’obtenir tous les événements de flux de modification, d’obtenir des événements dans un intervalle de temps, de commencer à répertorier les événements avec un jeton de continuation.

Exemples

Les sections suivantes fournissent plusieurs extraits de code couvrant certains des flux de modification d’objets blob de stockage les plus courants, notamment :

Création de client avec une chaîne de connexion

Créez changeFeedClient à l’aide de la chaîne de connexion à votre compte de stockage Azure.

from azure.storage.blob.changefeed import ChangeFeedClient

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

Énumération des événements dans un intervalle de temps

Répertorier tous les événements dans un intervalle de temps.

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)

Énumération de tous les événements

Répertorier tous les événements.

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)

Énumération d’événements par page

Répertorier les événements par page.

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)

Résolution des problèmes

Journalisation

Cette bibliothèque utilise la bibliothèque de journalisation standard pour la journalisation. Les informations de base sur les sessions HTTP (URL, en-têtes, etc.) sont enregistrées au niveau INFO.

La journalisation détaillée au niveau DEBUG, y compris les corps de requête/réponse et les en-têtes non expurgés, peut être activée sur un client avec l’argument 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)

Étapes suivantes

Autres exemples de code

Prise en main de nos exemples Azure Blob ChangeFeed.

Plusieurs exemples de SDK Python ChangeFeed d’objet blob de stockage sont disponibles dans le référentiel GitHub du SDK. Ces exemples fournissent un exemple de code pour des scénarios supplémentaires couramment rencontrés lors de l’utilisation de Blob ChangeFeed :

  • change_feed_samples.py : exemples d’authentification et d’exploitation sur le client :
    • répertorier les événements par page
    • répertorier tous les événements
    • répertorier les événements dans un intervalle de temps
    • répertorier les événements à partir d’un jeton de continuation

Contribution

Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, visitez https://cla.microsoft.com.

Quand vous envoyez une demande de tirage (pull request), un bot CLA détermine automatiquement si vous devez fournir un contrat CLA et agrémenter la demande de tirage de façon appropriée (par exemple, avec une étiquette ou un commentaire). Suivez simplement les instructions fournies par le bot. Vous ne devez effectuer cette opération qu’une seule fois sur tous les dépôts utilisant notre contrat CLA.

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.