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
- Bu paketi kullanmak için Python 3.6 veya üzeri gereklidir.
- Bu paketi kullanmak için bir Azure aboneliğiniz ve bir Azure depolama hesabınız olmalıdır.
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:
- SAS belirteç dizesi kullanma
- Hesap paylaşılan erişim anahtarı kullanma
- 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
- Zaman Aralığı İçinde Olayları Numaralandırma
- Tüm Olayları Numaralandırma
- Olayları Sayfaya Göre Numaralandırma
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 .
Azure SDK for Python
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin