QueueClient Classe
Client pour interagir avec une file d’attente spécifique.
- Héritage
-
azure.storage.queue._shared.base_client_async.AsyncStorageAccountHostsMixinQueueClientazure.storage.queue._shared.base_client.StorageAccountHostsMixinQueueClientazure.storage.queue._encryption.StorageEncryptionMixinQueueClient
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
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.
- credential
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
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
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
- pop_receipt
- str
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
- credential
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
URI complet de la file d’attente, y compris le jeton SAS s’il est utilisé.
- credential
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
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
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]
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
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
Objet ou id de message identifiant le message à mettre à jour.
- pop_receipt
- str
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.
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
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
primary_endpoint
primary_hostname
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
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
Azure SDK for Python