Amazon Simple Queue Service (Amazon SQS)

O Amazon Simple Queue Service (Amazon SQS) oferece uma fila hospedada altamente escalável e confiável para o armazenamento de mensagens à medida que elas transitam entre computadores. Ao usar o Amazon SQS, os desenvolvedores podem simplesmente mover dados entre componentes distribuídos dos seus aplicativos que desempenham tarefas diferentes, sem perder mensagens ou exigir que cada componente esteja sempre disponível. O Amazon SQS facilita a criação de um fluxo de trabalho automatizado, trabalhando em conjunto com o Amazon Elastic Compute Cloud (Amazon EC2) e outros serviços da Web de infraestrutura da AWS.

O Amazon SQS trabalha ao expor a infraestrutura de mensagens de escala da Web da Amazon como um serviço da Web. Qualquer computador na Internet pode adicionar ou ler mensagens sem nenhum software instalado ou configurações especiais de firewall. Os componentes de aplicativos usando o Amazon SQS podem ser executados de forma independente e não precisam estar na mesma rede, ser desenvolvidos com as mesmas tecnologias ou executados ao mesmo tempo.

Comece a usar AWS gratuita

O nível gratuito da AWS inclui 1 milhão de solicitações com o Amazon Simple Queue Service (SQS).

Veja os detalhes do nível gratuito da AWS »


Esta página contém as seguintes categorias de informações. Clique para ir para baixo:

Funcionalidade do Amazon SQS

  • Os desenvolvedores podem criar um número ilimitado de filas do Amazon SQS com um número ilimitado de mensagens.
  • Um fila pode ser criada em minha região.
  • O corpo da mensagem pode conter até 64 KB de texto em qualquer formato.
  • As mensagens podem ser enviadas, recebidas ou excluídas em lotes de até 10 mensagens ou 64 kb. Lotes custam o mesmo que mensagens únicas, o que pode ser ainda mais compensador para usuários que os usam.
  • As mensagens podem ser retidas nas filas por até 14 dias.
  • As mensagens podem ser enviadas e lidas simultaneamente.
  • Quando uma mensagem é recebida, ela torna-se "bloqueada" durante o processamento. Isso impede que outros computadores processem a mensagem simultaneamente. Se houver falha no processamento da mensagem, o bloqueio expirará e a mensagem será disponibilizada novamente. Caso o aplicativo precise de mais tempo para o processamento, a expiração do "bloqueio" poderá ser alterada dinamicamente por meio da operação ChangeMessageVisibility.
  • Os desenvolvedores podem compartilhar filas do Amazon SQS com outras pessoas de maneira segura. As filas podem ser compartilhadas com outras contas AWS e Anonimamente. O compartilhamento de filas também pode ser restringido pelo endereço IP e pelo período do dia.
  • Quando combinado com o Amazon Simple Notification Service (SNS), os desenvolvedores podem realizar o 'fan-out' de mensagens idênticas para várias filas de SQS paralelamente. Quando os desenvolvedores quiserem processar as mensagens em várias passagens, o 'fan-out' ajuda a concluir isso mais rapidamente e com menos atrasos devido a gargalos em qualquer estágio. O 'fan-out' também facilita a gravação de cópias duplicadas de suas mensagens, por exemplo em diferentes bancos de dados.

Destaques do serviço

O Amazon SQS oferece vantagens significativas em relação a complexidade dos sistemas de mensagens domésticos ou a despesa constante de sistemas licenciados ou hospedados.

Confiável – O Amazon SQS é executado dentro de Datacenters de alta disponibilidade da Amazon, assim haverá filas disponíveis sempre que os aplicativos precisarem. Para evitar que mensagens sejam perdidas ou fiquem indisponíveis, todas as mensagens são armazenadas redundantemente entre vários servidores e Datacenters.

Simples – Os desenvolvedores podem começar a utilizar o Amazon SQS com apenas cinco APIs: CreateQueue, SendMessage, ReceiveMessage, ChangeMessageVisibility e DeleteMessage. APIs adicionais estão disponíveis para fornecer funcionalidade avançada.

Escalável – O Amazon SQS foi projetado para permitir que um número ilimitado de serviços leiam e gravem um número ilimitado de mensagens a qualquer momento.

Seguro – Mecanismos de autenticação são fornecidos para garantir que as mensagens armazenadas em filas no Amazon SQS estejam protegidas contra acesso não autorizado.

Acessível – Não há custos fixos nem gastos iniciais. Os únicos custos de envio de mensagens através do Amazon SQS são as taxas de manuseio por solicitações pequenas e taxas de transferência de dados.


Usando o Amazon SQS com outros serviços web de infraestrutura AWS

O Amazon SQS pode ser usado com o Amazon EC2, bem como com o Amazon S3 e o Amazon SimpleDB, para tornar os aplicativos mais flexíveis e escaláveis. Um tipo de uso comum é criar um fluxo de trabalho integrado e automatizado, onde vários módulos ou componentes precisam se comunicar uns com os outros, porém não podem processar a mesma quantidade de trabalho simultaneamente. Neste caso, as filas do Amazon SQS transportam mensagens a serem processadas de forma ordenada pelo aplicativo do usuário que está em execução em instâncias do Amazon EC2. As instâncias do Amazon EC2 podem ler a fila, processar o trabalho e, em seguida, publicar os resultados como mensagens para outra fila do Amazon SQS (possivelmente para processamento posterior por outro aplicativo). Visto que o Amazon EC2 permite que aplicativos sejam ampliados ou reduzidos dinamicamente, os desenvolvedores de aplicativos podem facilmente variar o número de instâncias computacionais com base na quantidade de trabalho nas filas SQS, para garantir que os trabalhos sejam executados em tempo hábil.

Por exemplo, aqui mostramos como um site de transcodificação de vídeo usa o Amazon EC2, o Amazon SQS, o Amazon S3 e o Amazon SimpleDB de forma conjunta. Os usuários finais enviam vídeos para serem transcodificados para o site. Os vídeos são armazenados no Amazon S3, e uma mensagem ("a mensagem de solicitação") é colocada em uma fila do Amazon SQS ("a fila de entrada") com um ponteiro para o vídeo e para o formato de vídeo de destino da mensagem. O mecanismo de transcodificação, sendo executado em um conjunto de instâncias do Amazon EC2, lê a mensagem de solicitação da fila de entrada, recupera o vídeo do Amazon S3 usando o ponteiro e transcodifica o vídeo para o formato de destino. O vídeo convertido é colocado de volta no Amazon S3 e outra mensagem ("a mensagem de resposta") é colocada em outra fila do Amazon SQS ("a fila de saída") com um ponteiro para o vídeo convertido. Ao mesmo tempo, metadata do vídeo (por exemplo, formato, data de criação e duração) podem ser indexados no Amazon SimpleDB para facilitar a consulta. Durante todo este fluxo de trabalho, uma instância dedicada do Amazon EC2 pode monitorar constantemente a fila de entrada e, com base no número de mensagens na fila de entrada, é capaz de ajustar dinamicamente o número de instâncias de transcodificação no Amazon EC2 para atender aos requisitos de tempo de resposta dos clientes.


Definição de preço

Pague somente pelo que usar. Não há taxa mínima. Estime sua fatura mensal usando a Calculadora Mensal da AWS.

Nível gratuito*
É possível começar a usar o Amazon SQS gratuitamente. Clientes novos e existentes recebem 1 milhão de solicitações de enfileiramento do Amazon SQS gratuitamente por mês. Alguns aplicativos poderão ser operados dentro desse limite de nível gratuito.

solicitações

  • 0,50 USD por cada 1 milhão de solicitações do Amazon SQS (0,0000005 por solicitação do SQS)
  • Lotes de até 10 mensagens ou 64 KB por solicitação custam o mesmo que mensagens únicas.

As solicitações do Amazon SQS são: CreateQueue, ListQueues, DeleteQueue, SendMessage, SendMessageBatch, ReceiveMessage, ChangeMessageVisibility, ChangeMessageVisibilityBatch, DeleteMessage, DeleteMessageBatch, SetQueueAttributes, GetQueueAttributes, GetQueueUrl, AddPermission, e RemovePermission.

Transferência de dados**

A definição de preço abaixo baseia-se nos dados transferidos "para" e "do" Amazon SQS.

A transferência de dados "para" e "do" referem-se a transferências para e do Amazon SQS. Os dados transferidos entre o Amazon SQS e o Amazon EC2 dentro de uma única região são gratuitos (ou seja, US$ 0,00 por GB). Os dados transferidos entre o Amazon SQS e o Amazon EC2 em diferentes regiões serão cobrados de acordo com as taxas da Transferência de dados via Internet em ambos os lados da transferência.

* O uso gratuito é calculado por mês em todas as regiões e aplicado automaticamente à sua fatura – o uso gratuito não se acumula.
** Como parte do Nível de uso gratuito da AWS, novos clientes AWS receberão 15 GB de transferência de dados para fora gratuitamente a cada mês agregado em todos os serviços AWS, durante um ano.
*** Os níveis de taxas de transferência para fora agregam a transferência de dados de saída no Amazon EC2, Amazon EBS, Amazon S3, Amazon Glacier, Amazon RDS, Amazon SimpleDB, Amazon SQS, Amazon SNS, Amazon DynamoDB, AWS Storage Gateway e Amazon VPC.

Descrição detalhada

Trabalhando com o Amazon SQS

O Amazon SQS pode ser facilmente acessado através do AWS Management Console, que oferece aos usuários uma interface baseada na web do tipo apontar-e-clicar para configurar e gerenciar o Amazon SQS.

Solicitações de fila básicas

O Amazon SQS emprega uma interface simples que é fácil de usar e altamente flexível. As seguintes solicitações são fornecidas:

  • CreateQueue: crie filas para uso com a conta da AWS.
  • ListQueues: liste as filas existentes.
  • DeleteQueue: exclua uma das suas filas.
  • SendMessage: adicione mensagens a uma fila específica.
  • SendMessageBatch: adicione várias mensagens a uma fila específica.
  • ReceiveMessage: retorne uma ou mais mensagens de uma fila específica.
  • ChangeMessageVisibility: altere o tempo limite de visibilidade da mensagem recebida anteriormente.
  • ChangeMessageVisibilityBatch: altere a visibilidade do tempo de espera de várias mensagens recebidas previamente.
  • DeleteMessage: remova uma mensagem recebida anteriormente de uma fila específica.
  • DeleteMessageBatch: remova várias mensagens recebidas previamente de uma fila específica.
  • SetQueueAttributes: controle definições de fila como a quantidade de tempo em que as mensagens estão bloqueadas após serem lidas, de forma que não possam ser lidas novamente.
  • GetQueueAttributes: obtenha informações sobre uma fila como, por exemplo, o número de mensagens nela contidas.
  • GetQueueUrl: obtenha o URL da fila.
  • AddPermission: adicione o compartilhamento de filas para outra conta da AWS com relação a uma fila específica.
  • RemovePermission: remova uma conta da AWS do compartilhamento de filas com relação a uma fila específica.

Ciclo de vida de mensagens do Amazon SQS

As mensagens que estão armazenadas no Amazon SQS têm um ciclo de vida que é fácil de gerenciar, mas assegura que todas as mensagens sejam processadas.

  1. Um sistema que precisa enviar uma mensagem encontrará uma fila do Amazon SQS e usar o SendMessage para adicionar uma nova mensagem a ele.
  2. Um sistema diferente que processa mensagens precisa de mais mensagens para processar, portanto ele chama ReceiveMessage e essa mensagem é retornada.
  3. Assim que uma mensagem tiver sido retornada por ReceiveMessage, ela não será retornada por nenhum outro ReceiveMessage até que o tempo limite da visibilidade transcorra. Isso impede que vários computadores processem a mesma mensagem de uma vez.
  4. Se o sistema que processa mensagens encerrar com êxito o processamento desta mensagem, ele chamará DeleteMessage, que remove a mensagem da fila, de forma que mais ninguém irá processá-la. Se o sistema apresentar falha no processamento da mensagem, então ele será lido por outra chamada ReceiveMessage assim que o tempo limite da visibilidade transcorrer.

Versões anteriores do WSDL

A versão atual do Amazon SQS é a versão WSDL, de 01/10/2011. A versão anterior é a versão WSDL de 01/02/2009, que é compatível retroativamente com a versão WSDL de 01/01/2008. Como anunciado em Fevereiro de 2008, as versões WSDL de 01/01/2006 e de 01/05/2007 estão obsoletas. Não aceitamos novos usuários destas versões antigas. Portanto, recomendamos que todos façam a migração de seus aplicativos para uma versão compatível do WSDL do Amazon SQS, assim que possível.

Observe que alguns aplicativos ou bibliotecas ainda podem ser construídos nas versões anteriores do serviço (2007-05-01 ou 2006-04-01). Se você utiliza uma biblioteca ou aplicativo que faça uso do Amazon SQS, verifique com o seu provedor qual a versão do serviço que está sendo usada.


Uso pretendido e restrições

O uso deste serviço está sujeito ao Acordo do Cliente da Amazon Web Services



Serviços relacionados
Obtenha acesso direto à nossa equipe de suporte técnico.

Para obter aplicativos mais flexíveis e escaláveis, use o Amazon SQS com o seguinte:




Recurso apresentado
Leia “Criação de aplicativos escaláveis e confiáveis do Amazon EC2 com o Amazon SQS.”

whitepaper Exibir Whitepaper (pdf)



O Amazon SQS está contratando!



Venha trabalhar para o Amazon SQS e desenvolva o futuro da troca de mensagens.

Saiba mais









©2013, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.