跳转到主要内容

Microsoft Azure Storage Blob ChangeFeed Python客户端库

项目描述

Azure存储Blob ChangeFeed Python客户端库

此Python预览版包使用户能够获取Blob更改流事件。这些事件可以懒加载生成,按页迭代,检索特定时间间隔或从特定续订令牌迭代。

源代码 | 包(PyPi) | API参考文档 | 产品文档 | 示例

入门

先决条件

安装软件包

使用pip安装Azure Storage Blob ChangeFeed Python客户端库

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

创建存储账户

如果您想创建新的存储账户,可以使用Azure门户Azure PowerShellAzure 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和一个凭据来实例化客户端对象。

获取凭据

要认证客户端,您有几种选择

  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)

关键概念

客户端

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联系我们有任何额外的问题或评论。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

azure-storage-blob-changefeed-12.0.0b5.tar.gz (19.7 kB 查看哈希值)

上传时间 源代码

构建分布

azure_storage_blob_changefeed-12.0.0b5-py3-none-any.whl (12.9 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面