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
- Python 3.6 ou version ultérieure est requis pour utiliser ce package.
- Vous devez disposer d’un abonnement Azure et d’un compte de stockage Azure pour utiliser ce package.
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 :
- Utiliser une chaîne de jeton SAS
- Utiliser une clé d’accès partagé de compte
- 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
- Énumération des événements dans un intervalle de temps
- Énumération de tous les événements
- Énumération d’événements par page
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.
Azure SDK for Python