Compartilhar via


QueueClient Classe

Um cliente para interagir com uma Fila específica.

Herança
azure.storage.queue._shared.base_client_async.AsyncStorageAccountHostsMixin
QueueClient
azure.storage.queue._shared.base_client.StorageAccountHostsMixin
QueueClient
azure.storage.queue._encryption.StorageEncryptionMixin
QueueClient

Construtor

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

Parâmetros

account_url
str
Obrigatório

A URL para a conta de armazenamento. Para criar um cliente com o URI completo para a fila, use o from_queue_url classmethod.

queue_name
str
Obrigatório

O nome da fila.

credential
valor padrão: None

As credenciais com as quais autenticar. Isso será opcional se a URL da conta já tiver um token SAS. O valor pode ser uma cadeia de caracteres de token SAS, uma instância de um AzureSasCredential ou AzureNamedKeyCredential de azure.core.credentials, uma chave de acesso compartilhado de conta ou uma instância de uma classe TokenCredentials do azure.identity. Se o URI do recurso já contiver um token SAS, isso será ignorado em favor de uma credencial explícita

  • exceto no caso do AzureSasCredential, em que os tokens SAS conflitantes gerarão um ValueError. Se estiver usando uma instância do AzureNamedKeyCredential, "name" deverá ser o nome da conta de armazenamento e "key" deverá ser a chave da conta de armazenamento.
api_version
str

A versão da API de Armazenamento a ser usada para solicitações. O valor padrão é a versão de serviço mais recente compatível com o SDK atual. A configuração para uma versão mais antiga pode resultar em compatibilidade de recursos reduzida.

secondary_hostname
str

O nome do host do ponto de extremidade secundário.

message_encode_policy

A política de codificação a ser usada em mensagens de saída. O padrão não é codificar mensagens. Outras opções incluem <xref:azure.storage.queue.aio.TextBase64EncodePolicy>, <xref:azure.storage.queue.aio.BinaryBase64EncodePolicy> ou None.

message_decode_policy

A política de decodificação a ser usada em mensagens de entrada. O valor padrão não é decodificar mensagens. Outras opções incluem <xref:azure.storage.queue.aio.TextBase64DecodePolicy>, <xref:azure.storage.queue.aio.BinaryBase64DecodePolicy> ou None.

audience
str

O público-alvo a ser usado ao solicitar tokens para autenticação do Azure Active Directory. Só tem um efeito quando a credencial é do tipo TokenCredential. O valor pode ser https://storage.azure.com/ (padrão) ou https://.queue.core.windows.net.

Exemplos

Crie o cliente da fila com url e credencial.


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

Crie o cliente de fila com um cadeia de conexão.


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

Métodos

clear_messages

Exclui todas as mensagens da fila especificada.

close

Esse método é fechar os soquetes abertos pelo cliente. Ele não precisa ser usado ao usar com um gerenciador de contexto.

create_queue

Cria uma nova fila na conta de armazenamento.

Se já existir uma fila com o mesmo nome, a operação falhará com um ResourceExistsError.

delete_message

Exclui a mensagem especificada.

Normalmente, depois que um cliente recupera uma mensagem com a operação de recebimento de mensagens, espera-se que o cliente processe e exclua a mensagem. Para excluir a mensagem, você deve ter o próprio objeto de mensagem ou dois itens de dados: id e pop_receipt. A ID é retornada da operação de receive_messages anterior. O pop_receipt é retornado da operação ou update_message mais recentereceive_messages. Para que a operação de delete_message seja bem-sucedida, o pop_receipt especificado na solicitação deve corresponder ao pop_receipt retornado da receive_messages operação ou update_message .

delete_queue

Exclui a fila especificada e todas as mensagens que ela contém.

Quando uma fila é excluída com êxito, ela é marcada imediatamente para exclusão e não está mais acessível aos clientes. A fila é removida posteriormente do serviço Fila durante a coleta de lixo.

Observe que a exclusão de uma fila provavelmente levará pelo menos 40 segundos para ser concluída. Se uma operação for tentada na fila enquanto ela estava sendo excluída, uma <xref:azure.storage.queue.aio.HttpResponseError> será lançada.

from_connection_string

Criar QueueClient a partir de uma cadeia de conexão.

from_queue_url

Um cliente para interagir com uma Fila específica.

get_queue_access_policy

Retorna detalhes sobre as políticas de acesso armazenadas especificadas na fila que podem ser usadas com Assinaturas de Acesso Compartilhado.

get_queue_properties

Retorna todos os metadados definidos pelo usuário para a fila especificada.

Os dados retornados não incluem a lista de mensagens da fila.

peek_messages

Recupera uma ou mais mensagens da frente da fila, mas não altera a visibilidade da mensagem.

Somente mensagens visíveis podem ser recuperadas. Quando uma mensagem é recuperada pela primeira vez com uma chamada para receive_messages, sua propriedade dequeue_count é definida como 1. Se ele não for excluído e for recuperado posteriormente, a propriedade dequeue_count será incrementada. O cliente poderá usar esse valor para determinar quantas vezes uma mensagem foi recuperada. Observe que uma chamada para peek_messages não incrementa o valor de dequeue_count, mas retorna esse valor para o cliente ler.

Se o campo chave-criptografia-chave ou resolvedor estiver definido no objeto de serviço local, as mensagens serão descriptografadas antes de serem retornadas.

receive_message

Remove uma mensagem da frente da fila.

Quando a mensagem é recuperada da fila, a resposta inclui o conteúdo da mensagem e um valor pop_receipt, que é necessário para excluir a mensagem. A mensagem não é excluída automaticamente da fila, mas depois de recuperada, não fica visível para outros clientes para o intervalo de tempo especificado pelo parâmetro visibility_timeout.

Se o campo chave-criptografia-chave ou resolvedor estiver definido no objeto de serviço local, a mensagem será descriptografada antes de ser retornada.

receive_messages

Remove uma ou mais mensagens da frente da fila.

Quando uma mensagem é recuperada da fila, a resposta inclui o conteúdo da mensagem e um valor de pop_receipt, que é necessário para excluir a mensagem. A mensagem não é excluída automaticamente da fila, mas depois de recuperada, não fica visível para outros clientes para o intervalo de tempo especificado pelo parâmetro visibility_timeout. O iterador buscará mensagens continuamente até que a fila esteja vazia ou max_messages seja atingida (se max_messages estiver definido).

Se o campo chave-criptografia-chave ou resolvedor estiver definido no objeto de serviço local, as mensagens serão descriptografadas antes de serem retornadas.

send_message

Adiciona uma nova mensagem à parte de trás da fila de mensagens.

O tempo limite de visibilidade especifica a hora em que a mensagem será invisível. Depois que o tempo limite expirar, a mensagem se tornará visível. Se um tempo limite de visibilidade não for especificado, o valor padrão de 0 será usado.

A mensagem de vida útil especifica por quanto tempo uma mensagem permanecerá na fila. A mensagem será excluída da fila quando o período de vida útil expirar.

Se o campo chave-criptografia-chave estiver definido no objeto de serviço local, esse método criptografará o conteúdo antes de carregar.

set_queue_access_policy

Define políticas de acesso armazenadas para a fila que podem ser usadas com assinaturas de acesso compartilhadas.

Quando você define permissões para uma fila, as permissões existentes são substituídas. Para atualizar as permissões da fila, chame get_queue_access_policy para buscar todas as políticas de acesso associadas à fila, modifique a política de acesso que você deseja alterar e chame essa função com o conjunto completo de dados para executar a atualização.

O estabelecimento de uma política de acesso armazenada em uma fila pode levar até 30 segundos para ter efeito. Durante esse intervalo, uma assinatura de acesso compartilhado associada à política de acesso armazenada gerará um <xref:azure.storage.queue.aio.HttpResponseError> até que a política de acesso se torne ativa.

set_queue_metadata

Define metadados definidos pelo usuário na fila especificada.

Os metadados são associados à fila como pares de nome-valor.

update_message

Atualizações o tempo limite de visibilidade de uma mensagem. Você também pode usar essa operação para atualizar o conteúdo de uma mensagem.

Essa operação pode ser usada para estender continuamente a invisibilidade de uma mensagem de fila. Essa funcionalidade pode ser útil se você quiser que uma função de trabalho "alugue" uma mensagem de fila. Por exemplo, se uma função de trabalho chamar receive_messages e reconhecer que precisa de mais tempo para processar uma mensagem, ela poderá estender continuamente a invisibilidade da mensagem até que ela seja processada. Se ocorrer uma falha na função de trabalho durante o processamento, a mensagem se tornará visível novamente, e outra função de trabalho poderá acessá-la.

Se o campo chave-criptografia-chave estiver definido no objeto de serviço local, esse método criptografará o conteúdo antes de carregar.

clear_messages

Exclui todas as mensagens da fila especificada.

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

Parâmetros

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, confira aqui.

Exemplos

Limpa todas as mensagens.


   await queue.clear_messages()

close

Esse método é fechar os soquetes abertos pelo cliente. Ele não precisa ser usado ao usar com um gerenciador de contexto.

async close()

create_queue

Cria uma nova fila na conta de armazenamento.

Se já existir uma fila com o mesmo nome, a operação falhará com um ResourceExistsError.

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

Parâmetros

metadata
dict(str,str)

Um ditado que contém pares nome-valor a serem associados à fila como metadados. Observe que os nomes de metadados preservam a forma com a qual foram criados, mas não diferenciam maiúsculas de minúsculas quando definidos ou lidos.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, confira aqui.

Retornos

Nenhum ou o resultado de cls(response)

Tipo de retorno

Exceções

StorageErrorException

Exemplos

Crie uma fila.


   await queue.create_queue()

delete_message

Exclui a mensagem especificada.

Normalmente, depois que um cliente recupera uma mensagem com a operação de recebimento de mensagens, espera-se que o cliente processe e exclua a mensagem. Para excluir a mensagem, você deve ter o próprio objeto de mensagem ou dois itens de dados: id e pop_receipt. A ID é retornada da operação de receive_messages anterior. O pop_receipt é retornado da operação ou update_message mais recentereceive_messages. Para que a operação de delete_message seja bem-sucedida, o pop_receipt especificado na solicitação deve corresponder ao pop_receipt retornado da receive_messages operação ou update_message .

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

Parâmetros

message
str ou QueueMessage
Obrigatório

O objeto ou id da mensagem que identifica a mensagem a ser excluída.

pop_receipt
str
Obrigatório

Um valor de recibo pop válido retornado de uma chamada anterior para o receive_messages ou update_message.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, confira aqui.

Exemplos

Excluir uma mensagem.


   # 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

Exclui a fila especificada e todas as mensagens que ela contém.

Quando uma fila é excluída com êxito, ela é marcada imediatamente para exclusão e não está mais acessível aos clientes. A fila é removida posteriormente do serviço Fila durante a coleta de lixo.

Observe que a exclusão de uma fila provavelmente levará pelo menos 40 segundos para ser concluída. Se uma operação for tentada na fila enquanto ela estava sendo excluída, uma <xref:azure.storage.queue.aio.HttpResponseError> será lançada.

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

Parâmetros

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, confira aqui.

Tipo de retorno

Exemplos

Excluir uma fila.


   await queue.delete_queue()

from_connection_string

Criar QueueClient a partir de uma cadeia de conexão.

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

Parâmetros

conn_str
str
Obrigatório

Um cadeia de conexão para uma conta de Armazenamento do Azure.

queue_name
str
Obrigatório

O nome da fila.

credential
valor padrão: None

As credenciais com as quais autenticar. Isso é opcional se a URL da conta já tiver um token SAS ou se o cadeia de conexão já tiver valores de chave de acesso compartilhado. O valor pode ser uma cadeia de caracteres de token SAS, uma instância de um AzureSasCredential ou AzureNamedKeyCredential de azure.core.credentials, uma chave de acesso compartilhado de conta ou uma instância de uma classe TokenCredentials do azure.identity. As credenciais fornecidas aqui terão precedência sobre as do cadeia de conexão. Se estiver usando uma instância do AzureNamedKeyCredential, "name" deverá ser o nome da conta de armazenamento e "key" deverá ser a chave da conta de armazenamento.

audience
str

O público-alvo a ser usado ao solicitar tokens para autenticação do Azure Active Directory. Só tem um efeito quando a credencial é do tipo TokenCredential. O valor pode ser https://storage.azure.com/ (padrão) ou https://.queue.core.windows.net.

Retornos

Um cliente de fila.

Tipo de retorno

Exemplos

Crie o cliente de fila de cadeia de conexão.


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

from_queue_url

Um cliente para interagir com uma Fila específica.

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

Parâmetros

queue_url
str
Obrigatório

O URI completo para a fila, incluindo o token SAS, se usado.

credential
valor padrão: None

As credenciais com as quais autenticar. Isso será opcional se a URL da conta já tiver um token SAS. O valor pode ser uma cadeia de caracteres de token SAS, uma instância de um AzureSasCredential ou AzureNamedKeyCredential de azure.core.credentials, uma chave de acesso compartilhado de conta ou uma instância de uma classe TokenCredentials do azure.identity. Se o URI do recurso já contiver um token SAS, isso será ignorado em favor de uma credencial explícita

  • exceto no caso de AzureSasCredential, em que os tokens SAS conflitantes gerarão um ValueError. Se estiver usando uma instância de AzureNamedKeyCredential, "name" deverá ser o nome da conta de armazenamento e "key" deverá ser a chave da conta de armazenamento.
audience
str

O público-alvo a ser usado ao solicitar tokens para autenticação do Azure Active Directory. Só tem efeito quando a credencial é do tipo TokenCredential. O valor pode ser https://storage.azure.com/ (padrão) ou https://.queue.core.windows.net.

Retornos

Um cliente de fila.

Tipo de retorno

get_queue_access_policy

Retorna detalhes sobre as políticas de acesso armazenadas especificadas na fila que podem ser usadas com Assinaturas de Acesso Compartilhado.

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

Parâmetros

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, consulte aqui.

Retornos

Um dicionário de políticas de acesso associadas à fila.

Tipo de retorno

get_queue_properties

Retorna todos os metadados definidos pelo usuário para a fila especificada.

Os dados retornados não incluem a lista de mensagens da fila.

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

Parâmetros

timeout
int

O parâmetro timeout é expresso em segundos.

Retornos

Metadados definidos pelo usuário para a fila.

Tipo de retorno

Exemplos

Obtenha as propriedades na fila.


   properties = await queue.get_queue_properties()

peek_messages

Recupera uma ou mais mensagens da frente da fila, mas não altera a visibilidade da mensagem.

Somente mensagens visíveis podem ser recuperadas. Quando uma mensagem é recuperada pela primeira vez com uma chamada para receive_messages, sua propriedade dequeue_count é definida como 1. Se ele não for excluído e for recuperado posteriormente, a propriedade dequeue_count será incrementada. O cliente poderá usar esse valor para determinar quantas vezes uma mensagem foi recuperada. Observe que uma chamada para peek_messages não incrementa o valor de dequeue_count, mas retorna esse valor para o cliente ler.

Se o campo chave-criptografia-chave ou resolvedor estiver definido no objeto de serviço local, as mensagens serão descriptografadas antes de serem retornadas.

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

Parâmetros

max_messages
int
Obrigatório

Um valor inteiro diferente de zero que especifica o número de mensagens a serem inspecionadas da fila, até um máximo de 32. Por padrão, uma única mensagem é inspecionada da fila com essa operação.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, consulte aqui.

Retornos

Uma lista de objetos QueueMessage. Observe que next_visible_on e pop_receipt não serão preenchidos, pois peek não exibe a mensagem e só pode recuperar mensagens já visíveis.

Tipo de retorno

Exemplos

Pré-visualizar mensagens.


   # 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

Remove uma mensagem da frente da fila.

Quando a mensagem é recuperada da fila, a resposta inclui o conteúdo da mensagem e um valor pop_receipt, que é necessário para excluir a mensagem. A mensagem não é excluída automaticamente da fila, mas depois de recuperada, não fica visível para outros clientes para o intervalo de tempo especificado pelo parâmetro visibility_timeout.

Se o campo chave-criptografia-chave ou resolvedor estiver definido no objeto de serviço local, a mensagem será descriptografada antes de ser retornada.

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

Parâmetros

visibility_timeout
int

Se não for especificado, o valor padrão será 30. Especifica o novo valor de tempo limite de visibilidade, em segundos, em relação à hora do servidor. O valor deve ser maior ou igual a 1 e não pode ser maior que 7 dias. O tempo limite de visibilidade de uma mensagem não pode ser definido como um valor posterior à data de expiração. visibility_timeout deve ser definido como um valor menor que o valor de vida útil.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, consulte aqui.

Retornos

Retorna uma mensagem da Fila ou Nenhum se a Fila estiver vazia.

Tipo de retorno

Exemplos

Receba uma mensagem da fila.


       # 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

Remove uma ou mais mensagens da frente da fila.

Quando uma mensagem é recuperada da fila, a resposta inclui o conteúdo da mensagem e um valor de pop_receipt, que é necessário para excluir a mensagem. A mensagem não é excluída automaticamente da fila, mas depois de recuperada, não fica visível para outros clientes para o intervalo de tempo especificado pelo parâmetro visibility_timeout. O iterador buscará mensagens continuamente até que a fila esteja vazia ou max_messages seja atingida (se max_messages estiver definido).

Se o campo chave-criptografia-chave ou resolvedor estiver definido no objeto de serviço local, as mensagens serão descriptografadas antes de serem retornadas.

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

Parâmetros

messages_per_page
int

Um valor inteiro diferente de zero que especifica o número de mensagens a serem recuperadas da fila, até um máximo de 32. Se houver poucas visíveis, as mensagens visíveis serão retornadas. Por padrão, uma única mensagem é recuperada da fila com essa operação. by_page() poderá ser usado para fornecer um iterador de página no AsyncItemPaged se messages_per_page estiver definido. next() pode ser usado para obter a próxima página.

visibility_timeout
int

Se não for especificado, o valor padrão será 30. Especifica o novo valor de tempo limite de visibilidade, em segundos, em relação à hora do servidor. O valor deve ser maior ou igual a 1 e não pode ser maior que 7 dias. O tempo limite de visibilidade de uma mensagem não pode ser definido como um valor posterior à data de expiração. visibility_timeout deve ser definido como um valor menor que o valor de vida útil.

max_messages
int

Um inteiro que especifica o número máximo de mensagens a serem recuperadas da fila.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, consulte aqui.

Retornos

Retorna um iterador de mensagem de objetos Message semelhantes a dict.

Tipo de retorno

Exemplos

Receber mensagens da fila.


   # 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

Adiciona uma nova mensagem à parte de trás da fila de mensagens.

O tempo limite de visibilidade especifica a hora em que a mensagem será invisível. Depois que o tempo limite expirar, a mensagem se tornará visível. Se um tempo limite de visibilidade não for especificado, o valor padrão de 0 será usado.

A mensagem de vida útil especifica por quanto tempo uma mensagem permanecerá na fila. A mensagem será excluída da fila quando o período de vida útil expirar.

Se o campo chave-criptografia-chave estiver definido no objeto de serviço local, esse método criptografará o conteúdo antes de carregar.

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

Parâmetros

content
Optional[object]
Obrigatório

Conteúdo da mensagem. O tipo permitido é determinado pelo encode_function definido no serviço. O padrão é str. A mensagem codificada pode ter até 64 KB de tamanho.

visibility_timeout
int

Se não for especificado, o valor padrão será 0. Especifica o novo valor de tempo limite de visibilidade, em segundos, em relação à hora do servidor. O valor deve ser maior ou igual a 0 e não pode ser maior que 7 dias. O tempo limite de visibilidade de uma mensagem não pode ser definido como um valor posterior à data de expiração. visibility_timeout deve ser definido como um valor menor que o valor de vida útil.

time_to_live
int

Especifica o intervalo de vida útil da mensagem, em segundos. O tempo de vida pode ser qualquer número positivo ou -1 para infinito. Se esse parâmetro for omitido, a vida útil padrão será sete dias.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, consulte aqui.

Retornos

Um objeto QueueMessage. Esse objeto também é preenchido com o conteúdo, embora não seja retornado do serviço.

Tipo de retorno

Exemplos

Enviar mensagens.


   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

Define políticas de acesso armazenadas para a fila que podem ser usadas com assinaturas de acesso compartilhadas.

Quando você define permissões para uma fila, as permissões existentes são substituídas. Para atualizar as permissões da fila, chame get_queue_access_policy para buscar todas as políticas de acesso associadas à fila, modifique a política de acesso que você deseja alterar e chame essa função com o conjunto completo de dados para executar a atualização.

O estabelecimento de uma política de acesso armazenada em uma fila pode levar até 30 segundos para ter efeito. Durante esse intervalo, uma assinatura de acesso compartilhado associada à política de acesso armazenada gerará um <xref:azure.storage.queue.aio.HttpResponseError> até que a política de acesso se torne ativa.

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

Parâmetros

signed_identifiers
Dict[str, AccessPolicy]
Obrigatório

Políticas de acesso signedIdentifier para associar à fila. Isso pode conter até 5 elementos. Um dict vazio limpará as políticas de acesso definidas no serviço.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, consulte aqui.

Exemplos

Defina uma política de acesso na fila.


   # 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

Define metadados definidos pelo usuário na fila especificada.

Os metadados são associados à fila como pares de nome-valor.

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

Parâmetros

metadata
Optional[Dict[str, Any]]
Obrigatório

Um ditado que contém pares nome-valor a serem associados à fila como metadados.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, consulte aqui.

Retornos

Um dicionário de cabeçalhos de resposta.

Tipo de retorno

Exemplos

Defina metadados na fila.


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

update_message

Atualizações o tempo limite de visibilidade de uma mensagem. Você também pode usar essa operação para atualizar o conteúdo de uma mensagem.

Essa operação pode ser usada para estender continuamente a invisibilidade de uma mensagem de fila. Essa funcionalidade pode ser útil se você quiser que uma função de trabalho "alugue" uma mensagem de fila. Por exemplo, se uma função de trabalho chamar receive_messages e reconhecer que precisa de mais tempo para processar uma mensagem, ela poderá estender continuamente a invisibilidade da mensagem até que ela seja processada. Se ocorrer uma falha na função de trabalho durante o processamento, a mensagem se tornará visível novamente, e outra função de trabalho poderá acessá-la.

Se o campo chave-criptografia-chave estiver definido no objeto de serviço local, esse método criptografará o conteúdo antes de carregar.

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

Parâmetros

message
str ou QueueMessage
Obrigatório

O objeto ou id da mensagem que identifica a mensagem a ser atualizada.

pop_receipt
str
Obrigatório

Um valor válido de recebimento de mensagem pop-up retornado de uma chamada anterior para a operação receive_messages ou update_message.

content
Optional[object]
Obrigatório

Conteúdo da mensagem. O tipo permitido é determinado pelo encode_function definido no serviço. O padrão é str.

visibility_timeout
int

Especifica o novo valor de tempo limite de visibilidade, em segundos, em relação à hora do servidor. O novo valor deve ser maior ou igual a 0 e não pode ser maior que sete dias. O tempo limite de visibilidade de uma mensagem não pode ser definido como um valor posterior à data de expiração. É possível atualizar uma mensagem até que seja excluída ou expirar. O objeto de mensagem ou a ID da mensagem que identifica a mensagem a ser atualizada.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-queue-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, consulte aqui.

Retornos

Um objeto QueueMessage. Para sua conveniência, esse objeto também é preenchido com o conteúdo, embora não seja retornado pelo serviço.

Tipo de retorno

Exemplos

Atualizar uma mensagem.


   # 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")

Atributos

api_version

A versão da API de Armazenamento usada para solicitações.

Tipo de retorno

str

location_mode

O modo de localização que o cliente está usando no momento.

Por padrão, isso será "primário". As opções incluem "primário" e "secundário".

Tipo de retorno

str

primary_endpoint

A URL completa do ponto de extremidade primário.

Tipo de retorno

str

primary_hostname

O nome do host do ponto de extremidade primário.

Tipo de retorno

str

secondary_endpoint

A URL completa do ponto de extremidade secundário, se configurada.

Se não estiver disponível, um ValueError será gerado. Para especificar explicitamente um nome de host secundário, use o argumento opcional secondary_hostname palavra-chave na instanciação.

Tipo de retorno

str

Exceções

secondary_hostname

O nome do host do ponto de extremidade secundário.

Se não estiver disponível, este será Nenhum. Para especificar explicitamente um nome de host secundário, use o argumento opcional secondary_hostname palavra-chave na instanciação.

Tipo de retorno

url

A URL completa do ponto de extremidade para essa entidade, incluindo o token SAS, se usado.

Pode ser o ponto de extremidade primário ou o ponto de extremidade secundário, dependendo do atual location_mode. :returns: a URL completa do ponto de extremidade para essa entidade, incluindo o token SAS, se usado. :rtype: str