Microsoft Azure Storage Blob ChangeFeed Python客户端库
项目描述
Azure存储Blob ChangeFeed Python客户端库
此Python预览版包使用户能够获取Blob更改流事件。这些事件可以懒加载生成,按页迭代,检索特定时间间隔或从特定续订令牌迭代。
源代码 | 包(PyPi) | API参考文档 | 产品文档 | 示例
入门
先决条件
- 使用此软件包需要Python 3.8或更高版本。有关详细信息,请参阅我们的Azure SDK for Python版本支持策略页面。
- 您必须拥有一个Azure订阅和一个Azure存储账户才能使用此软件包。
安装软件包
使用pip安装Azure Storage Blob ChangeFeed Python客户端库
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
要启用ChangeFeed,您可以使用:Azure门户、Azure PowerShell或模板。
认证客户端
与Blob ChangeFeed客户端的交互从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)
关键概念
客户端
Blob ChangeFeed SDK提供了一客户端
- ChangeFeedClient:此客户端允许您按页获取更改流事件、获取所有更改流事件、获取时间范围内的事件、使用续传令牌开始列出事件。
示例
以下部分提供了一些代码片段,涵盖了Storage Blob ChangeFeed的一些最常见用法,包括
使用连接字符串创建客户端
使用您的Azure存储账户的连接字符串创建ChangeFeedClient。
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)
故障排除
日志记录
此库使用标准的logging库进行日志记录。HTTP会话(URL、标题等)的基本信息以INFO级别记录。
可以通过在客户端使用logging_enable
参数启用详细的DEBUG级别日志记录,包括请求/响应体和未编辑的标题。
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)
下一步
更多示例代码
从我们的Azure Blob ChangeFeed示例开始。
SDK的GitHub存储库中提供了多个Storage Blob ChangeFeed Python SDK示例。这些示例提供了处理Blob ChangeFeed时常见场景的示例代码。
- change_feed_samples.py - 认证和操作客户端的示例
- 按页列出事件
- 列出所有事件
- 列出时间范围内的事件
- 从续传令牌开始列出事件
贡献
本项目欢迎贡献和建议。大多数贡献都需要您同意贡献者许可协议(CLA),声明您有权,并且确实授予我们使用您贡献的权利。有关详细信息,请访问https://cla.microsoft.com。
当您提交拉取请求时,CLA机器人将自动确定您是否需要提供CLA,并相应地装饰PR(例如,标签、注释)。只需按照机器人提供的说明操作。您只需在整个使用我们的CLA的仓库中这样做一次。
本项目采用了Microsoft开源行为准则。有关更多信息,请参阅行为准则常见问题解答或通过opencode@microsoft.com联系我们有任何额外的问题或评论。
项目详情
哈希值 for azure-storage-blob-changefeed-12.0.0b5.tar.gz
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 42172b2f170ca2e8075bd4d70021fbeb1e0b402dea5e885941834ad3eb57f7bc |
|
MD5 | 4796dc8559fc5fd1c47f2af80addbb15 |
|
BLAKE2b-256 | 2402714ed4dc52e0ad3752525ed6298561c8ee28330f5c541f25be360db7c426 |
哈希值 for azure_storage_blob_changefeed-12.0.0b5-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 829eb3ae2df53a837f26a9addd74ac74b536f87731c446899edf9d1bf9c92e09 |
|
MD5 | 1f002c306a710bb2604400595eeeabde |
|
BLAKE2b-256 | bbd3b8a929eb2b577c146ae765fb42e020c334f63d269114d67031709835e25b |