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.AsyncStorageAccountHostsMixinQueueServiceClientazure.storage.queue._shared.base_client.StorageAccountHostsMixinQueueServiceClientazure.storage.queue._encryption.StorageEncryptionMixinQueueServiceClient
Costruttore
QueueServiceClient(account_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | AsyncTokenCredential | None = None, **kwargs: Any)
Parametri
- account_url
- str
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
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
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
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
- credential
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
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
Filtra i risultati per restituire solo le code i cui nomi iniziano con il prefisso specificato.
- include_metadata
- bool
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
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
Raggruppa le impostazioni di registrazione di Azure Analytics.
- hour_metrics
- Metrics
Le impostazioni delle metriche orarie forniscono un riepilogo delle statistiche delle richieste raggruppate per API in aggregazioni orarie per le code.
- minute_metrics
- Metrics
Le impostazioni delle metriche minuti forniscono le statistiche delle richieste per ogni minuto per le code.
È 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
location_mode
Modalità percorso attualmente usata dal client.
Per impostazione predefinita, questo sarà "primario". Le opzioni includono "primary" e "secondary".
Tipo restituito
primary_endpoint
primary_hostname
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
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
Azure SDK for Python