QueueServiceClient 클래스

계정 수준에서 큐 서비스와 상호 작용할 클라이언트입니다.

이 클라이언트는 계정 속성뿐만 아니라 계정 내에서 큐를 검색 및 구성하고 큐를 만들고 삭제하는 작업을 제공합니다. 특정 큐와 관련된 작업의 경우 함수를 사용하여 이 엔터티에 대한 클라이언트를 get_queue_client 검색할 수 있습니다.

추가 선택적 구성을 보려면 여기를 클릭하세요.

상속
azure.storage.queue._shared.base_client.StorageAccountHostsMixin
QueueServiceClient
azure.storage.queue._encryption.StorageEncryptionMixin
QueueServiceClient

생성자

QueueServiceClient(account_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)

매개 변수

account_url
str
필수

큐 서비스 엔드포인트의 URL입니다. URL 경로에 포함된 다른 엔터티(예: 큐)는 삭제됩니다. 이 URL은 선택적으로 SAS 토큰으로 인증할 수 있습니다.

credential
기본값: None

인증할 자격 증명입니다. 계정 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

매개 변수

name
str
필수

만들 큐의 이름입니다.

metadata
Dict[str, str]
필수

큐와 메타데이터로 연결할 name_value 쌍이 있는 받아쓰기입니다. 예: {'Category': 'test'}

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

매개 변수

queue
str 또는 QueueProperties
필수

삭제할 큐입니다. 큐의 이름이거나 QueueProperties의 instance 수 있습니다.

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

매개 변수

conn_str
str
필수

Azure Storage 계정에 대한 연결 문자열.

credential
기본값: None

인증할 자격 증명입니다. 계정 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

매개 변수

queue
str 또는 QueueProperties
필수

큐 입니다. 큐의 이름이거나 QueueProperties의 instance 수 있습니다.

반환

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]

매개 변수

name_starts_with
str
필수

이름을 지정된 접두사로 시작하는 큐만 반환하도록 결과를 필터링합니다.

include_metadata
bool
필수

큐 메타데이터가 응답에 반환되도록 지정합니다.

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

매개 변수

analytics_logging
QueueAnalyticsLogging
필수

Azure 분석 Logging 설정을 그룹화합니다.

hour_metrics
Metrics
필수

시간 메트릭 설정은 큐에 대한 시간별 집계에서 API별로 그룹화된 요청 통계의 요약을 제공합니다.

minute_metrics
Metrics
필수

분 메트릭 설정은 큐의 각 분에 대한 요청 통계를 제공합니다.

cors
Optional[List[CorsRule]]
필수

목록에 최대 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

요청에 사용되는 Storage API의 버전입니다.

반환 형식

str

location_mode

클라이언트가 현재 사용 중인 위치 모드입니다.

기본적으로 "기본"입니다. 옵션에는 "기본" 및 "보조"가 포함됩니다.

반환 형식

str

primary_endpoint

전체 기본 엔드포인트 URL입니다.

반환 형식

str

primary_hostname

기본 엔드포인트의 호스트 이름입니다.

반환 형식

str

secondary_endpoint

구성된 경우 전체 보조 엔드포인트 URL입니다.

사용할 수 없는 경우 ValueError가 발생합니다. 보조 호스트 이름을 명시적으로 지정하려면 인스턴스화에 선택적 secondary_hostname 키워드(keyword) 인수를 사용합니다.

반환 형식

str

예외

secondary_hostname

보조 엔드포인트의 호스트 이름입니다.

사용할 수 없는 경우 없음이 됩니다. 보조 호스트 이름을 명시적으로 지정하려면 인스턴스화에 선택적 secondary_hostname 키워드(keyword) 인수를 사용합니다.

반환 형식

url

사용되는 경우 SAS 토큰을 포함하여 이 엔터티에 대한 전체 엔드포인트 URL입니다.

이는 기본 엔드포인트이거나 현재 location_mode에 따라 보조 엔드포인트일 수 있습니다. :returns: 사용되는 경우 SAS 토큰을 포함하여 이 엔터티에 대한 전체 엔드포인트 URL입니다. :rtype: str