QueueServiceClient クラス

アカウント レベルで Queue Service と対話するクライアント。

このクライアントは、アカウントのプロパティの取得と構成、およびアカウント内のキューの一覧表示、作成、削除を行う操作を提供します。 特定のキューに関連する操作の場合は、 関数を使用してこのエンティティのクライアントを 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 のインスタンス、アカウント共有アクセス キー、または 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

パラメーター

name
str
必須

作成するキューの名前。

metadata
Dict[str, str]
必須

メタデータとしてキューに関連付けるname_valueペアを持つディクテーション。 例: {'Category': 'test'}

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

パラメーター

queue
str または QueueProperties
必須

削除するキュー。 キューの名前、または QueueProperties のインスタンスを指定できます。

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

パラメーター

conn_str
str
必須

Azure Storage アカウントへの接続文字列。

credential
既定値: None

認証に使用する資格情報。 これは、アカウント 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

パラメーター

queue
str または QueueProperties
必須

キューです。 キューの名前、または QueueProperties のインスタンスを指定できます。

戻り値

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]

パラメーター

name_starts_with
str
必須

結果をフィルター処理して、名前が指定したプレフィックスで始まるキューのみを返します。

include_metadata
bool
必須

応答でキュー メタデータを返すように指定します。

results_per_page
int

API 呼び出しごとに取得するキュー名の最大数。 要求で指定されていない場合、サーバーは最大 5,000 個の項目を返します。

timeout
int

操作のサーバー側タイムアウトを秒単位で設定します。 詳細については、 https://video2.skills-academy.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

パラメーター

analytics_logging
QueueAnalyticsLogging
必須

Azure Analytics の Logging 設定をグループ化します。

hour_metrics
Metrics
必須

時間メトリック設定では、API 別にグループ化された要求統計の概要が、キューの時間単位の集計で提供されます。

minute_metrics
Metrics
必須

分単位のメトリック設定では、キューの 1 分ごとの要求統計が提供されます。

cors
Optional[List[CorsRule]]
必須

リストには、最大 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

要求に使用される Storage API のバージョン。

の戻り値の型 :

str

location_mode

クライアントが現在使用している場所モード。

既定では、これは "プライマリ" になります。 オプションには、"primary" と "secondary" が含まれます。

の戻り値の型 :

str

primary_endpoint

完全なプライマリ エンドポイント URL。

の戻り値の型 :

str

primary_hostname

プライマリ エンドポイントのホスト名。

の戻り値の型 :

str

secondary_endpoint

完全なセカンダリ エンドポイント URL (構成されている場合)。

使用できない場合は、ValueError が発生します。 セカンダリ ホスト名を明示的に指定するには、インスタンス化時に省略可能な secondary_hostname キーワード (keyword) 引数を使用します。

の戻り値の型 :

str

例外

secondary_hostname

セカンダリ エンドポイントのホスト名。

使用できない場合、これは None になります。 セカンダリ ホスト名を明示的に指定するには、インスタンス化時に省略可能な secondary_hostname キーワード (keyword) 引数を使用します。

の戻り値の型 :

url

SAS トークン (使用されている場合) を含む、このエンティティへの完全なエンドポイント URL。

これは、現在 location_modeの に応じて、プライマリ エンドポイントまたはセカンダリ エンドポイントのいずれかになります。 :returns: SAS トークン (使用されている場合) を含む、このエンティティへの完全なエンドポイント URL。 :rtype: str