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
- Se requiere Python 3.6 o posterior para usar este paquete.
- Debe tener una suscripción de Azure y una cuenta de almacenamiento de Azure para usar este paquete.
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:
- Uso de una cadena de token de SAS
- Uso de una clave de acceso compartido de cuenta
- 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
- Enumerar eventos dentro de un intervalo de tiempo
- Enumerar todos los eventos
- Enumerar eventos por página
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.
Azure SDK for Python