Python용 Azure Storage Blob ChangeFeed 클라이언트 라이브러리 - 버전 12.0.0b4
Python용 이 미리 보기 패키지를 사용하면 사용자가 Blob 변경 피드 이벤트를 가져올 수 있습니다. 이러한 이벤트는 지연 생성되거나, 페이지별로 반복되거나, 특정 시간 간격으로 검색되거나, 특정 연속 토큰에서 반복될 수 있습니다.
소스 코드 | 패키지(PyPi) | API 참조 설명서 | 제품 설명서 | 샘플
시작
필수 조건
- 이 패키지를 사용하려면 Python 3.6 이상이 필요합니다.
- 이 패키지를 사용하려면 Azure 구독 및 Azure Storage 계정이 있어야 합니다.
패키지 설치
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
변경 피드를 사용하도록 설정하려면 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는 하나의 클라이언트를 제공합니다.
- ChangeFeedClient: 이 클라이언트를 사용하면 페이지별로 변경 피드 이벤트를 가져오고, 모든 변경 피드 이벤트를 가져오고, 시간 범위에서 이벤트를 가져오고, 연속 토큰으로 이벤트 목록을 시작할 수 있습니다.
예제
다음 섹션에서는 다음을 포함하여 가장 일반적인 Storage 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 샘플을 시작합니다.
SDK의 GitHub 리포지토리에서 여러 Storage Blob ChangeFeed Python SDK 샘플을 사용할 수 있습니다. 이러한 샘플은 Blob ChangeFeed를 사용하는 동안 일반적으로 발생하는 추가 시나리오에 대한 예제 코드를 제공합니다.
- change_feed_samples.py - 클라이언트에서 인증 및 작동에 대한 예:
- 페이지별 이벤트 나열
- 모든 이벤트 나열
- 시간 범위의 목록 이벤트
- 연속 토큰에서 시작하는 이벤트 나열
참여
이 프로젝트에 대한 기여와 제안을 환영합니다. 대부분의 경우 기여하려면 권한을 부여하며 실제로 기여를 사용할 권한을 당사에 부여한다고 선언하는 CLA(기여자 라이선스 계약)에 동의해야 합니다. 자세한 내용은 https://cla.microsoft.com 을 참조하세요.
끌어오기 요청을 제출하면 CLA-bot은 CLA를 제공하고 PR을 적절하게 데코레이팅해야 하는지 여부를 자동으로 결정합니다(예: 레이블, 설명). 봇에서 제공하는 지침을 따르기만 하면 됩니다. 이 작업은 CLA를 사용하여 모든 리포지토리에서 한 번만 수행하면 됩니다.
이 프로젝트에는 Microsoft Open Source Code of Conduct(Microsoft 오픈 소스 준수 사항)가 적용됩니다. 자세한 내용은 Code of Conduct FAQ(규정 FAQ)를 참조하세요. 또는 추가 질문이나 의견은 opencode@microsoft.com으로 문의하세요.
Azure SDK for Python