QueueServiceClient 클래스
계정 수준에서 큐 서비스와 상호 작용할 클라이언트입니다.
이 클라이언트는 계정 속성뿐만 아니라 계정 내에서 큐를 검색 및 구성하고 큐를 만들고 삭제하는 작업을 제공합니다. 특정 큐와 관련된 작업의 경우 함수를 사용하여 이 엔터티에 대한 클라이언트를 get_queue_client 검색할 수 있습니다.
추가 선택적 구성을 보려면 여기를 클릭하세요.
- 상속
-
azure.storage.queue._shared.base_client.StorageAccountHostsMixinQueueServiceClientazure.storage.queue._encryption.StorageEncryptionMixinQueueServiceClient
생성자
QueueServiceClient(account_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)
매개 변수
- account_url
- str
큐 서비스 엔드포인트의 URL입니다. URL 경로에 포함된 다른 엔터티(예: 큐)는 삭제됩니다. 이 URL은 선택적으로 SAS 토큰으로 인증할 수 있습니다.
- credential
인증할 자격 증명입니다. 계정 URL에 이미 SAS 토큰이 있는 경우 선택 사항입니다. 값은 SAS 토큰 문자열, azure.core.credentials에서 AzureSasCredential 또는 AzureNamedKeyCredential의 instance, 계정 공유 액세스 키 또는 azure.identity에서 TokenCredentials 클래스의 instance 수 있습니다. 리소스 URI에 이미 SAS 토큰이 포함된 경우 명시적 자격 증명을 위해 무시됩니다.
- 충돌하는 SAS 토큰이 ValueError를 발생시키는 AzureSasCredential의 경우를 제외하고. AzureNamedKeyCredential의 instance 사용하는 경우 "name"은 스토리지 계정 이름이고 "키"는 스토리지 계정 키여야 합니다.
- api_version
- str
요청에 사용할 Storage API 버전입니다. 기본값은 현재 SDK와 호환되는 최신 서비스 버전입니다. 이전 버전으로 설정하면 기능 호환성이 저하될 수 있습니다.
- secondary_hostname
- str
보조 엔드포인트의 호스트 이름입니다.
- audience
- str
Azure Active Directory 인증에 대한 토큰을 요청할 때 사용할 대상 그룹입니다. 자격 증명이 TokenCredential 형식인 경우에만 효과가 있습니다. 값은 (기본값) 또는 https://.queue.core.windows.net 수 https://storage.azure.com/ 있습니다.
예제
계정 URL 및 자격 증명을 사용하여 QueueServiceClient를 만듭니다.
from azure.storage.queue import QueueServiceClient
queue_service = QueueServiceClient(account_url=self.account_url, credential=self.access_key)
Azure ID 자격 증명을 사용하여 QueueServiceClient 만들기
# Get a token credential for authentication
from azure.identity import ClientSecretCredential
token_credential = ClientSecretCredential(
self.active_directory_tenant_id,
self.active_directory_application_id,
self.active_directory_application_secret
)
# Instantiate a QueueServiceClient using a token credential
from azure.storage.queue import QueueServiceClient
queue_service = QueueServiceClient(account_url=self.account_url, credential=token_credential)
메서드
close |
이 메서드는 클라이언트에서 연 소켓을 닫는 것입니다. 컨텍스트 관리자와 함께 를 사용할 때는 사용할 필요가 없습니다. |
create_queue |
지정된 계정 아래에 새 큐를 만듭니다. 이름이 같은 큐가 이미 있는 경우 작업이 실패합니다. 새로 만든 큐와 상호 작용할 클라이언트를 반환합니다. |
delete_queue |
지정된 큐와 해당 큐에 포함된 모든 메시지를 삭제합니다. 큐가 성공적으로 삭제되면 즉시 삭제로 표시되고 클라이언트가 더 이상 액세스할 수 없습니다. 이 큐는 나중에 가비지 수집 과정에서 큐 서비스에서 제거됩니다. 큐 삭제를 완료하는 데 40초 이상 걸릴 수 있습니다. 삭제되는 동안 큐에 대해 작업을 시도하면 이 <xref:azure.storage.queue.HttpResponseError> throw됩니다. |
from_connection_string |
연결 문자열에서 QueueServiceClient를 만듭니다. |
get_queue_client |
지정된 큐와 상호 작용할 클라이언트를 가져옵니다. 큐가 아직 필요하지 않습니다. |
get_service_properties |
Azure 스토리지 분석 포함하여 스토리지 계정의 큐 서비스의 속성을 가져옵니다. |
get_service_stats |
큐 서비스에 대한 복제와 관련된 통계를 검색합니다. 스토리지 계정에 대해 읽기 액세스 지역 중복 복제를 사용하도록 설정한 경우에만 사용할 수 있습니다. 지리적 중복 복제를 사용하여 Azure 저장소는 데이터를 두 위치에서 영구 유지 관리합니다. 두 위치 모두에서 Azure 저장소는 데이터에 대한 여러 정상 복제를 지속적으로 유지 관리합니다. 데이터를 읽거나 만들거나 업데이트하거나 삭제하는 위치는 주 저장소 계정 위치입니다. 기본 위치는 Azure Management Azure 클래식 포털(예: 미국 중북부)을 통해 계정을 만들 때 선택한 지역에 있습니다. 데이터가 복제되는 위치는 보조 위치입니다. 보조 위치는 기본 위치에 따라 자동으로 결정되며, 기본 위치와 동일한 지역에 있는 보조 데이터 센터입니다. 저장소 계정에 대해 읽기 액세스 지리적 중복 복제가 설정되어 있는 경우, 보조 위치에서 읽기 전용 액세스가 가능합니다. |
list_queues |
지정된 계정 아래의 큐를 나열하는 생성기를 반환합니다. 생성기는 서비스에서 반환된 연속 토큰을 느리게 따르고 모든 큐가 반환되면 중지됩니다. |
set_service_properties |
Azure 스토리지 분석 포함하여 스토리지 계정의 Queue Service 속성을 설정합니다. 요소(예: analytics_logging)가 None으로 남아 있으면 해당 기능에 대한 서비스의 기존 설정이 유지됩니다. |
close
이 메서드는 클라이언트에서 연 소켓을 닫는 것입니다. 컨텍스트 관리자와 함께 를 사용할 때는 사용할 필요가 없습니다.
close()
create_queue
지정된 계정 아래에 새 큐를 만듭니다.
이름이 같은 큐가 이미 있는 경우 작업이 실패합니다. 새로 만든 큐와 상호 작용할 클라이언트를 반환합니다.
create_queue(name: str, metadata: Dict[str, str] | None = None, **kwargs: Any) -> QueueClient
매개 변수
- timeout
- int
시간 초과 매개 변수는 초 단위로 표현됩니다.
반환
새로 만든 큐에 대한 QueueClient입니다.
반환 형식
예제
서비스에서 큐를 만듭니다.
queue_service.create_queue("myqueue1")
delete_queue
지정된 큐와 해당 큐에 포함된 모든 메시지를 삭제합니다.
큐가 성공적으로 삭제되면 즉시 삭제로 표시되고 클라이언트가 더 이상 액세스할 수 없습니다. 이 큐는 나중에 가비지 수집 과정에서 큐 서비스에서 제거됩니다.
큐 삭제를 완료하는 데 40초 이상 걸릴 수 있습니다. 삭제되는 동안 큐에 대해 작업을 시도하면 이 <xref:azure.storage.queue.HttpResponseError> throw됩니다.
delete_queue(queue: QueueProperties | str, **kwargs: Any) -> None
매개 변수
- timeout
- int
시간 초과 매개 변수는 초 단위로 표현됩니다.
반환 형식
예제
서비스에서 큐를 삭제합니다.
queue_service.delete_queue("myqueue1")
from_connection_string
연결 문자열에서 QueueServiceClient를 만듭니다.
from_connection_string(conn_str: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self
매개 변수
- credential
인증할 자격 증명입니다. 계정 URL에 이미 SAS 토큰이 있거나 연결 문자열 공유 액세스 키 값이 이미 있는 경우 선택 사항입니다. 값은 SAS 토큰 문자열, azure.core.credentials에서 AzureSasCredential 또는 AzureNamedKeyCredential의 instance, 계정 공유 액세스 키 또는 azure.identity에서 TokenCredentials 클래스의 instance 수 있습니다. 여기에 제공된 자격 증명이 연결 문자열 자격 증명보다 우선합니다. AzureNamedKeyCredential의 instance 사용하는 경우 "name"은 스토리지 계정 이름이고 "키"는 스토리지 계정 키여야 합니다.
- audience
- str
Azure Active Directory 인증에 대한 토큰을 요청할 때 사용할 대상 그룹입니다. 자격 증명이 TokenCredential 형식인 경우에만 효과가 있습니다. 값은 (기본값) 또는 https://.queue.core.windows.net 수 https://storage.azure.com/ 있습니다.
반환
큐 서비스 클라이언트입니다.
반환 형식
예제
연결 문자열 사용하여 QueueServiceClient 만들기
from azure.storage.queue import QueueServiceClient
queue_service = QueueServiceClient.from_connection_string(conn_str=self.connection_string)
get_queue_client
지정된 큐와 상호 작용할 클라이언트를 가져옵니다.
큐가 아직 필요하지 않습니다.
get_queue_client(queue: QueueProperties | str, **kwargs: Any) -> QueueClient
매개 변수
반환
QueueClient 개체입니다.
반환 형식
예제
큐 클라이언트를 가져옵니다.
# Get the queue client to interact with a specific queue
queue = queue_service.get_queue_client(queue="myqueue2")
get_service_properties
Azure 스토리지 분석 포함하여 스토리지 계정의 큐 서비스의 속성을 가져옵니다.
get_service_properties(**kwargs: Any) -> Dict[str, Any]
매개 변수
- timeout
- int
시간 초과 매개 변수는 초 단위로 표현됩니다.
반환
분석 로깅, 시간/분 메트릭, cors 규칙 등과 같은 큐 서비스 속성을 포함하는 개체입니다.
반환 형식
예제
큐 서비스 속성을 가져옵니다.
properties = queue_service.get_service_properties()
get_service_stats
큐 서비스에 대한 복제와 관련된 통계를 검색합니다.
스토리지 계정에 대해 읽기 액세스 지역 중복 복제를 사용하도록 설정한 경우에만 사용할 수 있습니다.
지리적 중복 복제를 사용하여 Azure 저장소는 데이터를 두 위치에서 영구 유지 관리합니다. 두 위치 모두에서 Azure 저장소는 데이터에 대한 여러 정상 복제를 지속적으로 유지 관리합니다. 데이터를 읽거나 만들거나 업데이트하거나 삭제하는 위치는 주 저장소 계정 위치입니다. 기본 위치는 Azure Management Azure 클래식 포털(예: 미국 중북부)을 통해 계정을 만들 때 선택한 지역에 있습니다. 데이터가 복제되는 위치는 보조 위치입니다. 보조 위치는 기본 위치에 따라 자동으로 결정되며, 기본 위치와 동일한 지역에 있는 보조 데이터 센터입니다. 저장소 계정에 대해 읽기 액세스 지리적 중복 복제가 설정되어 있는 경우, 보조 위치에서 읽기 전용 액세스가 가능합니다.
get_service_stats(**kwargs: Any) -> Dict[str, Any]
매개 변수
- timeout
- int
시간 초과 매개 변수는 초 단위로 표현됩니다.
반환
큐 서비스 통계입니다.
반환 형식
list_queues
지정된 계정 아래의 큐를 나열하는 생성기를 반환합니다.
생성기는 서비스에서 반환된 연속 토큰을 느리게 따르고 모든 큐가 반환되면 중지됩니다.
list_queues(name_starts_with: str | None = None, include_metadata: bool | None = False, **kwargs: Any) -> ItemPaged[QueueProperties]
매개 변수
- results_per_page
- int
API 호출당 검색할 최대 큐 이름 수입니다. 요청이 지정하지 않으면 서버는 최대 5,000개 항목을 반환합니다.
- timeout
- int
작업에 대한 서버 쪽 시간 제한을 초 단위로 설정합니다. 자세한 내용은 https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요. 이 함수는 서비스를 여러 번 호출할 수 있습니다. 이 경우 지정된 시간 제한 값이 각 개별 호출에 적용됩니다.
반환
QueueProperties의 반복 가능(자동 페이징)입니다.
반환 형식
예제
서비스의 큐를 나열합니다.
# List all the queues in the service
list_queues = queue_service.list_queues()
for queue in list_queues:
print(queue)
# List the queues in the service that start with the name "my"
list_my_queues = queue_service.list_queues(name_starts_with="my")
for queue in list_my_queues:
print(queue)
set_service_properties
Azure 스토리지 분석 포함하여 스토리지 계정의 Queue Service 속성을 설정합니다.
요소(예: analytics_logging)가 None으로 남아 있으면 해당 기능에 대한 서비스의 기존 설정이 유지됩니다.
set_service_properties(analytics_logging: QueueAnalyticsLogging | None = None, hour_metrics: Metrics | None = None, minute_metrics: Metrics | None = None, cors: List[CorsRule] | None = None, **kwargs: Any) -> None
매개 변수
목록에 최대 5개의 CorsRule 요소를 포함할 수 있습니다. 빈 목록을 지정하면 모든 CORS 규칙이 삭제되고 서비스에 대해 CORS가 비활성화됩니다.
- timeout
- int
시간 초과 매개 변수는 초 단위로 표현됩니다.
예제
큐 서비스 속성 설정
# Create service properties
from azure.storage.queue import QueueAnalyticsLogging, Metrics, CorsRule, RetentionPolicy
# Create logging settings
logging = QueueAnalyticsLogging(read=True, write=True, delete=True, retention_policy=RetentionPolicy(enabled=True, days=5))
# Create metrics for requests statistics
hour_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5))
minute_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5))
# Create CORS rules
cors_rule1 = CorsRule(['www.xyz.com'], ['GET'])
allowed_origins = ['www.xyz.com', "www.ab.com", "www.bc.com"]
allowed_methods = ['GET', 'PUT']
max_age_in_seconds = 500
exposed_headers = ["x-ms-meta-data*", "x-ms-meta-source*", "x-ms-meta-abc", "x-ms-meta-bcd"]
allowed_headers = ["x-ms-meta-data*", "x-ms-meta-target*", "x-ms-meta-xyz", "x-ms-meta-foo"]
cors_rule2 = CorsRule(
allowed_origins,
allowed_methods,
max_age_in_seconds=max_age_in_seconds,
exposed_headers=exposed_headers,
allowed_headers=allowed_headers
)
cors = [cors_rule1, cors_rule2]
# Set the service properties
queue_service.set_service_properties(logging, hour_metrics, minute_metrics, cors)
특성
api_version
location_mode
primary_endpoint
primary_hostname
secondary_endpoint
구성된 경우 전체 보조 엔드포인트 URL입니다.
사용할 수 없는 경우 ValueError가 발생합니다. 보조 호스트 이름을 명시적으로 지정하려면 인스턴스화에 선택적 secondary_hostname 키워드(keyword) 인수를 사용합니다.
반환 형식
예외
secondary_hostname
보조 엔드포인트의 호스트 이름입니다.
사용할 수 없는 경우 없음이 됩니다. 보조 호스트 이름을 명시적으로 지정하려면 인스턴스화에 선택적 secondary_hostname 키워드(keyword) 인수를 사용합니다.
반환 형식
url
사용되는 경우 SAS 토큰을 포함하여 이 엔터티에 대한 전체 엔드포인트 URL입니다.
이는 기본 엔드포인트이거나 현재 location_mode에 따라 보조 엔드포인트일 수 있습니다. :returns: 사용되는 경우 SAS 토큰을 포함하여 이 엔터티에 대한 전체 엔드포인트 URL입니다. :rtype: str
Azure SDK for Python