QueueServiceClient Classe

Un client per interagire con il servizio di accodamento a livello di account.

Questo client fornisce operazioni per recuperare e configurare le proprietà dell'account, nonché l'elenco, creare ed eliminare code all'interno dell'account. Per le operazioni relative a una coda specifica, è possibile recuperare un client per questa entità usando la get_queue_client funzione .

Ereditarietà
azure.storage.queue._shared.base_client_async.AsyncStorageAccountHostsMixin
QueueServiceClient
azure.storage.queue._shared.base_client.StorageAccountHostsMixin
QueueServiceClient
azure.storage.queue._encryption.StorageEncryptionMixin
QueueServiceClient

Costruttore

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

Parametri

account_url
str
Necessario

URL dell'endpoint del servizio di coda. Tutte le altre entità incluse nel percorso URL (ad esempio la coda) verranno rimosse. Questo URL può essere autenticato facoltativamente con un token di firma di accesso condiviso.

credential
valore predefinito: None

Credenziali con cui eseguire l'autenticazione. Questo è facoltativo se l'URL dell'account ha già un token di firma di accesso condiviso. Il valore può essere una stringa di token sas, un'istanza di AzureSasCredential o AzureNamedKeyCredential da azure.core.credential, una chiave di accesso condiviso dell'account o un'istanza di una classe TokenCredentials da azure.identity. Se l'URI della risorsa contiene già un token di firma di accesso condiviso, questo verrà ignorato a favore di una credenziale esplicita

  • tranne nel caso di AzureSasCredential, in cui i token sas in conflitto genereranno un valoreError. Se si usa un'istanza di AzureNamedKeyCredential, "name" deve essere il nome dell'account di archiviazione e "key" deve essere la chiave dell'account di archiviazione.
api_version
str

Versione dell'API di archiviazione da usare per le richieste. Il valore predefinito è la versione del servizio più recente compatibile con l'SDK corrente. L'impostazione su una versione precedente può comportare una riduzione della compatibilità delle funzionalità.

secondary_hostname
str

Nome host dell'endpoint secondario.

audience
str

Destinatari da usare quando si richiedono token per l'autenticazione di Azure Active Directory. Ha un effetto solo quando le credenziali sono di tipo TokenCredential. Il valore potrebbe essere https://storage.azure.com/ (predefinito) o https://.queue.core.windows.net.

Esempio

Creazione di QueueServiceClient con un URL e credenziali dell'account.


   from azure.storage.queue.aio import QueueServiceClient
   queue_service = QueueServiceClient(account_url=self.account_url, credential=self.access_key)

Creazione di QueueServiceClient con le credenziali di Identità di Azure.


   # Get a token credential for authentication
   from azure.identity.aio 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.aio import QueueServiceClient
   queue_service = QueueServiceClient(account_url=self.account_url, credential=token_credential)

Metodi

close

Questo metodo consiste nel chiudere i socket aperti dal client. Non è necessario usare quando si usa con un gestore di contesto.

create_queue

Crea una nuova coda nell'account specificato.

Se esiste già una coda con lo stesso nome, l'operazione ha esito negativo. Restituisce un client con cui interagire con la coda appena creata.

delete_queue

Elimina la coda specificata e tutti i messaggi contenuti.

Quando una coda viene eliminata correttamente, viene contrassegnata immediatamente per l'eliminazione e non è più accessibile ai client. La coda verrà rimossa in seguito dal servizio di accodamento durante un'operazione di Garbage Collection.

Si noti che l'eliminazione di una coda richiede almeno 40 secondi per completare. Se un'operazione viene tentata rispetto alla coda durante l'eliminazione, verrà generata un'operazione <xref:azure.storage.queue.aio.HttpResponseError> .

from_connection_string

Creare QueueServiceClient da una stringa di connessione.

get_queue_client

Ottenere un client per interagire con la coda specificata.

La coda non esiste già.

get_service_properties

Ottiene le proprietà del servizio Code di un account di archiviazione, tra cui Azure Analisi archiviazione.

get_service_stats

Recupera le statistiche correlate alla replica per il servizio di accodamento.

È disponibile solo quando la replica con ridondanza geografica di accesso in lettura è abilitata per l'account di archiviazione.

Con la replica geograficamente ridondante, Archiviazione di Azure mantiene i dati durevoli in due posizioni. In entrambe le posizioni Archiviazione di Azure gestisce costantemente più repliche integre dei dati. La posizione in cui si leggono, creano, aggiornano o eliminano i dati è la posizione dell'account di archiviazione primaria. La posizione primaria esiste nell'area scelta al momento della creazione di un account tramite il portale di Azure Management Azure classico, ad esempio Stati Uniti centro-settentrionali. La posizione in cui i dati vengono replicati è la posizione secondaria. La posizione secondaria viene determinata automaticamente in base alla posizione primaria. Si tratta di un secondo data center che risiede nella stessa area geografica della posizione primaria. Dalla posizione secondaria è disponibile l'accesso in sola lettura se la replica geograficamente ridondante con accesso in lettura è abilitata per l'account di archiviazione.

list_queues

Restituisce un generatore per elencare le code nell'account specificato.

Il generatore seguirà in modo differimento i token di continuazione restituiti dal servizio e si arresterà quando vengono restituite tutte le code.

set_service_properties

Imposta le proprietà del servizio di accodamento di un account di archiviazione, incluso Azure Analisi archiviazione.

Se un elemento (ad esempio, analytics_logging) viene lasciato come Nessuno, le impostazioni esistenti nel servizio per tale funzionalità vengono mantenute.

close

Questo metodo consiste nel chiudere i socket aperti dal client. Non è necessario usare quando si usa con un gestore di contesto.

async close()

create_queue

Crea una nuova coda nell'account specificato.

Se esiste già una coda con lo stesso nome, l'operazione ha esito negativo. Restituisce un client con cui interagire con la coda appena creata.

async create_queue(name: str, metadata: Dict[str, str] | None = None, **kwargs: Any) -> QueueClient

Parametri

name
str
Necessario

Nome della coda da creare.

metadata
Dict[str, str]
Necessario

Una dict con coppie di name_value da associare alla coda come metadati. Esempio: {'Category': 'test'}

timeout
int

Il parametro timeout viene espresso in secondi.

Restituisce

QueueClient per la coda appena creata.

Tipo restituito

Esempio

Creare una coda nel servizio.


   await queue_service.create_queue("myqueue1")

delete_queue

Elimina la coda specificata e tutti i messaggi contenuti.

Quando una coda viene eliminata correttamente, viene contrassegnata immediatamente per l'eliminazione e non è più accessibile ai client. La coda verrà rimossa in seguito dal servizio di accodamento durante un'operazione di Garbage Collection.

Si noti che l'eliminazione di una coda richiede almeno 40 secondi per completare. Se un'operazione viene tentata rispetto alla coda durante l'eliminazione, verrà generata un'operazione <xref:azure.storage.queue.aio.HttpResponseError> .

async delete_queue(queue: QueueProperties | str, **kwargs: Any) -> None

Parametri

queue
str oppure QueueProperties
Necessario

Coda da eliminare. Questo può essere il nome della coda o un'istanza di QueueProperties.

timeout
int

Il parametro timeout viene espresso in secondi.

Tipo restituito

Esempio

Eliminare una coda nel servizio.


   await queue_service.delete_queue("myqueue1")

from_connection_string

Creare QueueServiceClient da una stringa di connessione.

from_connection_string(conn_str: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | AsyncTokenCredential | None = None, **kwargs: Any) -> Self

Parametri

conn_str
str
Necessario

Un stringa di connessione a un account di archiviazione di Azure.

credential
valore predefinito: None

Credenziali con cui eseguire l'autenticazione. Questo è facoltativo se l'URL dell'account ha già un token di firma di accesso condiviso o il stringa di connessione ha già valori di chiave di accesso condiviso. Il valore può essere una stringa di token sas, un'istanza di AzureSasCredential o AzureNamedKeyCredential da azure.core.credential, una chiave di accesso condiviso dell'account o un'istanza di una classe TokenCredentials da azure.identity. Le credenziali fornite qui avranno la precedenza su quelle presenti nel stringa di connessione. Se si usa un'istanza di AzureNamedKeyCredential, "name" deve essere il nome dell'account di archiviazione e "key" deve essere la chiave dell'account di archiviazione.

Restituisce

Client del servizio code.

Tipo restituito

Esempio

Creazione di QueueServiceClient con un stringa di connessione.


   from azure.storage.queue import QueueServiceClient
   queue_service = QueueServiceClient.from_connection_string(conn_str=self.connection_string)

get_queue_client

Ottenere un client per interagire con la coda specificata.

La coda non esiste già.

get_queue_client(queue: QueueProperties | str, **kwargs: Any) -> QueueClient

Parametri

queue
str oppure QueueProperties
Necessario

Coda. Questo può essere il nome della coda o un'istanza di QueueProperties.

Restituisce

Un oggetto QueueClient.

Tipo restituito

Esempio

Ottenere il client della coda.


   # Get the queue client to interact with a specific queue
   queue = queue_service.get_queue_client(queue="myqueue2")

get_service_properties

Ottiene le proprietà del servizio Code di un account di archiviazione, tra cui Azure Analisi archiviazione.

async get_service_properties(**kwargs: Any) -> Dict[str, Any]

Parametri

timeout
int

Il parametro timeout viene espresso in secondi.

Restituisce

Oggetto contenente le proprietà del servizio code, ad esempio la registrazione dell'analisi, le metriche ora/minuto, le regole cors e così via.

Tipo restituito

Esempio

Recupero delle proprietà del servizio code.


   properties = await queue_service.get_service_properties()

get_service_stats

Recupera le statistiche correlate alla replica per il servizio di accodamento.

È disponibile solo quando la replica con ridondanza geografica di accesso in lettura è abilitata per l'account di archiviazione.

Con la replica geograficamente ridondante, Archiviazione di Azure mantiene i dati durevoli in due posizioni. In entrambe le posizioni Archiviazione di Azure gestisce costantemente più repliche integre dei dati. La posizione in cui si leggono, creano, aggiornano o eliminano i dati è la posizione dell'account di archiviazione primaria. La posizione primaria esiste nell'area scelta al momento della creazione di un account tramite il portale di Azure Management Azure classico, ad esempio Stati Uniti centro-settentrionali. La posizione in cui i dati vengono replicati è la posizione secondaria. La posizione secondaria viene determinata automaticamente in base alla posizione primaria. Si tratta di un secondo data center che risiede nella stessa area geografica della posizione primaria. Dalla posizione secondaria è disponibile l'accesso in sola lettura se la replica geograficamente ridondante con accesso in lettura è abilitata per l'account di archiviazione.

async get_service_stats(**kwargs: Any) -> Dict[str, Any]

Parametri

timeout
int

Il parametro timeout viene espresso in secondi.

Restituisce

Statistiche del servizio di accodamento.

Tipo restituito

list_queues

Restituisce un generatore per elencare le code nell'account specificato.

Il generatore seguirà in modo differimento i token di continuazione restituiti dal servizio e si arresterà quando vengono restituite tutte le code.

list_queues(name_starts_with: str | None = None, include_metadata: bool | None = False, **kwargs: Any) -> AsyncItemPaged

Parametri

name_starts_with
str
Necessario

Filtra i risultati per restituire solo le code i cui nomi iniziano con il prefisso specificato.

include_metadata
bool
Necessario

Specifica che i metadati della coda vengono restituiti nella risposta.

results_per_page
int

Numero massimo di nomi della coda da recuperare per chiamata API. Se la richiesta non specifica il server restituirà fino a 5.000 elementi.

timeout
int

Imposta il timeout lato server per l'operazione in secondi. Per informazioni dettagliate, vedere https://video2.skills-academy.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Questo valore non viene monitorato o convalidato nel client. Per configurare i timeout di rete lato client, vedere qui. Questa funzione può effettuare più chiamate al servizio in cui il valore di timeout specificato verrà applicato a ogni singola chiamata.

Restituisce

Iterabile (paging automatico) di QueueProperties.

Tipo restituito

<xref:azure.core.paging.AsyncItemPaged>[QueueProperties]

Esempio

Elencare le code nel servizio.


   # List all the queues in the service
   list_queues = queue_service.list_queues()
   async 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_")
   async for queue in list_my_queues:
       print(queue)

set_service_properties

Imposta le proprietà del servizio di accodamento di un account di archiviazione, incluso Azure Analisi archiviazione.

Se un elemento (ad esempio, analytics_logging) viene lasciato come Nessuno, le impostazioni esistenti nel servizio per tale funzionalità vengono mantenute.

async 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

Parametri

analytics_logging
QueueAnalyticsLogging
Necessario

Raggruppa le impostazioni di registrazione di Azure Analytics.

hour_metrics
Metrics
Necessario

Le impostazioni delle metriche orarie forniscono un riepilogo delle statistiche delle richieste raggruppate per API in aggregazioni orarie per le code.

minute_metrics
Metrics
Necessario

Le impostazioni delle metriche minuti forniscono le statistiche delle richieste per ogni minuto per le code.

cors
Optional[List(CorsRule)]
Necessario

È possibile includere fino a cinque elementi CorsRule nell'elenco. Se viene specificato un elenco vuoto, tutte le regole CORS verranno eliminate e CORS verrà disabilitato per il servizio.

timeout
int

Il parametro timeout viene espresso in secondi.

Esempio

Impostazione delle proprietà del servizio di accodamento.


   # 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
   await queue_service.set_service_properties(logging, hour_metrics, minute_metrics, cors)

Attributi

api_version

Versione dell'API di archiviazione usata per le richieste.

Tipo restituito

str

location_mode

Modalità percorso attualmente usata dal client.

Per impostazione predefinita, questo sarà "primario". Le opzioni includono "primary" e "secondary".

Tipo restituito

str

primary_endpoint

URL dell'endpoint primario completo.

Tipo restituito

str

primary_hostname

Nome host dell'endpoint primario.

Tipo restituito

str

secondary_endpoint

URL dell'endpoint secondario completo se configurato.

Se non è disponibile, verrà generato un valore ValueError. Per specificare in modo esplicito un nome host secondario, usare l'argomento della parola chiave facoltativo secondary_hostname nell'istanza.

Tipo restituito

str

Eccezioni

secondary_hostname

Nome host dell'endpoint secondario.

Se non è disponibile, questo sarà Nessuno. Per specificare in modo esplicito un nome host secondario, usare l'argomento della parola chiave facoltativo secondary_hostname nell'istanza.

Tipo restituito

url

URL completo dell'endpoint per questa entità, incluso il token di firma di accesso condiviso se usato.

Questo potrebbe essere l'endpoint primario o l'endpoint secondario a seconda dell'oggetto corrente location_mode. :restituisce: URL completo dell'endpoint per questa entità, incluso il token di firma di accesso condiviso se usato. :rtype: str