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
- É necessário Python 3.6 ou posterior para usar esse pacote.
- Você deve ter uma assinatura do Azure e uma conta de armazenamento do Azure para usar esse pacote.
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:
- Usar uma cadeia de caracteres de token SAS
- Usar uma chave de acesso compartilhado da conta
- 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
- Enumerando eventos dentro de um intervalo de tempo
- Enumerando todos os eventos
- Enumerando eventos por página
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.
Azure SDK for Python