Поделиться через


Клиентская библиотека ChangeFeed службы хранилища Azure для Python — версия 12.0.0b4

Этот пакет предварительной версии для Python позволяет пользователям получать события канала изменений BLOB-объектов. Эти события могут создаваться отложенно, выполняться по страницам, извлекаться за определенный интервал времени или выполняться из определенного маркера продолжения.

Исходный код | Пакет (PyPi) | Справочная документация по | API Документация по продукту | Образцы

Начало работы

Предварительные требования

Установка пакета

Установите клиентную библиотеку ChangeFeed службы хранилища Azure для Python с помощью pip:

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

Создание учетной записи хранения

Если вы хотите создать учетную запись хранения, можно использовать портал Azure, Azure PowerShell или 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

Чтобы включить канал изменений, можно использовать портал Azure, Azure PowerShell или шаблон.

Аутентификация клиента

Взаимодействие с клиентом ChangeFeed blob начинается с экземпляра класса ChangeFeedClient. Для создания экземпляра клиентского объекта требуется существующая учетная запись хранения, ее URL-адрес и учетные данные.

Получение учетных данных

Чтобы проверить подлинность клиента, можно несколькими способами:

  1. Использование строки маркера SAS
  2. Использование общего ключа доступа учетной записи
  3. Использование учетных данных маркера из azure.identity

Кроме того, вы можете пройти проверку подлинности с помощью строки подключения к хранилищу from_connection_string с помощью метода . См. пример : Создание клиента со строкой подключения.

Вы можете опустить учетные данные, если URL-адрес учетной записи уже содержит маркер SAS.

Создание клиента

После подготовки URL-адреса учетной записи и учетных данных можно создать ChangeFeedClient:

from azure.storage.blob.changefeed import ChangeFeedClient

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

Основные понятия

Клиенты

Пакет SDK ChangeFeed для BLOB-объектов предоставляет один клиент:

  • ChangeFeedClient: этот клиент позволяет получать события канала изменений по страницам, получать все события канала изменений, получать события в диапазоне времени, начинать перечисление событий с маркером продолжения.

Примеры

В следующих разделах представлено несколько фрагментов кода, охватывающих некоторые из наиболее распространенных изменений blob-объектов хранилища, в том числе:

Создание клиента со строкой подключения

Создайте ChangeFeedClient, используя строку подключения к учетной записи хранения Azure.

from azure.storage.blob.changefeed import ChangeFeedClient

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

Перечисление событий в пределах диапазона времени

Вывод списка всех событий в пределах диапазона времени.

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)

Перечисление всех событий

Вывод списка всех событий.

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)

Перечисление событий по страницам

Перечисление событий по страницам.

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)

Устранение неполадок

Ведение журнала

Эта библиотека использует стандартную библиотеку ведения журнала для ведения журнала. Основные сведения о сеансах HTTP (URL-адреса, заголовки и т. д.) регистрируются на уровне INFO.

Подробное ведение журнала на уровне DEBUG, включая тексты запросов и ответов и нередактированные заголовки, можно включить на клиенте с помощью аргумента logging_enable :

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)

Дальнейшие действия

Больше примеров кода

Начните работу с примерами ChangeFeed для BLOB-объектов Azure.

В репозитории GitHub пакета SDK для Python для Хранилища BLOB-объектов ChangeFeed доступны несколько примеров. В этих примерах приведен пример кода для дополнительных сценариев, часто встречающихся при работе с blob-объектом ChangeFeed:

  • change_feed_samples.py — примеры проверки подлинности и работы с клиентом:
    • перечисление событий по страницам
    • вывод списка всех событий
    • перечисление событий в диапазоне времени
    • перечисление событий, начиная с маркера продолжения

Участие

На этом проекте приветствуются публикации и предложения. Для участия в большинстве процессов по разработке документации необходимо принять лицензионное соглашение участника (CLA), в котором указывается, что вы предоставляете нам права на использование ваших публикаций. Для получения подробных сведений посетите веб-страницу https://cla.microsoft.com.

При отправке запроса на включение внесенных изменений CLA-бот автоматически определит необходимость предоставления соглашения CLA и соответствующего оформления запроса на включение внесенных изменений (например, добавление метки, комментария). Просто следуйте инструкциям бота. Будет достаточно выполнить их один раз для всех репозиториев, поддерживающих соглашение CLA.

В рамках этого проекта действуют правила поведения в отношении продуктов с открытым исходным кодом Майкрософт. Дополнительные сведения см. в разделе часто задаваемых вопросов о правилах поведения или обратитесь к opencode@microsoft.com с любыми дополнительными вопросами или комментариями.