Share via


Biblioteca cliente Azure Storage Blob ChangeFeed para Python - versão 12.0.0b4

Este pacote de pré-visualização para Python permite que os utilizadores obtenham eventos de feed de alterações blob. Estes eventos podem ser gerados preguiçosamente, iterados por página, recuperados para um intervalo de tempo específico, ou iterados a partir de um sinal de continuação específico.

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

Introdução

Pré-requisitos

Instale o pacote

Instale a biblioteca cliente do Azure Storage Blob ChangeFeed para Python com pip:

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

Criar uma conta de armazenamento

Se desejar criar uma nova conta de armazenamento, pode utilizar o Portal 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

Para ativar o feed de mudanças pode utilizar: Azure Portal, Azure PowerShell ou Modelo.

Autenticar o cliente

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

Obtenha credenciais

Para autenticar o cliente tem algumas opções:

  1. Use uma corda simbólica SAS
  2. Use uma chave de acesso compartilhada de conta
  3. Use uma credencial simbólica de azure.identidade

Em alternativa, pode autenticar com uma cadeia de ligação de armazenamento utilizando o from_connection_string método. Veja o exemplo: Criação de cliente com uma cadeia de ligação.

Pode omitir a credencial se o URL da sua conta já tiver um token SAS.

Criar cliente

Assim que tiver o URL da sua conta e credenciais prontas, pode 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)

Conceitos-chave

Clientes

O Blob ChangeFeed SDK fornece um cliente:

  • ChangeFeedClient: este cliente permite-lhe obter eventos de feed de mudança por página, obter todos os eventos de feed de mudança, obter eventos em um intervalo de tempo, começar a listar eventos com um token de continuação.

Exemplos

As seguintes secções fornecem vários fragmentos de código que cobrem alguns dos mais comuns Blob ChangeFeed de armazenamento, incluindo:

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

Crie o ChangeFeedClient utilizando o fio de ligação à sua conta de Armazenamento 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

Enuse 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

Enumerar 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

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

Resolução de problemas

Registo

Esta biblioteca utiliza a biblioteca de registos padrão para registar registos. Informações básicas sobre sessões HTTP (URLs, cabeçalhos, etc.) são registadas ao nível info.

A registo detalhado do nível DEBUG, incluindo os órgãos de pedido/resposta e os cabeçalhos não redigidos, pode ser ativado num 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)

Passos seguintes

Mais código de amostra

Começa com as nossas amostras do Azure Blob ChangeFeed.

Várias amostras de Blob ChangeFeed Python SDK estão disponíveis para si no repositório GitHub da SDK. Estas amostras fornecem código de exemplo para cenários adicionais comumente encontrados ao trabalhar com o Blob ChangeFeed:

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

Contribuir

Agradecemos todas as contribuições e sugestões para este projeto. A maioria das contribuições requerem que celebre um Contrato de Licença de Contribuição (CLA) no qual se declare que tem o direito de conceder e que, na verdade, concede-nos os direitos para utilizar a sua contribuição. Para mais detalhes, visite https://cla.microsoft.com.

Quando submete um pedido Pull, um bot do CLA determina automaticamente se tem de fornecer um CLA e decorar o PR de forma adequada (por exemplo, etiqueta, comentário). Só tem de seguir as instruções fornecidas pelo bot. Apenas terá de fazer isto uma vez em todos os repositórios com o nosso CLA.

Este projeto adotou o Microsoft Open Source Code of Conduct (Código de Conduta do Microsoft Open Source). Para mais informações consulte o Código de Conduta FAQ ou contacte opencode@microsoft.com com quaisquer perguntas ou comentários adicionais.