Python 用 Azure Storage Blob ChangeFeed クライアント ライブラリ - バージョン 12.0.0b4
Python 用のこのプレビュー パッケージを使用すると、ユーザーは BLOB 変更フィード イベントを取得できます。 これらのイベントは、遅延生成、ページによる反復処理、特定の時間間隔の取得、または特定の継続トークンからの反復処理が可能です。
ソースコード | パッケージ (PyPi) | API リファレンス ドキュメント | 製品ドキュメント | サンプル
作業の開始
前提条件
- このパッケージを使用するには、Python 3.6 以降が必要です。
- このパッケージを使用するには、 Azure サブスクリプション と Azure ストレージ アカウント が必要です。
パッケージをインストールする
pip を使用して Python 用 Azure Storage Blob ChangeFeed クライアント ライブラリをインストールします。
pip install azure-storage-blob-changefeed --pre
ストレージ アカウントの作成
新しいストレージ アカウントを作成する場合は、Azure Portal、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 Portal、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 には、次の 1 つのクライアントが用意されています。
- ChangeFeedClient: このクライアントを使用すると、ページごとに変更フィード イベントを取得し、すべての変更フィード イベントを取得し、時間範囲内のイベントを取得し、継続トークンを使用してイベントの一覧表示を開始できます。
例
次のセクションでは、次のような最も一般的なストレージ BLOB ChangeFeed の一部をカバーするいくつかのコード スニペットを示します。
接続文字列を使用したクライアントの作成
Azure Storage アカウントへの接続文字列を使用して 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 レベルでログに記録されます。
要求/応答本文、未変換ヘッダーなど、詳細な 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)
次のステップ
その他のサンプル コード
Azure Blob ChangeFeed サンプルの概要。
いくつかの Storage Blob ChangeFeed Python SDK サンプルは、SDK の GitHub リポジトリで入手できます。 これらのサンプルでは、BLOB ChangeFeed の操作中に一般的に発生するその他のシナリオのコード例を示します。
- change_feed_samples.py - クライアントでの認証と操作の例:
- ページごとにイベントを一覧表示する
- すべてのイベントを一覧表示する
- 時間範囲内のイベントを一覧表示する
- 継続トークンから始まるイベントを一覧表示する
共同作成
このプロジェクトでは、共同作成と提案を歓迎しています。 ほとんどの共同作成では、共同作成者使用許諾契約書 (CLA) にご同意いただき、ご自身の共同作成内容を使用する権利を Microsoft に供与する権利をお持ちであり、かつ実際に供与することを宣言していただく必要があります。 詳細については、 https://cla.microsoft.com を参照してください。
pull request を送信すると、CLA を提供して PR (ラベル、コメントなど) を適宜装飾する必要があるかどうかを CLA ボットが自動的に決定します。 ボットによって提供される手順にそのまま従ってください。 この操作は、Microsoft の CLA を使用するすべてのリポジトリについて、1 回だけ行う必要があります。
このプロジェクトでは、Microsoft オープン ソースの倫理規定を採用しています。 詳しくは、「Code of Conduct FAQ (倫理規定についてよくある質問)」を参照するか、opencode@microsoft.com 宛てに質問またはコメントをお送りください。
Azure SDK for Python