Compartilhar via


Biblioteca de clientes do ChangeFeed do Blob de Armazenamento do Azure para Python – versão 12.0.0b4

Este pacote de visualização para Python permite que os usuários obtenham eventos de feed de alterações de blob. Esses eventos podem ser gerados lentamente, iterados por página, recuperados para um intervalo de tempo específico ou iterados de um token de continuação específico.

Código-fonte | Pacote (PyPi) | Documentação | de referência da APIDocumentação do produto | Amostras

Introdução

Pré-requisitos

Instalar o pacote

Instale a biblioteca de clientes changeFeed do Blob de Armazenamento do Azure para Python com pip:

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

Criar uma conta de armazenamento

Se você quiser criar uma nova conta de armazenamento, poderá usar o Portal do Azure, Azure PowerShell ou a CLI do 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 o feed de alterações, você pode usar: Portal do Azure, Azure PowerShell ou Modelo.

Autenticar o cliente

A interação com o cliente ChangeFeed de Blob começa com uma instância da classe ChangeFeedClient. Você precisa de uma conta de armazenamento existente, sua URL e uma credencial para instanciar o objeto cliente.

Obter credenciais

Para autenticar o cliente, você tem algumas opções:

  1. Usar uma cadeia de caracteres de token SAS
  2. Usar uma chave de acesso compartilhado da conta
  3. Usar uma credencial de token de azure.identity

Como alternativa, você pode autenticar com uma cadeia de conexão de armazenamento usando o from_connection_string método . Veja o exemplo: Criação de cliente com uma cadeia de conexão.

Você poderá omitir a credencial se a URL da sua conta já tiver um token SAS.

Criar cliente

Depois de ter a URL da conta e as credenciais prontas, você poderá criar o ChangeFeedClient:

from azure.storage.blob.changefeed import ChangeFeedClient

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

Principais conceitos

Clientes

O SDK do ChangeFeed de Blob fornece um cliente:

  • ChangeFeedClient: esse cliente permite que você obtenha eventos do feed de alterações por página, obtenha todos os eventos do feed de alterações, obtenha eventos em um intervalo de tempo, comece a listar eventos com um token de continuação.

Exemplos

As seções a seguir fornecem vários snippets de código que abrangem alguns dos ChangeFeed de Blob de Armazenamento mais comuns, incluindo:

Criação de cliente com uma cadeia de conexão

Crie o ChangeFeedClient usando a cadeia de conexão para sua conta de Armazenamento do Azure.

from azure.storage.blob.changefeed import ChangeFeedClient

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

Enumerando eventos dentro de um intervalo de tempo

Listar todos os eventos dentro de um intervalo de 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)

Enumerando todos os eventos

Listar todos os 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)

Enumerando eventos por página

Listar 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)

Solução de problemas

Log

Essa biblioteca usa a biblioteca de log padrão para registro em log. As informações básicas sobre sessões HTTP (URLs, cabeçalhos etc.) são registradas no nível info.

O log detalhado no nível de DEBUG, incluindo corpos de solicitação/resposta e cabeçalhos não redigidos, pode ser habilitado em um cliente com o 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)

Próximas etapas

Mais códigos de exemplo

Introdução aos nossos exemplos do ChangeFeed do Blob do Azure.

Vários exemplos do SDK do Python do Blob de Armazenamento ChangeFeed estão disponíveis para você no repositório GitHub do SDK. Esses exemplos fornecem código de exemplo para cenários adicionais comumente encontrados ao trabalhar com o ChangeFeed de Blob:

  • change_feed_samples.py – Exemplos de autenticação e operação no cliente:
    • listar eventos por página
    • listar todos os eventos
    • listar eventos em um intervalo de tempo
    • listar eventos a partir de um token de continuação

Contribuição

Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite https://cla.microsoft.com.

Quando você envia uma solicitação de pull, um bot do CLA determina automaticamente se você precisa fornecer um CLA e preencher a PR corretamente (por exemplo, rótulo, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios que usam nosso CLA.

Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.