Aracılığıyla paylaş


Python için Azure Depolama Blobu ChangeFeed istemci kitaplığı - sürüm 12.0.0b4

Python için bu önizleme paketi, kullanıcıların blob değişiklik akışı olaylarını almasına olanak tanır. Bu olaylar tembelce oluşturulabilir, sayfaya göre yinelenebilir, belirli bir zaman aralığı için alınabilir veya belirli bir devamlılık belirtecinden yinelenebilir.

Kaynak kodu | Paket (PyPi) | API başvuru belgeleri | Ürün belgeleri | Örnekleri

Başlarken

Önkoşullar

Paketi yükleme

Pip ile Python için Azure Depolama Blobu ChangeFeed istemci kitaplığını yükleyin:

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

Depolama hesabı oluşturma

Yeni bir depolama hesabı oluşturmak isterseniz Azure Portalı, Azure PowerShell veya Azure CLI'yı kullanabilirsiniz:

# 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

Değişiklik akışını etkinleştirmek için şunları kullanabilirsiniz: Azure Portal, Azure PowerShell veya Şablon.

İstemcinin kimliğini doğrulama

Blob ChangeFeed istemcisiyle etkileşim ChangeFeedClient sınıfının bir örneğiyle başlar. İstemci nesnesinin örneğini oluşturmak için mevcut bir depolama hesabına, URL'sine ve kimlik bilgilerine ihtiyacınız vardır.

Kimlik bilgilerini alma

İstemcinin kimliğini doğrulamak için birkaç seçeneğiniz vardır:

  1. SAS belirteç dizesi kullanma
  2. Hesap paylaşılan erişim anahtarı kullanma
  3. azure.identity'den belirteç kimlik bilgisi kullanma

Alternatif olarak, yöntemini kullanarak from_connection_string bir depolama bağlantı dizesiyle kimlik doğrulaması yapabilirsiniz. Bkz. örnek: Bağlantı dizesiyle istemci oluşturma.

Hesap URL'nizde zaten bir SAS belirteci varsa kimlik bilgilerini atlayabilirsiniz.

İstemci oluşturma

Hesap URL'nizi ve kimlik bilgilerinizi hazırladıktan sonra ChangeFeedClient'ı oluşturabilirsiniz:

from azure.storage.blob.changefeed import ChangeFeedClient

service = ChangeFeedClient(account_url="https://<my-storage-account-name>.blob.core.windows.net/", credential=credential)

Önemli kavramlar

İstemciler

Blob ChangeFeed SDK'sı bir istemci sağlar:

  • ChangeFeedClient: Bu istemci, değişiklik akışı olaylarını sayfaya göre almanıza, tüm değişiklik akışı olaylarını almanıza, bir zaman aralığındaki olayları almanıza, devamlılık belirteciyle olayları listelemeye başlamanıza olanak tanır.

Örnekler

Aşağıdaki bölümlerde, aşağıdakiler dahil olmak üzere en yaygın Depolama Blobu Değişiklik Akışı'nı kapsayan birkaç kod parçacığı sağlanır:

Bağlantı dizesiyle istemci oluşturma

Azure Depolama hesabınıza bağlantı dizesini kullanarak ChangeFeedClient'ı oluşturun.

from azure.storage.blob.changefeed import ChangeFeedClient

service = ChangeFeedClient.from_connection_string(conn_str="my_connection_string")

Zaman Aralığı İçinde Olayları Numaralandırma

Bir zaman aralığındaki tüm olayları listeleyin.

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)

Tüm Olayları Numaralandırma

Tüm olayları listeleyin.

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)

Olayları Sayfaya Göre Numaralandırma

Olayları sayfaya göre listeleyin.

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)

Sorun giderme

Günlüğe Kaydetme

Bu kitaplık , günlüğe kaydetme için standart günlük kitaplığını kullanır. HTTP oturumları (URL'ler, üst bilgiler vb.) hakkındaki temel bilgiler BİlGİ düzeyinde günlüğe kaydedilir.

İstek/yanıt gövdeleri ve kaydedilmemiş üst bilgiler de dahil olmak üzere ayrıntılı HATA AYıKLAMA düzeyi günlüğe kaydetme, istemcide şu bağımsız değişkenle logging_enable etkinleştirilebilir:

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)

Sonraki adımlar

Daha fazla örnek kod

Azure Blob ChangeFeed örneklerimizi kullanmaya başlayın.

SDK'nın GitHub deposunda çeşitli Depolama Blobu ChangeFeed Python SDK örnekleri sağlanır. Bu örnekler, Blob ChangeFeed ile çalışırken yaygın olarak karşılaşılan ek senaryolar için örnek kod sağlar:

  • change_feed_samples.py - İstemcide kimlik doğrulaması ve işletim örnekleri:
    • olayları sayfaya göre listeleme
    • tüm olayları listeleme
    • zaman aralığındaki olayları listeleme
    • devamlılık belirtecinden başlayan olayları listeleme

Katkıda bulunma

Bu proje, katkı ve önerilere açıktır. Çoğu durumda, sağladığınız katkıyı kullanmamız için bize hak tanıma hakkına sahip olduğunuzu ve bu hakkı bize tanıdığınızı bildiren bir Katkıda Bulunan Lisans Sözleşmesi’ni (CLA) kabul etmeniz gerekir. Ayrıntılar için bkz. https://cla.microsoft.com.

Bir çekme isteği gönderdiğinizde, CLA robotu bir CLA sağlamanız gerekip gerekmediğini otomatik olarak belirler ve çekme isteğini uygun şekilde donatır (örn. etiket, açıklama). Robot tarafından sağlanan yönergeleri izlemeniz yeterlidir. Bu işlemi, CLA’mızı kullanarak tüm depolarda yalnızca bir kere yapmanız gerekir.

Bu proje Microsoft Open Source Code of Conduct (Microsoft Açık Kaynak Kullanım Kuralları) belgesinde listelenen kurallara uygundur. Daha fazla bilgi için Kullanım Kuralları SSS bölümüne bakın veya ek sorularınız veya yorumlarınızla iletişime geçin opencode@microsoft.com .