QueueServiceClient クラス
アカウント レベルで Queue Service と対話するクライアント。
このクライアントは、アカウントのプロパティの取得と構成、およびアカウント内のキューの一覧表示、作成、削除を行う操作を提供します。 特定のキューに関連する操作の場合は、 関数を使用してこのエンティティのクライアントを 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 のインスタンス、アカウント共有アクセス キー、または azure.identity の TokenCredentials クラスのインスタンスを指定できます。 リソース URI に SAS トークンが既に含まれている場合、明示的な資格情報を優先して無視されます
- 競合する SAS トークンによって ValueError が発生する AzureSasCredential の場合を除きます。 AzureNamedKeyCredential のインスタンスを使用する場合は、"name" をストレージ アカウント名に、"key" をストレージ アカウント キーにする必要があります。
- api_version
- str
要求に使用するストレージ 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> がスローされます。 |
from_connection_string |
接続文字列から QueueServiceClient を作成します。 |
get_queue_client |
指定したキューと対話するクライアントを取得します。 キューがまだ存在している必要はありません。 |
get_service_properties |
Azure Storage Analyticsを含むストレージ アカウントの Queue サービスのプロパティを取得します。 |
get_service_stats |
キュー サービスのレプリケーションに関連する統計情報を取得します。 これは、ストレージ アカウントに対して読み取りアクセス geo 冗長レプリケーションが有効になっている場合にのみ使用できます。 地理冗長レプリケーションでは、Azure ストレージによって 2 か所でデータの持続性が維持されます。 両方の場所で、Azure ストレージは継続的にデータの複数の正常なレプリカを維持します。 データの読み取り、作成、更新、または削除を行う場所は、1 次ストレージ アカウント拠点です。 プライマリの場所は、Azure Management Azure クラシック ポータル (米国中北部など) を使用してアカウントを作成するときに選択したリージョンに存在します。 データのレプリケート先の場所が、2 次拠点です。 2 次拠点は 1 次拠点の場所に基づいて自動的に決められ、1 次拠点と同じ地域にある 2 つ目のデータ センター内に設定されます。 読み取りアクセスの地理冗長レプリケーションがストレージ アカウントで有効な場合は、2 次拠点から読み取り専用アクセスを使用できます。 |
list_queues |
指定したアカウントのキューを一覧表示するジェネレーターを返します。 ジェネレーターは、サービスによって返された継続トークンに遅れて従い、すべてのキューが返されたときに停止します。 |
set_service_properties |
Azure Storage Analyticsを含むストレージ アカウントの Queue サービスのプロパティを設定します。 要素 (analytics_logging など) が None のままの場合、その機能に対するサービスの既存の設定は保持されます。 |
close
このメソッドは、クライアントによって開かれたソケットを閉じる方法です。 コンテキスト マネージャーで を使用する場合は使用する必要はありません。
close()
create_queue
指定したアカウントの下に新しいキューを作成します。
同じ名前のキューが既に存在する場合、操作は失敗します。 新しく作成されたキューと対話するクライアントを返します。
create_queue(name: str, metadata: Dict[str, str] | None = None, **kwargs: Any) -> QueueClient
パラメーター
- timeout
- int
timeout パラメーターは、秒単位で表されます。
戻り値
新しく作成された Queue の QueueClient。
の戻り値の型 :
例
サービスにキューを作成します。
queue_service.create_queue("myqueue1")
delete_queue
指定したキューとそのキューに含まれるすべてのメッセージを削除します。
キューが正常に削除されると、キューはすぐに削除対象としてマークされ、クライアントからアクセスできなくなります。 このキューは、後でガベージ コレクション中にキュー サービスから削除されます。
キューの削除が完了するまでに少なくとも 40 秒かかる可能性があることに注意してください。 削除中にキューに対して操作が試行されると、 <xref:azure.storage.queue.HttpResponseError> がスローされます。
delete_queue(queue: QueueProperties | str, **kwargs: Any) -> None
パラメーター
- timeout
- int
timeout パラメーターは、秒単位で表されます。
の戻り値の型 :
例
サービス内のキューを削除します。
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 のインスタンス、アカウント共有アクセス キー、または azure.identity の TokenCredentials クラスのインスタンスを指定できます。 ここで指定した資格情報は、接続文字列内の資格情報よりも優先されます。 AzureNamedKeyCredential のインスタンスを使用する場合は、"name" をストレージ アカウント名に、"key" をストレージ アカウント キーにする必要があります。
- 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 Storage Analyticsを含むストレージ アカウントの Queue サービスのプロパティを取得します。
get_service_properties(**kwargs: Any) -> Dict[str, Any]
パラメーター
- timeout
- int
timeout パラメーターは、秒単位で表されます。
戻り値
分析ログ、時間/分のメトリック、cors ルールなど、キュー サービスのプロパティを含むオブジェクト。
の戻り値の型 :
例
キュー サービスのプロパティの取得。
properties = queue_service.get_service_properties()
get_service_stats
キュー サービスのレプリケーションに関連する統計情報を取得します。
これは、ストレージ アカウントに対して読み取りアクセス geo 冗長レプリケーションが有効になっている場合にのみ使用できます。
地理冗長レプリケーションでは、Azure ストレージによって 2 か所でデータの持続性が維持されます。 両方の場所で、Azure ストレージは継続的にデータの複数の正常なレプリカを維持します。 データの読み取り、作成、更新、または削除を行う場所は、1 次ストレージ アカウント拠点です。 プライマリの場所は、Azure Management Azure クラシック ポータル (米国中北部など) を使用してアカウントを作成するときに選択したリージョンに存在します。 データのレプリケート先の場所が、2 次拠点です。 2 次拠点は 1 次拠点の場所に基づいて自動的に決められ、1 次拠点と同じ地域にある 2 つ目のデータ センター内に設定されます。 読み取りアクセスの地理冗長レプリケーションがストレージ アカウントで有効な場合は、2 次拠点から読み取り専用アクセスを使用できます。
get_service_stats(**kwargs: Any) -> Dict[str, Any]
パラメーター
- timeout
- int
timeout パラメーターは、秒単位で表されます。
戻り値
Queue サービスの統計情報です。
の戻り値の型 :
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 の iterable (自動ページング) です。
の戻り値の型 :
例
サービス内のキューを一覧表示します。
# 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 Storage Analyticsを含むストレージ アカウントの Queue サービスのプロパティを設定します。
要素 (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
timeout パラメーターは、秒単位で表されます。
例
キュー サービスのプロパティの設定。
# 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
セカンダリ エンドポイントのホスト名。
使用できない場合、これは None になります。 セカンダリ ホスト名を明示的に指定するには、インスタンス化時に省略可能な secondary_hostname キーワード (keyword) 引数を使用します。
の戻り値の型 :
url
SAS トークン (使用されている場合) を含む、このエンティティへの完全なエンドポイント URL。
これは、現在 location_modeの に応じて、プライマリ エンドポイントまたはセカンダリ エンドポイントのいずれかになります。 :returns: SAS トークン (使用されている場合) を含む、このエンティティへの完全なエンドポイント URL。 :rtype: str
Azure SDK for Python