As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Metadados de mensagens para o Amazon SQS
É possível usar atributos de mensagem para associar metadados personalizados a mensagens do Amazon SQS para suas aplicações. É possível usar atributos do sistema de mensagens a fim de armazenar metadados para outros serviços da AWS , como o AWS X-Ray.
Atributos de mensagem do Amazon SQS
O Amazon SQS permite que você inclua metadados estruturados (como carimbos de data e hora, dados geoespaciais, assinaturas e identificadores) com mensagens usando os atributos de mensagem. Cada mensagem pode ter até dez atributos. Os atributos de mensagem são opcionais e separados do corpo da mensagem (no entanto, são enviados junto com o corpo da mensagem). O consumidor pode usar atributos de mensagem para tratar uma mensagem de uma forma específica sem precisar primeiro processar o corpo da mensagem. Para obter informações sobre como enviar mensagens com atributos usando o console do Amazon SQS, consulte Enviando uma mensagem com atributos usando o Amazon SQS.
nota
Não confunda atributos de mensagem com atributos do sistema de mensagens: embora você possa usar atributos de mensagem para anexar metadados personalizados às mensagens do Amazon SQS para seus aplicativos, você pode usar atributos do sistema de mensagens para armazenar metadados para AWS outros serviços, como. AWS X-Ray
Tópicos
Componentes de atributos de mensagem
Importante
Todos os componentes de um atributo de mensagem estão incluídos na restrição de tamanho de 256 KB da mensagem.
O Name
, Type
, Value
e o corpo da mensagem não devem estar vazios ou serem nulos.
Cada atributo de mensagem consiste nos seguintes componentes:
-
Nome: o nome do atributo da mensagem pode conter os seguintes caracteres:
A
-Z
,a
-z
,0
-9
, sublinhado (_
), hífen (-
), e ponto (.
). As seguintes restrições são aplicáveis:-
Pode ter até 256 caracteres
-
Não pode começar com
AWS.
ouAmazon.
(ou qualquer variação no uso de maiúsculas e minúsculas) -
Diferencia maiúsculas de minúsculas
-
Deve ser exclusivo entre todos os nomes de atributos da mensagem
-
Não deve começar ou terminar com um ponto
-
Não deve ter pontos em uma sequência
-
-
Tipo: o tipo de dados do atributo da mensagem. Os tipos compatíveis incluem
String
,Number
eBinary
. Você também pode adicionar informações personalizadas para qualquer tipo de dados. O tipo de dados tem as mesmas restrições que o corpo da mensagem (para obter mais informações, consulteSendMessage
na Referência da API do Amazon Simple Queue Service). Além disso, aplicam-se as seguintes restrições:-
Pode ter até 256 caracteres
-
Diferencia maiúsculas de minúsculas
-
-
Valor: o valor do atributo da mensagem. Para tipos de dados
String
, os valores dos atributos têm as mesmas restrições que o corpo da mensagem.
Tipos de dados de atributos de mensagem
Os tipos de dados de atributos de mensagens indicam ao Amazon SQS como tratar valores de atributos de mensagens correspondentes. Por exemplo, se o tipo for Number
, o Amazon SQS validará valores numéricos.
O Amazon SQS é compatível com os tipos de dados lógicos String
, Number
e Binary
com rótulos de tipos de dados personalizados opcionais com o formato .custom-data-type
-
String: os atributos
String
podem armazenar texto Unicode usando quaisquer caracteres XML válidos. -
Número: os atributos
Number
podem armazenar valores numéricos positivos ou negativos. Um número pode ter até 38 dígitos de precisão, e pode ser entre 10^-128 e 10^+126.nota
O Amazon SQS remove zeros iniciais e finais.
-
Binário: os atributos binários podem armazenar qualquer dado binário, como dados compactados, dados criptografados ou imagens.
-
Personalizado: para criar um tipo de dado personalizado, acrescente um rótulo de tipo personalizado a qualquer tipo de dado. Por exemplo: .
-
Number.byte
,Number.short
,Number.int
eNumber.float
podem ajudar a diferenciar entre tipos numéricos. -
Binary.gif
eBinary.png
podem ajudar a diferenciar entre tipos de arquivos.
nota
O Amazon SQS não interpreta, valida ou usa os dados anexados.
O rótulo de tipo personalizado tem as mesmas restrições que o corpo da mensagem.
-
Cálculo do resumo de mensagens MD5 para atributos de mensagem
Se você usar o AWS SDK for Java, você pode pular esta seção. A classe MessageMD5ChecksumHandler
do SDK for Java oferece suporte a resumos de mensagens MD5 para atributos de mensagens do Amazon SQS.
Se você usar a API de consulta ou um dos AWS SDKs que não suporta resumos de mensagens MD5 para atributos de mensagens do Amazon SQS, você deve usar as diretrizes a seguir para realizar o cálculo do resumo de mensagens MD5.
nota
Sempre inclua sufixos de tipos de dados personalizados no cálculo do resumo de mensagens MD5.
Visão geral
O seguinte é uma visão geral do algoritmo de cálculo do resumo de mensagens MD5:
-
Classificar todos os atributos de mensagem por nome em ordem crescente.
-
Codificar as partes individuais de cada atributo (
Name
,Type
eValue
) em um buffer. -
Calcular o resumo de mensagem de todo o buffer.
O seguinte diagrama mostra a codificação do resumo de mensagens MD5 para um único atributo de mensagem:
![Codificação do resumo da mensagem MD5 para um único atributo de mensagem.](images/sqs-msg-attrib-md5.png)
Para codificar um único atributo de mensagem do Amazon SQS
-
Codifique o nome: o comprimento (4 bytes) e os bytes UTF-8 do nome.
-
Codifique o tipo de dados: o comprimento (4 bytes) e os bytes UTF-8 do tipo de dados.
-
Codifique o tipo de transporte (
String
ouBinary
) do valor (1 byte).nota
Os tipos de dados lógicos
String
eNumber
usam o tipo de transporteString
.Os tipos de dados lógicos
Binary
usam o tipo de transporteBinary
.-
Para o tipo de transporte
String
, codifique 1. -
Para o tipo de transporte
Binary
, codifique 2.
-
-
Codifique o valor do atributo.
-
Para o tipo de transporte
String
, codifique o valor do atributo: o comprimento (4 bytes) e os bytes UTF-8 do valor. -
Para o tipo de transporte
Binary
, codifique o valor do atributo: o comprimento (4 bytes) e os bytes brutos do valor.
-
Atributos do sistema de mensagens do Amazon SQS
Enquanto é possível usar atributos de mensagens para anexar metadados personalizados a mensagens do Amazon SQS para suas aplicações, é possível usar atributos do sistema de mensagens a fim de armazenar metadados para outros produtos da AWS
, como o AWS X-Ray. Para obter mais informações, consulte o parâmetro de solicitação MessageSystemAttribute
das ações de API de SendMessage
e SendMessageBatch
, o atributo AWSTraceHeader
da ação de API ReceiveMessage
e o tipo de dado MessageSystemAttributeValue
na Referência da API do Amazon Simple Queue Service.
Os atributos do sistema de mensagens são estruturados exatamente como atributos de mensagens, com as seguintes exceções:
-
Atualmente, o único atributo do sistema de mensagens compatível é
AWSTraceHeader
. Seu tipo deve serString
e seu valor deve ser uma string de cabeçalho de AWS X-Ray rastreamento formatada corretamente. -
O tamanho de um atributo do sistema de mensagens não entra na contagem para o tamanho total de uma mensagem.