Клиентская библиотека ChangeFeed службы хранилища Azure для Python — версия 12.0.0b4
Этот пакет предварительной версии для Python позволяет пользователям получать события канала изменений BLOB-объектов. Эти события могут создаваться отложенно, выполняться по страницам, извлекаться за определенный интервал времени или выполняться из определенного маркера продолжения.
Исходный код | Пакет (PyPi) | Справочная документация по | API Документация по продукту | Образцы
Начало работы
Предварительные требования
- Для использования этого пакета требуется Python 3.6 или более поздней версии.
- Для использования этого пакета вам потребуется подписка Azure и учетная запись хранения Azure .
Установка пакета
Установите клиентную библиотеку 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-адрес и учетные данные.
Получение учетных данных
Чтобы проверить подлинность клиента, можно несколькими способами:
- Использование строки маркера SAS
- Использование общего ключа доступа учетной записи
- Использование учетных данных маркера из 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 с любыми дополнительными вопросами или комментариями.
Azure SDK for Python