Compartir a través de


Biblioteca cliente ChangeFeed de Blob de Azure Storage para Python: versión 12.0.0b4

Este paquete de versión preliminar para Python permite a los usuarios obtener eventos de fuente de cambios de blobs. Estos eventos se pueden generar, iterar por página, recuperarse durante un intervalo de tiempo específico o iterar desde un token de continuación específico.

Código | fuente Paquete (PyPi) | Documentación | de referencia de APIDocumentación | del producto Muestras

Introducción

Requisitos previos

Instalar el paquete

Instale la biblioteca cliente ChangeFeed de Blob de Azure Storage para Python con pip:

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

Crear una cuenta de almacenamiento

Si desea crear una cuenta de almacenamiento, puede usar Azure Portal, Azure PowerShell o la CLI de 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

Para habilitar el suministro de cambios, puede usar: Azure Portal, Azure PowerShell o Plantilla.

Autenticar el cliente

La interacción con el cliente ChangeFeed de Blob comienza con una instancia de la clase ChangeFeedClient. Necesita una cuenta de almacenamiento existente, su dirección URL y una credencial para crear una instancia del objeto de cliente.

Obtener credenciales

Para autenticar el cliente, tiene algunas opciones:

  1. Uso de una cadena de token de SAS
  2. Uso de una clave de acceso compartido de cuenta
  3. Uso de una credencial de token de azure.identity

Como alternativa, puede autenticarse con una cadena de conexión de almacenamiento mediante el from_connection_string método . Vea ejemplo: Creación de cliente con una cadena de conexión.

Puede omitir la credencial si la dirección URL de la cuenta ya tiene un token de SAS.

Crear el cliente

Una vez que tenga lista la dirección URL y las credenciales de la cuenta, puede crear ChangeFeedClient:

from azure.storage.blob.changefeed import ChangeFeedClient

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

Conceptos clave

Clientes

El SDK de Blob ChangeFeed proporciona un cliente:

  • ChangeFeedClient: este cliente le permite obtener eventos de fuente de cambios por página, obtener todos los eventos de fuente de cambios, obtener eventos en un intervalo de tiempo, empezar a enumerar eventos con un token de continuación.

Ejemplos

En las secciones siguientes se proporcionan varios fragmentos de código que abarcan parte de la fuente de cambios de blobs de Almacenamiento más común, entre las que se incluyen:

Creación de cliente con una cadena de conexión

Cree ChangeFeedClient mediante la cadena de conexión a la cuenta de Azure Storage.

from azure.storage.blob.changefeed import ChangeFeedClient

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

Enumerar eventos dentro de un intervalo de tiempo

Enumerar todos los eventos dentro de un intervalo de tiempo.

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)

Enumerar todos los eventos

Enumerar todos los eventos.

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)

Enumerar eventos por página

Enumerar eventos por página.

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)

Solución de problemas

Registro

Esta biblioteca usa la biblioteca de registro estándar para el registro. La información básica sobre las sesiones HTTP (direcciones URL, encabezados, etc.) se registra en el nivel INFO.

El registro detallado de nivel DEBUG, incluidos los cuerpos de solicitud/respuesta y los encabezados no aprobados, se puede habilitar en un cliente con el logging_enable argumento :

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)

Pasos siguientes

Más código de ejemplo

Empiece a trabajar con nuestros ejemplos de ChangeFeed de Blob de Azure.

Hay disponibles varios ejemplos del SDK de Python de Storage Blob ChangeFeed en el repositorio de GitHub del SDK. Estos ejemplos proporcionan código de ejemplo para escenarios adicionales que se suelen encontrar al trabajar con Blob ChangeFeed:

  • change_feed_samples.py : ejemplos de autenticación y funcionamiento en el cliente:
    • enumerar eventos por página
    • enumerar todos los eventos
    • enumerar eventos en un intervalo de tiempo
    • enumerar eventos a partir de un token de continuación

Contribuciones

Este proyecto agradece las contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Contrato de licencia para el colaborador (CLA) que declara que tiene el derecho a concedernos y nos concede los derechos para usar su contribución. Para más detalles, visite https://cla.microsoft.com.

Cuando se envía una solicitud de incorporación de cambios, un bot de CLA determinará de forma automática si tiene que aportar un CLA y completar la PR adecuadamente (por ejemplo, la etiqueta, el comentario). Solo siga las instrucciones que le dará el bot. Solo será necesario que lo haga una vez en todos los repositorios con nuestro CLA.

Este proyecto ha adoptado el Código de conducta de Microsoft Open Source. Para más información, consulte las preguntas más frecuentes del código de conducta o póngase en contacto con opencode@microsoft.com si tiene cualquier otra pregunta o comentario.