Partager via


QueueClient Classe

Client pour interagir avec une file d’attente spécifique.

Héritage
azure.storage.queue._shared.base_client_async.AsyncStorageAccountHostsMixin
QueueClient
azure.storage.queue._shared.base_client.StorageAccountHostsMixin
QueueClient
azure.storage.queue._encryption.StorageEncryptionMixin
QueueClient

Constructeur

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

Paramètres

account_url
str
Obligatoire

URL du compte de stockage. Pour créer un client en fonction de l’URI complet de la file d’attente, utilisez la from_queue_url méthode de classe.

queue_name
str
Obligatoire

Nom de la file d'attente.

credential
valeur par défaut: None

Informations d’identification avec lesquelles s’authentifier. Cela est facultatif si l’URL du compte a déjà un jeton SAS. La valeur peut être une chaîne de jeton SAS, une instance d’azureSasCredential ou AzureNamedKeyCredential à partir d’azure.core.credentials, une clé d’accès partagé de compte ou une instance d’une classe TokenCredentials à partir d’azure.identity. Si l’URI de ressource contient déjà un jeton SAS, celui-ci est ignoré au profit d’informations d’identification explicites.

  • sauf dans le cas d’AzureSasCredential, où les jetons SAP en conflit déclenchent un ValueError. Si vous utilisez une instance d’AzureNamedKeyCredential, « name » doit être le nom du compte de stockage et « key » doit être la clé de compte de stockage.
api_version
str

Version de l’API de stockage à utiliser pour les requêtes. La valeur par défaut est la version de service la plus récente compatible avec le KIT de développement logiciel (SDK) actuel. La définition d’une version antérieure peut réduire la compatibilité des fonctionnalités.

secondary_hostname
str

Nom d’hôte du point de terminaison secondaire.

message_encode_policy

Stratégie d’encodage à utiliser sur les messages sortants. La valeur par défaut n’est pas l’encodage des messages. D’autres options incluent <xref:azure.storage.queue.aio.TextBase64EncodePolicy>, <xref:azure.storage.queue.aio.BinaryBase64EncodePolicy> ou Aucun.

message_decode_policy

Stratégie de décodage à utiliser sur les messages entrants. La valeur par défaut n’est pas de décoder les messages. D’autres options incluent <xref:azure.storage.queue.aio.TextBase64DecodePolicy>, <xref:azure.storage.queue.aio.BinaryBase64DecodePolicy> ou Aucun.

audience
str

Audience à utiliser lors de la demande de jetons pour l’authentification Azure Active Directory. A un effet uniquement lorsque les informations d’identification sont de type TokenCredential. La valeur peut être https://storage.azure.com/ (par défaut) ou https ://.queue.core.windows.net.

Exemples

Créez le client de file d’attente avec l’URL et les informations d’identification.


   token_auth_queue = QueueClient.from_queue_url(
       queue_url=queue.url,
       credential=sas_token
   )

Créez le client de file d’attente avec un chaîne de connexion.


   from azure.storage.queue.aio import QueueClient
   queue = QueueClient.from_connection_string(self.connection_string, "myqueue1")

Méthodes

clear_messages

Supprime tous les messages de la file d’attente spécifiée.

close

Cette méthode consiste à fermer les sockets ouverts par le client. Il n’est pas nécessaire de l’utiliser lors de l’utilisation avec un gestionnaire de contexte.

create_queue

Crée une file d’attente dans le compte de stockage.

Si une file d’attente portant le même nom existe déjà, l’opération échoue avec un ResourceExistsError.

delete_message

Supprime le message spécifié.

Normalement, après qu’un client a récupéré un message avec l’opération de réception de messages, le client est censé traiter et supprimer le message. Pour supprimer le message, vous devez disposer de l’objet message lui-même ou de deux éléments de données : id et pop_receipt. L’ID est retourné par l’opération receive_messages précédente. Le pop_receipt est retourné à partir de l’opération ou update_message la plus récentereceive_messages. Pour que l’opération de delete_message réussisse, le pop_receipt spécifié dans la demande doit correspondre à la pop_receipt retournée par l’opération receive_messages ou update_message .

delete_queue

Supprime la file d’attente spécifiée et tous les messages qu’elle contient.

Lorsqu’une file d’attente est supprimée, elle est immédiatement marquée pour suppression et n’est plus accessible aux clients. La file d'attente est ensuite supprimée du service de File d'attente pendant le garbage collection.

Notez que la suppression d’une file d’attente peut prendre au moins 40 secondes. Si une opération est tentée sur la file d’attente pendant sa suppression, une <xref:azure.storage.queue.aio.HttpResponseError> opération est levée.

from_connection_string

Créez QueueClient à partir d’une chaîne de connexion.

from_queue_url

Client pour interagir avec une file d’attente spécifique.

get_queue_access_policy

Retourne des détails sur les stratégies d’accès stockées spécifiées dans la file d’attente qui peuvent être utilisées avec les signatures d’accès partagé.

get_queue_properties

Retourne toutes les métadonnées définies par l’utilisateur pour la file d’attente spécifiée.

Les données retournées n’incluent pas la liste de messages de la file d’attente.

peek_messages

Récupère un ou plusieurs messages à l’avant de la file d’attente, mais ne modifie pas la visibilité du message.

Seuls les messages visibles peuvent être récupérés. Lorsqu’un message est récupéré pour la première fois avec un appel à receive_messages, sa propriété dequeue_count est définie sur 1. Si elle n’est pas supprimée et est ensuite récupérée à nouveau, la propriété dequeue_count est incrémentée. Le client peut utiliser cette valeur pour déterminer combien de fois un message a été récupéré. Notez qu’un appel à peek_messages n’incrémente pas la valeur de dequeue_count, mais retourne cette valeur pour que le client lise.

Si le champ key-encryption-key ou resolver est défini sur l’objet de service local, les messages sont déchiffrés avant d’être retournés.

receive_message

Supprime un message à l’avant de la file d’attente.

Lorsque le message est récupéré à partir de la file d’attente, la réponse inclut le contenu du message et une valeur pop_receipt, qui est nécessaire pour supprimer le message. Le message n’est pas automatiquement supprimé de la file d’attente, mais une fois récupéré, il n’est pas visible par les autres clients pendant l’intervalle de temps spécifié par le paramètre visibility_timeout.

Si le champ key-encryption-key ou resolver est défini sur l’objet de service local, le message est déchiffré avant d’être retourné.

receive_messages

Supprime un ou plusieurs messages à l’avant de la file d’attente.

Lorsqu’un message est récupéré à partir de la file d’attente, la réponse inclut le contenu du message et une valeur pop_receipt, qui est nécessaire pour supprimer le message. Le message n’est pas automatiquement supprimé de la file d’attente, mais une fois récupéré, il n’est pas visible par les autres clients pendant l’intervalle de temps spécifié par le paramètre visibility_timeout. L’itérateur récupère continuellement les messages jusqu’à ce que la file d’attente soit vide ou max_messages soit atteinte (si max_messages est défini).

Si le champ key-encryption-key ou resolver est défini sur l’objet de service local, les messages sont déchiffrés avant d’être retournés.

send_message

Ajoute un nouveau message à l’arrière de la file d’attente des messages.

Le délai d’expiration de visibilité spécifie l’heure pendant laquelle le message sera invisible. Une fois ce délai expiré, le message est visible. Si un délai de visibilité n'est pas spécifié, la valeur par défaut 0 est utilisée.

La durée de vie du message spécifie la durée pendant laquelle un message restera dans la file d’attente. Le message sera supprimé de la file d'attente lorsque la durée de vie expire.

Si le champ clé-encryption-key est défini sur l’objet de service local, cette méthode chiffre le contenu avant le chargement.

set_queue_access_policy

Définit les stratégies d'accès stockées pour la file qui peuvent être utilisées avec des signatures d'accès partagé.

Quand vous définissez des autorisations pour une file d'attente, les autorisations existantes sont remplacées. Pour mettre à jour les autorisations de la file d’attente, appelez get_queue_access_policy pour récupérer toutes les stratégies d’accès associées à la file d’attente, modifiez la stratégie d’accès que vous souhaitez modifier, puis appelez cette fonction avec l’ensemble complet de données pour effectuer la mise à jour.

Lorsque vous établissez une stratégie d'accès stockée sur une file d'attente, son application peut prendre trente secondes. Pendant cet intervalle, une signature d’accès partagé associée à la stratégie d’accès stockée lève un jusqu’à ce que la stratégie d’accès <xref:azure.storage.queue.aio.HttpResponseError> devienne active.

set_queue_metadata

Définit les métadonnées définies par l’utilisateur sur la file d’attente spécifiée.

Les métadonnées sont associées à la file d'attente en tant que paires nom-valeur.

update_message

Mises à jour le délai de visibilité d’un message. Vous pouvez également utiliser cette opération pour mettre à jour le contenu d'un message.

Cette opération peut être utilisée pour étendre en permanence l’invisibilité d’un message de file d’attente. Cette fonctionnalité peut être utile si vous souhaitez qu’un rôle de travail « loue » un message de file d’attente. Par exemple, si un rôle de travail appelle receive_messages et reconnaît qu’il a besoin de plus de temps pour traiter un message, il peut continuellement étendre l’invisibilité du message jusqu’à ce qu’il soit traité. Si le rôle de travail échoue pendant le traitement, le message devient visible et un autre rôle de travail peut le traiter.

Si le champ clé-encryption-key est défini sur l’objet de service local, cette méthode chiffre le contenu avant le chargement.

clear_messages

Supprime tous les messages de la file d’attente spécifiée.

async clear_messages(**kwargs: Any) -> None

Paramètres

timeout
int

Définit le délai d’expiration côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Exemples

Efface tous les messages.


   await queue.clear_messages()

close

Cette méthode consiste à fermer les sockets ouverts par le client. Il n’est pas nécessaire de l’utiliser lors de l’utilisation avec un gestionnaire de contexte.

async close()

create_queue

Crée une file d’attente dans le compte de stockage.

Si une file d’attente portant le même nom existe déjà, l’opération échoue avec un ResourceExistsError.

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

Paramètres

metadata
dict(str,str)

Dict contenant des paires nom-valeur à associer à la file d’attente en tant que métadonnées. Notez que les noms de métadonnées conservent la casse avec laquelle ils ont été créés, mais ne la respecte plus quand ils sont définis ou lus.

timeout
int

Définit le délai d’expiration côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Retours

Aucun ou le résultat de cls(response)

Type de retour

Exceptions

StorageErrorException

Exemples

Créez une file d’attente.


   await queue.create_queue()

delete_message

Supprime le message spécifié.

Normalement, après qu’un client a récupéré un message avec l’opération de réception de messages, le client est censé traiter et supprimer le message. Pour supprimer le message, vous devez disposer de l’objet message lui-même ou de deux éléments de données : id et pop_receipt. L’ID est retourné par l’opération receive_messages précédente. Le pop_receipt est retourné à partir de l’opération ou update_message la plus récentereceive_messages. Pour que l’opération de delete_message réussisse, le pop_receipt spécifié dans la demande doit correspondre à la pop_receipt retournée par l’opération receive_messages ou update_message .

async delete_message(message: str | QueueMessage, pop_receipt: str | None = None, **kwargs: Any) -> None

Paramètres

message
str ou QueueMessage
Obligatoire

Objet ou ID de message identifiant le message à supprimer.

pop_receipt
str
Obligatoire

Valeur de réception contextuelle valide retournée à partir d’un appel antérieur à ou receive_messagesupdate_message.

timeout
int

Définit le délai d’expiration côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Exemples

Supprimer un message.


   # Get the message at the front of the queue
   messages = queue.receive_messages()
   async for msg in messages:
       # Delete the specified message
       await queue.delete_message(msg)

delete_queue

Supprime la file d’attente spécifiée et tous les messages qu’elle contient.

Lorsqu’une file d’attente est supprimée, elle est immédiatement marquée pour suppression et n’est plus accessible aux clients. La file d'attente est ensuite supprimée du service de File d'attente pendant le garbage collection.

Notez que la suppression d’une file d’attente peut prendre au moins 40 secondes. Si une opération est tentée sur la file d’attente pendant sa suppression, une <xref:azure.storage.queue.aio.HttpResponseError> opération est levée.

async delete_queue(**kwargs: Any) -> None

Paramètres

timeout
int

Définit le délai d’expiration côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Type de retour

Exemples

Supprimer une file d’attente.


   await queue.delete_queue()

from_connection_string

Créez QueueClient à partir d’une chaîne de connexion.

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

Paramètres

conn_str
str
Obligatoire

Une chaîne de connexion à un compte de stockage Azure.

queue_name
str
Obligatoire

le nom de la file d’attente ;

credential
valeur par défaut: None

Informations d’identification avec lesquelles s’authentifier. Cela est facultatif si l’URL du compte a déjà un jeton SAS ou si l’chaîne de connexion a déjà des valeurs de clé d’accès partagé. La valeur peut être une chaîne de jeton SAS, une instance d’azureSasCredential ou AzureNamedKeyCredential à partir d’azure.core.credentials, une clé d’accès partagé de compte ou une instance d’une classe TokenCredentials à partir d’azure.identity. Les informations d’identification fournies ici sont prioritaires sur celles du chaîne de connexion. Si vous utilisez une instance d’AzureNamedKeyCredential, « name » doit être le nom du compte de stockage et « key » doit être la clé de compte de stockage.

audience
str

Audience à utiliser lors de la demande de jetons pour l’authentification Azure Active Directory. A un effet uniquement lorsque les informations d’identification sont de type TokenCredential. La valeur peut être https://storage.azure.com/ (par défaut) ou https ://.queue.core.windows.net.

Retours

Client de file d’attente.

Type de retour

Exemples

Créez le client de file d’attente à partir de chaîne de connexion.


   from azure.storage.queue import QueueClient
   queue = QueueClient.from_connection_string(self.connection_string, "myqueue1")

from_queue_url

Client pour interagir avec une file d’attente spécifique.

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

Paramètres

queue_url
str
Obligatoire

URI complet de la file d’attente, y compris le jeton SAS s’il est utilisé.

credential
valeur par défaut: None

Informations d’identification avec lesquelles s’authentifier. Cela est facultatif si l’URL du compte a déjà un jeton SAS. La valeur peut être une chaîne de jeton SAS, une instance d’azureSasCredential ou AzureNamedKeyCredential à partir d’azure.core.credentials, une clé d’accès partagé de compte ou une instance d’une classe TokenCredentials à partir d’azure.identity. Si l’URI de ressource contient déjà un jeton SAP, celui-ci est ignoré au profit d’informations d’identification explicites.

  • sauf dans le cas d’AzureSasCredential, où les jetons SAP en conflit déclenchent une ValeurError. Si vous utilisez une instance d’AzureNamedKeyCredential, « name » doit être le nom du compte de stockage et « key » doit être la clé du compte de stockage.
audience
str

Audience à utiliser lors de la demande de jetons pour l’authentification Azure Active Directory. A un effet uniquement lorsque les informations d’identification sont de type TokenCredential. La valeur peut être https://storage.azure.com/ (par défaut) ou https ://.queue.core.windows.net.

Retours

Client de file d’attente.

Type de retour

get_queue_access_policy

Retourne des détails sur les stratégies d’accès stockées spécifiées dans la file d’attente qui peuvent être utilisées avec les signatures d’accès partagé.

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

Paramètres

timeout
int

Définit le délai d’attente côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Retours

Dictionnaire des stratégies d’accès associées à la file d’attente.

Type de retour

get_queue_properties

Retourne toutes les métadonnées définies par l’utilisateur pour la file d’attente spécifiée.

Les données retournées n’incluent pas la liste de messages de la file d’attente.

async get_queue_properties(**kwargs: Any) -> QueueProperties

Paramètres

timeout
int

Le paramètre timeout est exprimé en secondes.

Retours

Métadonnées définies par l’utilisateur pour la file d’attente.

Type de retour

Exemples

Obtenez les propriétés de la file d’attente.


   properties = await queue.get_queue_properties()

peek_messages

Récupère un ou plusieurs messages à l’avant de la file d’attente, mais ne modifie pas la visibilité du message.

Seuls les messages visibles peuvent être récupérés. Lorsqu’un message est récupéré pour la première fois avec un appel à receive_messages, sa propriété dequeue_count est définie sur 1. Si elle n’est pas supprimée et est ensuite récupérée à nouveau, la propriété dequeue_count est incrémentée. Le client peut utiliser cette valeur pour déterminer combien de fois un message a été récupéré. Notez qu’un appel à peek_messages n’incrémente pas la valeur de dequeue_count, mais retourne cette valeur pour que le client lise.

Si le champ key-encryption-key ou resolver est défini sur l’objet de service local, les messages sont déchiffrés avant d’être retournés.

async peek_messages(max_messages: int | None = None, **kwargs: Any) -> List[QueueMessage]

Paramètres

max_messages
int
Obligatoire

Une valeur entière différente de zéro qui spécifie le nombre de messages à examiner à partir de la file d'attente, avec un maximum de 32. Par défaut, cette opération ne donne un aperçu que d'un seul message de la file d'attente.

timeout
int

Définit le délai d’attente côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Retours

Liste des objets QueueMessage. Notez que next_visible_on et pop_receipt ne seront pas renseignés, car l’aperçu n’affiche pas le message et peut uniquement récupérer les messages déjà visibles.

Type de retour

Exemples

Aperçu messages.


   # Peek at one message at the front of the queue
   msg = await queue.peek_messages()

   # Peek at the last 5 messages
   messages = await queue.peek_messages(max_messages=5)

   # Print the last 5 messages
   for message in messages:
       print(message.content)

receive_message

Supprime un message à l’avant de la file d’attente.

Lorsque le message est récupéré à partir de la file d’attente, la réponse inclut le contenu du message et une valeur pop_receipt, qui est nécessaire pour supprimer le message. Le message n’est pas automatiquement supprimé de la file d’attente, mais une fois récupéré, il n’est pas visible par les autres clients pendant l’intervalle de temps spécifié par le paramètre visibility_timeout.

Si le champ key-encryption-key ou resolver est défini sur l’objet de service local, le message est déchiffré avant d’être retourné.

async receive_message(*, visibility_timeout: int | None = None, **kwargs: Any) -> QueueMessage | None

Paramètres

visibility_timeout
int

Si elle n’est pas spécifiée, la valeur par défaut est 30. Spécifie la nouvelle valeur du délai de visibilité, en secondes, par rapport au temps serveur. La valeur doit être supérieure ou égale à 1 et ne peut pas être supérieure à 7 jours. Le délai d'expiration de la visibilité d'un message ne peut pas être défini à une valeur ultérieure au délai d'expiration. visibility_timeout doit être défini sur une valeur inférieure à la valeur de durée de vie.

timeout
int

Définit le délai d’attente côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Retours

Retourne un message à partir de la file d’attente ou de aucun si la file d’attente est vide.

Type de retour

Exemples

Recevez un message de la file d’attente.


       # Pop two messages from the front of the queue
       message1 = await queue.receive_message()
       message2 = await queue.receive_message()
       # We should see message 3 if we peek
       message3 = await queue.peek_messages()

       if not message1 or not message2 or not message3:
           raise ValueError("One of the messages are None.")

       print(message1.content)
       print(message2.content)
       print(message3[0].content)

receive_messages

Supprime un ou plusieurs messages à l’avant de la file d’attente.

Lorsqu’un message est récupéré à partir de la file d’attente, la réponse inclut le contenu du message et une valeur pop_receipt, qui est nécessaire pour supprimer le message. Le message n’est pas automatiquement supprimé de la file d’attente, mais une fois récupéré, il n’est pas visible par les autres clients pendant l’intervalle de temps spécifié par le paramètre visibility_timeout. L’itérateur récupère continuellement les messages jusqu’à ce que la file d’attente soit vide ou max_messages soit atteinte (si max_messages est défini).

Si le champ key-encryption-key ou resolver est défini sur l’objet de service local, les messages sont déchiffrés avant d’être retournés.

receive_messages(*, messages_per_page: int | None = None, visibility_timeout: int | None = None, max_messages: int | None = None, **kwargs: Any) -> AsyncItemPaged[QueueMessage]

Paramètres

messages_per_page
int

Une valeur entière différente de zéro qui spécifie le nombre de messages à récupérer de la file d'attente, avec un maximum de 32. Si le nombre de messages est inférieur, tous les messages visibles sont retournés. Par défaut, cette opération ne récupère qu'un seul message de la file d'attente. by_page() peut être utilisé pour fournir un itérateur de page sur AsyncItemPaged si messages_per_page est défini. next() peut être utilisé pour obtenir la page suivante.

visibility_timeout
int

Si elle n’est pas spécifiée, la valeur par défaut est 30. Spécifie la nouvelle valeur du délai de visibilité, en secondes, par rapport au temps serveur. La valeur doit être supérieure ou égale à 1 et ne peut pas être supérieure à 7 jours. Le délai d'expiration de la visibilité d'un message ne peut pas être défini à une valeur ultérieure au délai d'expiration. visibility_timeout doit être défini sur une valeur inférieure à la valeur de durée de vie.

max_messages
int

Entier qui spécifie le nombre maximal de messages à récupérer à partir de la file d’attente.

timeout
int

Définit le délai d’attente côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Retours

Retourne un itérateur de message d’objets Message de type dict.

Type de retour

Exemples

Recevez des messages de la file d’attente.


   # Receive messages one-by-one
   messages = queue.receive_messages()
   async for msg in messages:
       print(msg.content)

   # Receive messages by batch
   messages = queue.receive_messages(messages_per_page=5)
   async for msg_batch in messages.by_page():
       async for msg in msg_batch:
           print(msg.content)
           await queue.delete_message(msg)

send_message

Ajoute un nouveau message à l’arrière de la file d’attente des messages.

Le délai d’expiration de visibilité spécifie l’heure pendant laquelle le message sera invisible. Une fois ce délai expiré, le message est visible. Si un délai de visibilité n'est pas spécifié, la valeur par défaut 0 est utilisée.

La durée de vie du message spécifie la durée pendant laquelle un message restera dans la file d’attente. Le message sera supprimé de la file d'attente lorsque la durée de vie expire.

Si le champ clé-encryption-key est défini sur l’objet de service local, cette méthode chiffre le contenu avant le chargement.

async send_message(content: object | None, *, visibility_timeout: int | None = None, time_to_live: int | None = None, **kwargs: Any) -> QueueMessage

Paramètres

content
Optional[object]
Obligatoire

Contenu du message. Le type autorisé est déterminé par le encode_function défini sur le service. La valeur par défaut est str. La taille du message encodé peut atteindre 64 Ko.

visibility_timeout
int

En l'absence de spécification, la valeur par défaut est 0. Spécifie la nouvelle valeur du délai de visibilité, en secondes, par rapport au temps serveur. La valeur doit être supérieure ou égale à 0 et ne peut pas être supérieure à 7 jours. Le délai d'expiration de la visibilité d'un message ne peut pas être défini à une valeur ultérieure au délai d'expiration. visibility_timeout doit être défini sur une valeur inférieure à la valeur de durée de vie.

time_to_live
int

Spécifie l'intervalle de durée de vie du message, en secondes. Le temps de vie peut être n’importe quel nombre positif ou -1 pour l’infini. Si ce paramètre est omis, la durée de vie par défaut est de 7 jours.

timeout
int

Définit le délai d’attente côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Retours

Objet QueueMessage. Cet objet est également rempli avec le contenu même s’il n’est pas retourné à partir du service.

Type de retour

Exemples

Envoyer des messages.


   await asyncio.gather(
       queue.send_message("message1"),
       queue.send_message("message2", visibility_timeout=30),  # wait 30s before becoming visible
       queue.send_message("message3"),
       queue.send_message("message4"),
       queue.send_message("message5")
   )

set_queue_access_policy

Définit les stratégies d'accès stockées pour la file qui peuvent être utilisées avec des signatures d'accès partagé.

Quand vous définissez des autorisations pour une file d'attente, les autorisations existantes sont remplacées. Pour mettre à jour les autorisations de la file d’attente, appelez get_queue_access_policy pour récupérer toutes les stratégies d’accès associées à la file d’attente, modifiez la stratégie d’accès que vous souhaitez modifier, puis appelez cette fonction avec l’ensemble complet de données pour effectuer la mise à jour.

Lorsque vous établissez une stratégie d'accès stockée sur une file d'attente, son application peut prendre trente secondes. Pendant cet intervalle, une signature d’accès partagé associée à la stratégie d’accès stockée lève un jusqu’à ce que la stratégie d’accès <xref:azure.storage.queue.aio.HttpResponseError> devienne active.

async set_queue_access_policy(signed_identifiers: Dict[str, AccessPolicy], **kwargs: Any) -> None

Paramètres

signed_identifiers
Dict[str, AccessPolicy]
Obligatoire

Stratégies d’accès SignedIdentifier à associer à la file d’attente. Il peut contenir jusqu’à 5 éléments. Une dict vide efface les stratégies d’accès définies sur le service.

timeout
int

Définit le délai d’attente côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Exemples

Définissez une stratégie d’accès sur la file d’attente.


   # Create an access policy
   from azure.storage.queue import AccessPolicy, QueueSasPermissions
   access_policy = AccessPolicy()
   access_policy.start = datetime.utcnow() - timedelta(hours=1)
   access_policy.expiry = datetime.utcnow() + timedelta(hours=1)
   access_policy.permission = QueueSasPermissions(read=True)
   identifiers = {'my-access-policy-id': access_policy}

   # Set the access policy
   await queue.set_queue_access_policy(identifiers)

set_queue_metadata

Définit les métadonnées définies par l’utilisateur sur la file d’attente spécifiée.

Les métadonnées sont associées à la file d'attente en tant que paires nom-valeur.

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

Paramètres

metadata
Optional[Dict[str, Any]]
Obligatoire

dict contenant des paires nom-valeur à associer à la file d’attente en tant que métadonnées.

timeout
int

Définit le délai d’attente côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Retours

Dictionnaire d’en-têtes de réponse.

Type de retour

Exemples

Définissez les métadonnées sur la file d’attente.


   metadata = {'foo': 'val1', 'bar': 'val2', 'baz': 'val3'}
   await queue.set_queue_metadata(metadata=metadata)

update_message

Mises à jour le délai de visibilité d’un message. Vous pouvez également utiliser cette opération pour mettre à jour le contenu d'un message.

Cette opération peut être utilisée pour étendre en permanence l’invisibilité d’un message de file d’attente. Cette fonctionnalité peut être utile si vous souhaitez qu’un rôle de travail « loue » un message de file d’attente. Par exemple, si un rôle de travail appelle receive_messages et reconnaît qu’il a besoin de plus de temps pour traiter un message, il peut continuellement étendre l’invisibilité du message jusqu’à ce qu’il soit traité. Si le rôle de travail échoue pendant le traitement, le message devient visible et un autre rôle de travail peut le traiter.

Si le champ clé-encryption-key est défini sur l’objet de service local, cette méthode chiffre le contenu avant le chargement.

async update_message(message: str | QueueMessage, pop_receipt: str | None = None, content: object | None = None, *, visibility_timeout: int | None = None, **kwargs: Any) -> QueueMessage

Paramètres

message
str ou QueueMessage
Obligatoire

Objet ou id de message identifiant le message à mettre à jour.

pop_receipt
str
Obligatoire

Une valeur valide d'accusé de réception pop renvoyée d'un appel précédent à l'opération receive_messages ou update_message.

content
Optional[object]
Obligatoire

Contenu du message. Le type autorisé est déterminé par le encode_function défini sur le service. La valeur par défaut est str.

visibility_timeout
int

Spécifie la nouvelle valeur du délai de visibilité, en secondes, par rapport au temps serveur. La nouvelle valeur doit être supérieure ou égale à 0 et ne peut pas être supérieure à 7 jours. Le délai d'expiration de la visibilité d'un message ne peut pas être défini à une valeur ultérieure au délai d'expiration. Un message peut être mis à jour tant qu'il n'a pas été supprimé ou qu'il n'a pas expiré. Objet de message ou ID de message identifiant le message à mettre à jour.

timeout
int

Définit le délai d’attente côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Retours

Objet QueueMessage. Pour plus de commodité, cet objet est également rempli avec le contenu, bien qu’il ne soit pas retourné par le service.

Type de retour

Exemples

Mettre à jour un message.


   # Send a message
   await queue.send_message("update me")

   # Receive the message
   messages = queue.receive_messages()

   # Update the message
   async for message in messages:
       message = await queue.update_message(
           message,
           visibility_timeout=0,
           content="updated")

Attributs

api_version

Version de l’API de stockage utilisée pour les requêtes.

Type de retour

str

location_mode

Mode d’emplacement que le client utilise actuellement.

Par défaut, il s’agit de « primary ». Les options incluent « principal » et « secondaire ».

Type de retour

str

primary_endpoint

URL complète du point de terminaison principal.

Type de retour

str

primary_hostname

Nom d’hôte du point de terminaison principal.

Type de retour

str

secondary_endpoint

URL complète du point de terminaison secondaire si elle est configurée.

S’il n’est pas disponible, un objet ValueError est déclenché. Pour spécifier explicitement un nom d’hôte secondaire, utilisez l’argument facultatif mot clé secondary_hostname lors de l’instanciation.

Type de retour

str

Exceptions

secondary_hostname

Nom d’hôte du point de terminaison secondaire.

S’il n’est pas disponible, il s’agit de None. Pour spécifier explicitement un nom d’hôte secondaire, utilisez l’argument facultatif mot clé secondary_hostname lors de l’instanciation.

Type de retour

url

URL complète du point de terminaison de cette entité, y compris le jeton SAS s’il est utilisé.

Il peut s’agir du point de terminaison principal ou du point de terminaison secondaire en fonction du actuel location_mode. :returns : URL de point de terminaison complète de cette entité, y compris le jeton SAP s’il est utilisé. :rtype: str