共用方式為


適用于 Python 的 Azure 儲存體 Blob ChangeFeed 用戶端程式庫 - 12.0.0b4 版

此適用于 Python 的預覽套件可讓使用者取得 Blob 變更摘要事件。 這些事件可以延遲產生、依頁面逐一查看、針對特定時間間隔擷取,或從特定接續權杖逐一查看。

| 原始程式碼套件 (PyPi) | API 參考檔 | 產品檔 | 樣品

開始使用

Prerequisites

安裝套件

使用 pip安裝適用于 Python 的 Azure 儲存體 Blob ChangeFeed 用戶端程式庫:

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

若要啟用變更摘要,您可以使用: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:此用戶端可讓您依頁面取得變更摘要事件、取得所有變更摘要事件、取得時間範圍內的事件、開始列出具有接續權杖的事件。

範例

下列各節提供數個程式碼片段,涵蓋一些最常見的儲存體 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)

疑難排解

記錄

此程式庫會使用標準 記錄 程式庫進行記錄。 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 存放庫中取得數個儲存體 Blob ChangeFeed Python SDK 範例。 這些範例提供使用 Blob ChangeFeed 時常遇到的其他案例範例程式碼:

  • change_feed_samples.py - 在用戶端上驗證和操作的範例:
    • 依頁面列出事件
    • 列出所有事件
    • 列出時間範圍中的事件
    • 從接續權杖開始的清單事件

參與

此專案歡迎參與和提供建議。 大部分的參與都要求您同意「參與者授權合約 (CLA)」,宣告您有權且確實授與我們使用投稿的權利。 如需詳細資料,請前往 https://cla.microsoft.com

當您提交提取要求時,CLA Bot 會自動判斷您是否需要提供 CLA,並適當地裝飾 PR (例如標籤、註解)。 請遵循 bot 提供的指示。 您只需要使用我們的 CLA 在所有存放庫上執行此動作一次。

此專案採用 Microsoft Open Source Code of Conduct (Microsoft 開放原始碼管理辦法)。 如需詳細資訊,請參閱管理辦法常見問題集,如有任何其他問題或意見請連絡 opencode@microsoft.com