Amazon Simple Queue Service - Guia de conceitos

Propaganda
Amazon Simple Queue Service
Guia de conceitos básicos
API Version 2012-11-05
Amazon Simple Queue Service Guia de conceitos básicos
Amazon Simple Queue Service: Guia de conceitos básicos
Copyright © 2017 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner
that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not
owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by
Amazon.
Amazon Simple Queue Service Guia de conceitos básicos
Table of Contents
....................................................................................................................................................... iv
Bem-vindo ......................................................................................................................................... 1
Recursos Amazon SQS ............................................................................................................... 1
Introdução ao Amazon SQS ................................................................................................................. 3
Visão geral do Amazon SQS ........................................................................................................ 3
Recursos ................................................................................................................................... 4
Ciclo de vida de mensagens ........................................................................................................ 4
Sobre as Amostras ..................................................................................................................... 6
Obter configurações ............................................................................................................................ 7
A criação de uma conta da AWS .................................................................................................. 7
Como obter sua ID da chave de acesso e a chave de acesso secreta ................................................ 9
Obtendo as ferramentas de que você precisa ............................................................................... 10
Java ................................................................................................................................ 10
C # ................................................................................................................................. 10
Trabalhando com Amazon SQS .......................................................................................................... 11
Preparando o Amostras ............................................................................................................. 11
Java ................................................................................................................................ 12
C # ................................................................................................................................. 12
Criando uma Fila ...................................................................................................................... 12
Console de gerenciamento da AWS .................................................................................... 12
Java ................................................................................................................................ 14
C # ................................................................................................................................. 14
Existe Fila de Confirmação ......................................................................................................... 14
Console de gerenciamento da AWS .................................................................................... 14
Java ................................................................................................................................ 15
C # ................................................................................................................................. 15
Adicione uma Permissão para a fila ............................................................................................ 16
Console de gerenciamento da AWS .................................................................................... 16
Enviando uma mensagem .......................................................................................................... 18
Console de gerenciamento da AWS .................................................................................... 18
Java ................................................................................................................................ 20
C # ................................................................................................................................. 21
Recebendo uma mensagem ....................................................................................................... 21
Console de gerenciamento da AWS .................................................................................... 21
Java ................................................................................................................................ 24
C # ................................................................................................................................. 25
A exclusão de uma mensagem ................................................................................................... 27
Console de gerenciamento da AWS .................................................................................... 27
Java ................................................................................................................................ 31
C # ................................................................................................................................. 31
Expurgando Fila ....................................................................................................................... 31
Console de gerenciamento da AWS .................................................................................... 31
Exclusão de Fila ....................................................................................................................... 33
Console de gerenciamento da AWS .................................................................................... 33
Para onde ir agora? .......................................................................................................................... 35
Leia o Artigos e tutoriais ............................................................................................................ 35
Participe no Fórum ................................................................................................................... 35
Aprenda com o código de exemplo ............................................................................................. 35
Conta e credenciais de segurança da AWS .................................................................................. 36
Histórico do documento ..................................................................................................................... 37
API Version 2012-11-05
iii
Amazon Simple Queue Service Guia de conceitos básicos
A tradução abaixo, feita automaticamente por um software, foi disponibilizada somente para a sua
conveniência. Em caso de qualquer discrepância, inconsistência ou conflito entre esta versão traduzida e a
versão em inglês (incluindo, mas não limitado a, aqueles decorrentes de atrasos na tradução), a versão em
inglês prevalecerá. Para acessar a versão em inglês desta página, selecione ‘English’ no menu suspenso
da lista de idiomas no canto superior direito desta página. Para enviar feedback sobre a tradução, clique no
botão ‘Feedback’ no canto inferior direito desta página.
API Version 2012-11-05
iv
Amazon Simple Queue Service Guia de conceitos básicos
Recursos Amazon SQS
Bem-vindo
Bem-vindo ao Amazon Simple Queue Service Guia do desenvolvedor seção “Conceitos básicos”. Amazon
Simple Queue Service (Amazon SQS) é um serviço de enfileiramento de mensagens: é um serviço que
gerencia mensagens ou fluxos de trabalho entre outros componentes no sistema.
Recursos Amazon SQS
Você pode encontrar os seguintes recursos relacionados utilidade ao trabalhar com este serviço.
Guia do desenvolvedor do Amazon Simple Queue Service
O Developer Guide fornece uma discussão detalhada sobre o serviço. Esse guia inclui uma visão
geral da arquitetura de referência e uma programação.
Amazon Simple Queue Service API Reference
A referência da API oferece o WSDL local; concluir descrições de ações de API, parâmetros e tipos de
dados; e uma lista de erros que o serviço retorna.
Com base no Amazon SQShttp://docs.aws.amazon.com/autoscaling/latest/userguide/as-using-sqsqueue.htmlScaling
Você pode usar as filas Amazon SQS para ajudar a determinar a carga em um aplicativo, e quando
combinado com Auto Scaling, você pode dimensionar o número de instâncias do Amazon EC2 ou na
dependendo do volume de tráfego.
Notasde release doAmazon SQS
As notas de release fornecem uma visão geral de alto nível da versão atual. Elas observam
especificamente as novas funcionalidades, correções e problemas conhecidos.
Informações sobre oproduto para Amazon SQS
A primeira página da web para obter informações sobre Amazon SQS.
Fórunsde discussãoAmazon SQS
Uma comunidade com base em u, fórum para desenvolvedores discutirem questões técnicas
relacionadas ao Amazon SQS.
API Version 2012-11-05
1
Amazon Simple Queue Service Guia de conceitos básicos
Recursos Amazon SQS
AWS Support
A primeira página da web para obter informações sobre canais de suporte para ajudar na criação e na
execução de aplicativos nos serviços de infraestrutura AWS.
API Version 2012-11-05
2
Amazon Simple Queue Service Guia de conceitos básicos
Visão geral do Amazon SQS
Introdução ao Amazon SQS
Tópicos
• Visão geral do Amazon SQS (p. 3)
• Recursos (p. 4)
• Ciclo de vida de mensagens (p. 4)
• Sobre as Amostras (p. 6)
A introdução Amazon SQS fornece a você uma visão geral de alto nível do serviço da Web. Depois de ler
esta seção, você deve entender os conceitos básicos de que você precisa para consultar os exemplos
neste guia.
Visão geral do Amazon SQS
Amazon SQS é um sistema de fila distribuído que permite que aplicativos de serviços da web coloquem
em fila, de forma rápida e confiável, as mensagens que um componente no aplicativo gera para que
sejam consumidas por outro componente. Uma fila é um repositório temporário de mensagens que estão
aguardando processamento.
Usando Amazon SQS, você pode dissociar os componentes de um aplicativo para que sejam executados
de forma independente, com o Amazon SQS facilitando o gerenciamento de mensagens entre os
componentes. Qualquer componente de um aplicativo distribuído pode armazenar mensagens em uma
fila à prova de falhas. As mensagens podem conter até 256 KB de texto em qualquer formato. Qualquer
componente pode recuperar posteriormente as mensagens programaticamente usando a API do Amazon
SQS. As mensagens com mais de 256 KB podem ser gerenciadas usando a Biblioteca estendida do
cliente do Amazon SQS para Java, que usa Amazon S3 para armazenar cargas maiores.
A fila atua como um buffer entre o componente que produz e salva os dados e o componente que recebe
os dados para processamento. Isso significa que a fila resolve problemas que podem surgir caso o
produtor produza trabalho mais rápido do que o consumidor pode processar, ou caso o produtor ou
consumidor só esteja conectado à rede de forma intermitente.
Amazon SQS garante a entrega de cada mensagem pelo menos uma vez, e é compatível com vários
leitores e gravadores que interagem com a mesma fila. Uma única fila pode ser usada simultaneamente
por muitos componentes de aplicativos distribuídos, sem que esses componentes precisem estar
coordenados entre si para compartilhar a fila.
Amazon SQS foi projetado para estar sempre disponível e entregar as mensagens. Uma das
desvantagens resultantes é que o SQS não garante as primeiras entregas de entrada e saída das
API Version 2012-11-05
3
Amazon Simple Queue Service Guia de conceitos básicos
Recursos
mensagens. Para muitos aplicativos distribuídos, cada mensagem pode ser independente, e desde
que todas as mensagens sejam entregues, a ordem não importa. Se o sistema exigir que o pedido seja
preservado, você pode colocar informações de sequenciamento em cada mensagem, para que possa
reordenar as mensagens quando a fila as devolver.
Recursos
Amazon SQS fornece os seguintes recursos principais:
• Infraestrutura redundante – As filas do Padrão têm suporte a entrega de mensagens at-least-once,
enquanto as filas FIFO são compatíveis com processamento de mensagens exactly-once. O Amazon
SQS dá acesso altamente concomitante a mensagens e alta disponibilidade para produção e consumo
de mensagens.
• Vários produtores e consumidores – várias partes de seu sistema podem enviar ou receber mensagens
ao mesmo tempo. Amazon SQS bloqueia a mensagem durante o processamento, impedindo que outras
partes de seu sistema processem a mensagem simultaneamente.
• Configurações ajustáveis por fila – suas filas não precisam ser exatamente iguais. Por exemplo, você
pode otimizar uma fila para as mensagens que exigem um tempo de processamento mais longo que
outras.
• Tamanho de mensagem variável – suas mensagens podem ter até 262.144 bytes (256 KB) de tamanho.
Você pode armazenar o conteúdo das mensagens maiores usando Amazon Simple Storage Service
(Amazon S3) ou Amazon DynamoDB, com Amazon SQS mantendo o ponteiro no objeto Amazon S3.
Para obter mais informações, consulte Managing Amazon SQS Messages with Amazon S3. Você
também pode dividir uma mensagem grande em mensagens menores.
• Controle de acesso – Você controla quem pode enviar mensagens uma fila e quem pode receber
mensagens de uma fila.
• Atrasar filas – Você pode definir um atraso padrão em uma fila, de forma que a distribuição de todas as
mensagens em fila seja adiada por uma duração específica. Você pode definir o valor do atraso ao criar
uma fila CreateQueue e atualizar o valor com SetQueueAttributes. Se você atualizar o valor, o novo
valor afetará somente as mensagens enfileiradas após a atualização.
• Conformidade com PCI – O Amazon SQS oferece suporte a processamento, armazenamento e
transmissão de dados de cartão de crédito por um comerciante ou provedor de serviços, e foi validado
como em conformidade com o Data Security Standard (DSS – Padrão de segurança de dados) da
Payment Card Industry (PCI – Setor de cartão de crédito). Para obter mais informações sobre PCI DSS,
incluindo como solicitar uma cópia do pacote de conformidade com PCI da AWS, consulte Nível 1 do
PCI DSS.
Ciclo de vida de mensagens
O diagrama a seguir descreve o ciclo de vida de uma mensagem do Amazon SQS, da criação à exclusão.
Neste exemplo, a fila já existe.
Ciclo de vida de mensagens
1
O componente 1 envia a Mensagem A para uma fila, e a mensagem é distribuída pelos
servidores Amazon SQS redundantemente.
2
Quando o Componente 2 está pronto para processar uma mensagem, ele consume as
mensagens da fila, e a Mensagem A é devolvida. Enquanto a Mensagem A estiver sendo
processada, ela permanecerá na fila e não será devolvida para as subsequentes solicitações
de recebimento durante todo o tempo limite de visibilidade.
API Version 2012-11-05
4
Amazon Simple Queue Service Guia de conceitos básicos
Ciclo de vida de mensagens
3
O componente 2 exclui a Mensagem A da fila para impedir que a mensagem seja recebida e
processada novamente assim que o tempo limite de visibilidade expirar.
Note
O Amazon SQS exclui automaticamente as mensagens que estiverem em uma fila por mais que
o período de retenção máximo da mensagem. O período de retenção de mensagens padrão é de
quatro dias. No entanto, você pode configurar o período de retenção de mensagens em um valor
de 60 segundos a 1.209.600 segundos (14 dias) usando a ação SetQueueAttributes.
API Version 2012-11-05
5
Amazon Simple Queue Service Guia de conceitos básicos
Sobre as Amostras
Sobre as Amostras
Na seção anterior, discutimos em termos gerais como o sistema estabelece uma fila, confirma que
está pronto para uso e, em seguida, começa usando. Durante a usar os diversos componentes do
sistema continuamente enviar, receber e excluir mensagens. Os exemplos neste guia se concentrar
especificamente na fila de principais operações:
• A criação de uma fila
• Listando suas filas
• Controle o acesso a uma fila
• O envio de uma mensagem para uma fila
• Recuperação de mensagens de uma fila
• A exclusão de mensagens de uma fila
• A exclusão de uma fila
Os exemplos de código disponíveis com este guia abrange muitas dessas operações. Para obter mais
informações específicas sobre as amostras, consulte Preparando o Amostras (p. 11).
Para obter informações sobre as outras operações que você pode executar com o Amazon SQS, consulte
o Guia do desenvolvedor do Amazon Simple Queue Service.
API Version 2012-11-05
6
Amazon Simple Queue Service Guia de conceitos básicos
A criação de uma conta da AWS
Obter configurações
Esta seção mostra cada uma das tarefas que você deve concluir antes de enviar uma solicitação do
Amazon SQS. Eles são apresentados na melhor para acompanhar, de modo que você pode executar as
amostras o mais rápido possível. As tabelas a seguir mostra as seções que você precisa para ler se você
já é um usuário da AWS, ou se você for iniciante na AWS.
Usuários da AWS existentes
Novos usuários da AWS
1. Obtendo as ferramentas de que você
precisa (p. 10)
1. A criação de uma conta da AWS (p. 7)
2. Como obter sua ID da chave de acesso e a chave de
acesso secreta (p. 9)
3. Obtendo as ferramentas de que você precisa (p. 10)
A criação de uma conta da AWS
Para acessar qualquer serviço web da AWS oferece, você deve primeiro criar uma conta da AWS em
http://aws.amazon.com. Uma conta da AWS é simplesmente uma conta da Amazon.com que está ativado
para usar os produtos da AWS, você pode usar uma conta existente da Amazon.com login e senha ao criar
a conta da AWS.
A partir de sua conta da AWS, você pode visualizar a atividade de sua conta da AWS, visualizar relatórios
de uso e gerenciar seus identificadores de acesso da conta da AWS.
Para configurar uma nova conta
1.
2.
Abra o https://aws.amazon.com/ e escolha em Criar uma conta da AWS.
Siga as instruções online.
Parte do procedimento de cadastro envolve uma chamada telefônica e a digitação de um PIN usando
o teclado do telefone.
Important
Não recomendamos que você use suas informações de conta root AWS para interagir com
Amazon SQS diretamente. Em vez disso, recomendamos uma abordagem como o seguinte:
1.
Crie um grupo chamado AWS Identity and Access Management (IAM) Administrators.
API Version 2012-11-05
7
Amazon Simple Queue Service Guia de conceitos básicos
A criação de uma conta da AWS
2.
Conceder o grupo total AWS permissões para todos os serviços.
3.
4.
5.
Crie uma IAM usuário para você.
Adicione o usuário ao Administrators grupo.
Use o IAM para interagir com informações do usuário Amazon SQS diretamente.
Para obter mais informações, consulte Criação de um Grupo de Administradores no IAM User
Guide.
API Version 2012-11-05
8
Amazon Simple Queue Service Guia de conceitos básicos
Como obter sua ID da chave de
acesso e a chave de acesso secreta
Como obter sua ID da chave de acesso e a chave
de acesso secreta
Para fazer chamadas para Amazon SQS de forma programática (por exemplo, usando linguagens de
programação, como Java e C # ou por meio do AWS Command Line Interface (AWS CLI)), você precisa de
uma ID da chave de acesso e uma chave de acesso secreta. Se você pretende interagir com Amazon SQS
Amazon SQS somente por meio do console, você não precisa de uma ID da chave de acesso e uma chave
de acesso secreta, e você pode ir direto para Trabalhando com Amazon SQS (p. 11).
Note
O ID da chave de acesso e a chave de acesso secreta são específicos para AWS Identity and
Access Management e não devem ser confundidos com credenciais para outros serviços, como o
Amazon EC2 AWS pares de chaves.
Para obter seu access key ID e a chave de acesso secreta
As chaves de acesso consistem em um access key ID e uma chave de acesso secreta, que são usados
para assinar as solicitações programáticas que você faz à AWS. Se você não tiver chaves de acesso, você
pode criá-las usando Console de gerenciamento da AWS. Recomendamos que você use as chaves de
acesso do IAM em vez de usar as chaves de acesso da conta raiz da AWS. IAM permite que você controle
com segurança o acesso aos serviços e recursos da AWS em sua conta da AWS.
Note
Para criar chaves de acesso, você deve ter permissões para executar as ações necessárias do
IAM. Para obter mais informações, consulte Granting IAM User Permission to Manage Password
Policy and Credentials no Guia do usuário do IAM.
1.
2.
3.
Abra o console do IAM.
No painel de navegação, escolha Usuários.
Selecione seu nome de usuário do IAM (não a caixa de seleção).
4.
5.
Escolha a guia Credenciais de segurança e Criar chave de acesso.
Para visualizar sua chave de acesso, escolha Mostrar credenciais de segurança do usuário. Suas
credenciais terão a seguinte aparência:
• Access key ID: AKIAIOSFODNN7EXAMPLE
6.
• Chave de acesso secreta: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Escolha Credenciais de download e armazene as chaves em um lugar seguro.
Sua chave secreta não estará mais disponível por meio do Console de gerenciamento da AWS; você
terá a única cópia. Mantenha a confidencialidade para proteger sua conta e nunca envie a chave por
e-mail. Não compartilhe a chave fora da organização, mesmo se uma pesquisa parecer vir da AWS
ou da Amazon.com. Alguém que legitimamente represente a Amazon jamais pedirá a você sua chave
secreta.
Tópicos relacionados
• O que é o IAM? no Guia do usuário do IAM
• Credenciais de segurança da AWS no AWS General Reference
API Version 2012-11-05
9
Amazon Simple Queue Service Guia de conceitos básicos
Obtendo as ferramentas de que você precisa
Obtendo as ferramentas de que você precisa
Se você deseja usar o código de exemplo que vai com este guia, você deve instalar as ferramentas de
programação listados nesta seção. Se você pretende interagir com Amazon SQS apenas por meio do
Console de gerenciamento da AWS, não é necessário qualquer uma dessas ferramentas de programação,
e você pode ir direto para Trabalhando com Amazon SQS (p. 11).
Note
Os exemplos de código são fornecidos neste guia apenas para Java e C #. No entanto, você pode
escrever código em outras linguagens de programação. Para obter mais informações, consulte a
documentação para o AWS SDKs para Go, JavaScript, PHP, Pythone Ruby.
Você pode usar o AWS Command Line Interface (AWS CLI) para interagir com Amazon SQS por
meio da linha de comando. Para obter mais informações, consulte Preparando a configuração
com a AWS Command Line Interface e a seção Amazon SQS AWS CLI Reference.
Você também pode usar o AWS Tools para Windows PowerShell para interagir com Amazon
SQS por meio do Windows PowerShell. Para obter mais informações, consulte Configuração do
AWS Tools para Windows PowerShell e a seção Amazon Simple Queue Service AWS Tools para
Windows PowerShell Cmdlet Reference.
Java
Para usar o código de amostra Java, você deve ter a seguinte ferramenta:
• Kitde desenvolvimento doJava Standard Edition
C#
Para usar o C # código de exemplo, você deve ter as seguintes ferramentas:
• Microsoft.NET Framework 3.5 ou posterior
• Visual Studio 2010 ou posterior
• AWS SDK para .NET
Para obter mais informações, consulte Instale o.NET Development Environment.
API Version 2012-11-05
10
Amazon Simple Queue Service Guia de conceitos básicos
Preparando o Amostras
Trabalhando com Amazon SQS
Tópicos
• Preparando o Amostras (p. 11)
• Criando uma Fila (p. 12)
• Existe Fila de Confirmação (p. 14)
• Adicione uma Permissão para a fila (p. 16)
• Enviando uma mensagem (p. 18)
• Recebendo uma mensagem (p. 21)
• A exclusão de uma mensagem (p. 27)
• Expurgando Fila (p. 31)
• Exclusão de Fila (p. 33)
Esta seção descreve como usar o Console de gerenciamento da AWS ou Java ou C # para executar
operações Amazon SQS como a criação de uma fila, enviar uma mensagem para a fila, e recuperar e
excluir mensagens da fila. As seções a seguir devem ser seguidos sequencialmente, como um tutorial.
Tip
Os exemplos de código são fornecidos neste guia apenas para Java e C #. No entanto, você pode
escrever código em outras linguagens de programação. Para obter mais informações, consulte a
documentação para o AWS SDKs para Go, JavaScript, PHP, Pythone Ruby.
Além do Console de gerenciamento da AWS, você pode explorar Amazon SQS sem escrever
código usando ferramentas como o AWS Command Line Interface (AWS CLI) ou Windows
PowerShell. AWS CLI exemplos são fornecidas na seção Amazon SQS AWS CLI Reference.
Windows PowerShell exemplos são fornecidas na seção Amazon Simple Queue Service AWS
Tools para Windows PowerShell Cmdlet Reference.
Preparando o Amostras
Se você quiser usar Java ou C # código para concluir as seções subsequentes deste guia, você deve fazer
alterações de configuração para os arquivos de exemplo. Se você pretende interagir com Amazon SQS
Amazon SQS somente por meio do console, você pode ir direto para Criando uma Fila (p. 12).
Tip
Você também pode usar o AWS Explorer no AWS Toolkit for Eclipse ou AWS Toolkit for Visual
Studio para se tornar mais familiarizado com Amazon SQS sem escrever código. Para obter mais
informações, consulte o Guia de conceitos básicos do AWS Toolkit for Eclipse ou Guia do usuário
do AWS Toolkit for Visual Studio.
API Version 2012-11-05
11
Amazon Simple Queue Service Guia de conceitos básicos
Java
Java
Observe que o Java exemplo executa várias ações em uma chamada, incluindo a criação de uma fila,
confirmando a fila existe, enviar uma mensagem, recebendo uma mensagem e excluir uma mensagem. O
procedimento a seguir pressupõe que você concluiu os pré-requisitos Obtendo as ferramentas de que você
precisa (p. 10), incluindo a instalação do Java Standard Edition Development Kit.
Para preparar os arquivos de exemplo
1.
Vá para a página AWS SDK for Java e fazer o download do SDK.
2.
Descompacte o aws-java-sdk-<versão >arquivo .zip para um diretório designado como <sqs home
> em sua máquina.
3.
Especifique suas credenciais da AWS, seguindo as instruções em Configurar suas credenciais da
AWS para uso com o AWS SDK for Java.
4.
Abra o Amazon SQS amostra em <sqs home >/aws-java-sdk-<versão >/samples/
AmazonSimpleQueueService.
C#
Observe que o C # exemplo executa várias ações em uma chamada, incluindo a criação de uma fila,
confirmando a fila existe, enviar uma mensagem, recebendo uma mensagem e excluir uma mensagem. O
procedimento a seguir pressupõe que você concluiu os pré-requisitos Obtendo as ferramentas de que você
precisa (p. 10), incluindo a instalação do Microsoft.NET Framework, Visual Studio e o AWS SDK para.NET.
Para preparar os arquivos de exemplo
1. Vá para o aws-sdk-net-amostras repositório GitHub aws-sdk-net-samples-master.zip Download ZIPe
escolha , extraindo o conteúdo do arquivo para um diretório na sua máquina.
Note
O arquivo contém várias amostras Amazon SQS, além da amostra. Pode levar alguns minutos
para extrair o conteúdo do arquivo.
2. Especifique suas credenciais da AWS, seguindo as instruções em Configurando Credenciais da AWS.
3. No diretório onde você extraiu o conteúdo do arquivo, vá até o diretório AmazonSQS_Sample
ConsoleSamples\e abra o arquivo chamado AmazonSQS_Sample.sln no Visual Studio.
4. Abra o App.config arquivo.
5. Na AWSProfileName configuração, especifique o nome do perfil definido para as credenciais.
6. Salve o arquivo.
Criando uma Fila
A primeira tarefa em usando Amazon SQS é criar uma ou mais filas. Os exemplos a seguir demonstram a
criação de uma fila nomeado MyQueue.
Console de gerenciamento da AWS
Para executar a amostra
1.
Faça login no Console de gerenciamento da AWS e abra o console da Amazon SQS em https://
console.aws.amazon.com/sqs/.
API Version 2012-11-05
12
Amazon Simple Queue Service Guia de conceitos básicos
Console de gerenciamento da AWS
2.
Clique em Create New Queue.
3.
Na caixa de Create New Queue diálogo, insira MyQueue no Queue Name campo e mantenha o valor
padrão para os campos restantes.
4.
Clique em Create Queue.
Sua nova fila aparece na lista de filas.
API Version 2012-11-05
13
Amazon Simple Queue Service Guia de conceitos básicos
Java
Java
Para executar a amostra
1. Abra SimpleQueueServiceSample.java.
A seção a seguir do código cria uma fila:
// Create a queue
System.out.println("Creating a new SQS queue called MyQueue.\n");
CreateQueueRequest createQueueRequest = new
CreateQueueRequest().withQueueName("MyQueue");
String myQueueUrl = sqs.createQueue(createQueueRequest).getQueueUrl();
2. Compilar e executar a amostra.
A fila MyQueue é criada.
C#
Para executar a amostra
1. Abrir Program.cs.
A seção a seguir do código cria uma fila:
//Creating a queue
Console.WriteLine("Create a queue called MyQueue.\n");
CreateQueueRequest sqsRequest = new CreateQueueRequest();
sqsRequest.QueueName = "MyQueue";
CreateQueueResponse createQueueResponse = sqs.CreateQueue(sqsRequest);
String myQueueUrl;
myQueueUrl = createQueueResponse.QueueUrl;
2. Execute a amostra.
A fila MyQueue é criada.
Existe Fila de Confirmação
Quando você cria uma fila, pode demorar um pouco para a fila para propagar Amazon SQS em todo o
sistema. Você pode confirmar a existência da fila, que lista as filas que você tem no Amazon SQS. Os
seguintes trechos de código lista as filas que você criou usando o 2012-11-05 versão do Amazon SQS.
Console de gerenciamento da AWS
O Console de gerenciamento da AWS exibe uma lista de suas filas para a região selecionada.
Para exibir uma lista de fila para uma região específica
•
Selecione uma região Region na lista suspensa, que está localizado na parte superior direita do
console ao lado de Ajuda.
O console exibe todas as suas filas na região.
API Version 2012-11-05
14
Amazon Simple Queue Service Guia de conceitos básicos
Java
Java
Para executar a amostra
1. Abrir SimpleQueueServiceSample.java.
A seção a seguir do código relaciona as filas:
// List queues
System.out.println("Listing all queues in your account.\n");
for (String queueUrl : sqs.listQueues().getQueueUrls()) {
System.out.println(" QueueUrl: " + queueUrl);
}
System.out.println();
2. Compilar e executar a amostra.
Todas as filas na região atual criada usando a versão de API 2012-11-05 são listadas. A resposta inclui
os seguintes itens:
• O URL da fila exclusivo.
• O ID de solicitação que Amazon SQS atribuiu à sua solicitação.
C#
Para executar a amostra
1. Abrir Program.cs.
A seção a seguir do código relaciona as filas:
//Confirming the queue exists
ListQueuesRequest listQueuesRequest = new ListQueuesRequest();
ListQueuesResponse listQueuesResponse = sqs.ListQueues(listQueuesRequest);
Console.WriteLine("Printing list of Amazon SQS queues.\n");
foreach (String queueUrl in listQueuesResponse.QueueUrls)
{
Console.WriteLine(" QueueUrl: {0}", queueUrl);
}
Console.WriteLine();
2. Execute a amostra.
Todas as filas na região atual criada usando a versão de API 2012-11-05 são listadas. A resposta inclui
os seguintes itens:
API Version 2012-11-05
15
Amazon Simple Queue Service Guia de conceitos básicos
Adicione uma Permissão para a fila
• O URL da fila exclusivo.
• O ID de solicitação que Amazon SQS atribuiu à sua solicitação.
Adicione uma Permissão para a fila
Se você deseja permitir (ou negar explicitamente) outros para interagir com sua fila em maneiras
específicas, você pode especificar isso no sistema Amazon SQS. As considerações a seguir demonstra
como adicionar uma permissão para a MyQueue fila.
Console de gerenciamento da AWS
Para adicionar uma permissão para a fila
1.
No Console de gerenciamento da AWS selecionar uma fila.
2.
Selecione Add a Permission Queue Actions na lista suspensa.
Note
A Queue Actions lista suspensa está disponível somente se uma fila está selecionada.
3.
Na caixa de Add a Permission diálogo, especifique a permissão de configurações.
Para este exercício, permitem que qualquer pessoa para obter o URL da fila: ao lado Principal,
marque a Everybody caixa; Actions na lista suspensa, marque a GetQueueUrl caixa de seleção. Em
seguida, clique em Add Permission.
API Version 2012-11-05
16
Amazon Simple Queue Service Guia de conceitos básicos
Console de gerenciamento da AWS
4.
Para confirmar que a permissão foi adicionado com sucesso, com a fila ainda selecionada, clique na
Permissions guia.
API Version 2012-11-05
17
Amazon Simple Queue Service Guia de conceitos básicos
Enviando uma mensagem
Enviando uma mensagem
Agora que você confirmar que o sistema Amazon SQS existe na fila, você pode enviar uma mensagem
para a fila. O código a seguir demonstram como fragmentos de código para enviar a mensagem This is
my message text. para a MyQueue fila.
Console de gerenciamento da AWS
Para enviar uma mensagem
1.
No Console de gerenciamento da AWS selecionar uma fila.
2.
Selecione Send a Message Queue Actions na lista suspensa.
Note
A Queue Actions lista suspensa está disponível somente se uma fila está selecionada.
API Version 2012-11-05
18
Amazon Simple Queue Service Guia de conceitos básicos
Console de gerenciamento da AWS
3.
Na caixa de Send a Message to MyQueue diálogo, insira This is my message text. e clique em
Send Message.
4.
Na caixa de Send a Message to MyQueue confirmação do mouse Close.
API Version 2012-11-05
19
Amazon Simple Queue Service Guia de conceitos básicos
Java
Java
Para executar a amostra
1. Abrir SimpleQueueServiceSample.java.
A seção a seguir do código envia uma mensagem para a fila:
// Send a message
System.out.println("Sending a message to MyQueue.\n");
sqs.sendMessage(new SendMessageRequest()
.withQueueUrl(myQueueUrl)
.withMessageBody("This is my message text."));
2. Compilar e executar a amostra.
A mensagem é enviada para a fila. A resposta inclui os seguintes itens:
• O ID de mensagem que Amazon SQS atribui à mensagem.
• Um resumo MD5 do corpo da mensagem, usado para confirmar que o Amazon SQS recebeu a
mensagem corretamente (para obter mais informações, consulte RFC1321).
• O ID de solicitação que Amazon SQS atribuiu à sua solicitação.
API Version 2012-11-05
20
Amazon Simple Queue Service Guia de conceitos básicos
C#
C#
Para executar a amostra
1. Abrir Program.cs.
A seção a seguir do código envia uma mensagem para a fila:
//Sending a message
Console.WriteLine("Sending a message to MyQueue.\n");
SendMessageRequest sendMessageRequest = new SendMessageRequest();
sendMessageRequest.QueueUrl = myQueueUrl; //URL from initial queue creation
sendMessageRequest.MessageBody = "This is my message text.";
sqs.SendMessage(sendMessageRequest);
2. Execute a amostra.
A mensagem é enviada para a fila. A resposta inclui os seguintes itens:
• O ID de mensagem que Amazon SQS atribui à mensagem.
• Um resumo MD5 do corpo da mensagem, usado para confirmar que o Amazon SQS recebeu a
mensagem corretamente (para obter mais informações, consulte RFC1321).
• O ID de solicitação que Amazon SQS atribuiu à sua solicitação.
Recebendo uma mensagem
Agora que uma mensagem está na fila, você pode recebê-lo (recuperá-los da fila). Ao solicitar para obter
uma mensagem da fila, você não pode especificar qual mensagem para obter. Basta especificar o número
máximo de mensagens que você deseja obter (até 10) e Amazon SQS retorna até que o número máximo.
Como Amazon SQS é um sistema distribuído e a fila específica estamos trabalhando com aqui tem muito
poucas mensagens, a resposta à solicitação de recebimento pode ficar vazio. Portanto, neste exemplo,
onde o padrão de sondagem breve é usado, você deve executar novamente a amostra até que você
obtém a mensagem.
Note
Ao projetar seu próprio aplicativo determinar se curto ou sondagem longa funciona melhor para o
seu ambiente e necessidades de aplicativos. Para obter mais informações, consulte Amazon SQS
Long pesquisa
O Amazon SQS não exclui automaticamente a mensagem depois de retorná-lo para você, caso você
não receber a mensagem (o recebimento de componente pode falhar ou perder sua conexão). Você
deve enviar uma solicitação separada para excluir a mensagem, o que reconhece que você tenha
recebido e processado com êxito a mensagem. Para obter mais informações, consulte A exclusão de uma
mensagem (p. 27).
Console de gerenciamento da AWS
Para receber uma mensagem
1.
No Console de gerenciamento da AWS, selecione uma fila.
API Version 2012-11-05
21
Amazon Simple Queue Service Guia de conceitos básicos
Console de gerenciamento da AWS
2.
Selecione View/Delete Messages Queue Actions na lista suspensa.
Note
A Queue Actions lista suspensa está disponível somente se uma fila está selecionada.
3.
Clique Start Polling for Messages para receber uma mensagem da fila.
Note
A caixa de Start Polling for Messages diálogo não será exibida se você tiver selecionado
anteriormente na Don't show this again caixa de seleção.
A caixa de View/Delete Messages in MyQueue diálogo exibe uma mensagem da fila.
API Version 2012-11-05
22
Amazon Simple Queue Service Guia de conceitos básicos
Console de gerenciamento da AWS
Uma barra de progresso na parte inferior da caixa de diálogo exibe o status do tempo de espera de
visibilidade da mensagem. Embora o padrão não é preenchida, a mensagem não está visível para
outros clientes. Quando a barra é preenchida, o tempo de espera de visibilidade é concluído e a
mensagem é novamente visíveis para outros clientes.
API Version 2012-11-05
23
Amazon Simple Queue Service Guia de conceitos básicos
Java
4.
Clique Close para fechar a caixa de View/Delete Messages in MyQueue diálogo.
Java
Para executar a amostra
1. Abrir SimpleQueueServiceSample.java.
A seção a seguir do código recebe uma mensagem da fila:
System.out.println("Receiving messages from MyQueue.\n");
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(myQueueUrl);
List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages();
for (Message message : messages) {
System.out.println(" Message");
System.out.println("
MessageId:
" + message.getMessageId());
System.out.println("
ReceiptHandle: " + message.getReceiptHandle());
System.out.println("
MD5OfBody:
" + message.getMD5OfBody());
System.out.println("
Body:
" + message.getBody());
API Version 2012-11-05
24
Amazon Simple Queue Service Guia de conceitos básicos
C#
for (Entry<String, String> entry : message.getAttributes().entrySet()) {
System.out.println(" Attribute");
System.out.println("
Name: " + entry.getKey());
System.out.println("
Value: " + entry.getValue());
}
}
System.out.println();
2. Compilar e executar a amostra.
A fila é votada e apresenta 0 ou mais mensagens. O exemplo imprime os seguintes itens:
• O ID de mensagem que você recebeu quando você enviou a mensagem para a fila.
• O identificador de recebimento que você usará depois para excluir a mensagem.
• Um resumo MD5 do corpo da mensagem (para obter mais informações, consulte RFC1321).
• O corpo da mensagem.
• O ID de solicitação que Amazon SQS atribuiu à sua solicitação
Se não houver mensagens recebidas nesta chamada específica, a resposta incluirá somente o ID de
solicitação.
C#
Para executar a amostra
1. Abrir Program.cs.
A seção a seguir do código recebe uma mensagem da fila:
//Receiving a message
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest();
receiveMessageRequest.QueueUrl = myQueueUrl;
ReceiveMessageResponse receiveMessageResponse =
sqs.ReceiveMessage(receiveMessageRequest);
Console.WriteLine("Printing received message.\n");
foreach (Message message in receiveMessageResponse.Messages)
{
Console.WriteLine(" Message");
Console.WriteLine("
MessageId: {0}", message.MessageId);
Console.WriteLine("
ReceiptHandle: {0}", message.ReceiptHandle);
Console.WriteLine("
MD5OfBody: {0}", message.MD5OfBody);
Console.WriteLine("
Body: {0}", message.Body);
foreach (KeyValuePair<string, string> entry in message.Attributes)
{
Console.WriteLine(" Attribute");
Console.WriteLine("
Name: {0}", entry.Key);
Console.WriteLine("
Value: {0}", entry.Value);
}
}
String messageRecieptHandle = receiveMessageResponse.Messages[0].ReceiptHandle;
2. Execute a amostra.
A fila é votada e apresenta 0 ou mais mensagens. O exemplo imprime os seguintes itens:
• O ID de mensagem que você recebeu quando você enviou a mensagem para a fila.
• O identificador de recebimento que você usará depois para excluir a mensagem.
• Um resumo MD5 do corpo da mensagem
obter mais informações, consulte RFC1321).
API Version(para
2012-11-05
25
Amazon Simple Queue Service Guia de conceitos básicos
C#
• O corpo da mensagem.
• O ID de solicitação que Amazon SQS atribuiu à sua solicitação
Se não houver mensagens recebidas nesta chamada específica, a resposta incluirá somente o ID de
solicitação.
API Version 2012-11-05
26
Amazon Simple Queue Service Guia de conceitos básicos
A exclusão de uma mensagem
A exclusão de uma mensagem
Após receber a mensagem, você deverá excluí-lo da fila para confirmar que você processou a mensagem
e não são mais necessários. Você especifica qual mensagem para excluir, fornecendo o recebimento lidar
com que Amazon SQS retornado quando você recebeu a mensagem. Você pode excluir apenas uma
mensagem por chamada. Você pode excluir uma fila inteira com uma chamada para DeleteQueue, mesmo
se a fila de mensagens.
Note
Se você não tem o identificador de recepção para a mensagem, você pode chamar
ReceiveMessage novamente e receber a mensagem novamente. Cada vez que você recebe
a mensagem, você obtém um identificador de recepção diferente. Use o identificador do
recebimento mais recente ao chamar DeleteMessage; do contrário, sua mensagem pode não ser
excluído da fila.
Os exemplos a seguir demonstram como excluir a mensagem da MyQueue fila.
Console de gerenciamento da AWS
Para excluir uma mensagem
1.
No Console de gerenciamento da AWS, selecione uma fila.
2.
Selecione View/Delete Messages Queue Actions na lista suspensa.
Note
A Queue Actions lista suspensa está disponível somente se uma fila está selecionada.
3.
Clique Start Polling for Messages para visualizar uma mensagem da fila.
API Version 2012-11-05
27
Amazon Simple Queue Service Guia de conceitos básicos
Console de gerenciamento da AWS
Note
A caixa de Start Polling for Messages diálogo não será exibida se você tiver selecionado
anteriormente na Don't show this again caixa de seleção.
A caixa de View/Delete Messages diálogo exibe uma mensagem da fila.
API Version 2012-11-05
28
Amazon Simple Queue Service Guia de conceitos básicos
Console de gerenciamento da AWS
4.
Selecione a mensagem que você deseja excluir.
API Version 2012-11-05
29
Amazon Simple Queue Service Guia de conceitos básicos
Console de gerenciamento da AWS
5.
Clique Delete 1 Message para excluir a mensagem selecionada.
Uma caixa de diálogo de Delete Messages confirmação será exibida.
6.
Clique em Yes, Delete Checked Messages.
A mensagem selecionada é excluída.
API Version 2012-11-05
30
Amazon Simple Queue Service Guia de conceitos básicos
Java
7.
Clique Close para fechar a caixa de View/Delete Messages diálogo.
Java
Para executar a amostra
1. Abrir SimpleQueueServiceSample.java.
A seção a seguir do código exclui uma mensagem:
// Delete a message
System.out.println("Deleting a message.\n");
String messageReceiptHandle = messages.get(0).getReceiptHandle();
sqs.deleteMessage(new DeleteMessageRequest()
.withQueueUrl(myQueueUrl)
.withReceiptHandle(messageReceiptHandle));
2. Compilar e executar a amostra.
A mensagem é excluída. A resposta inclui a ID da solicitação que o Amazon SQS atribuiu à sua
solicitação.
C#
Para executar a amostra
1. Abrir Program.cs.
A seção a seguir do código exclui uma mensagem:
//Deleting a message
Console.WriteLine("Deleting the message.\n");
DeleteMessageRequest deleteRequest = new DeleteMessageRequest();
deleteRequest.QueueUrl = myQueueUrl;
deleteRequest.ReceiptHandle = messageReceiptHandle;
sqs.DeleteMessage(deleteRequest);
2. Execute a amostra.
A mensagem é excluída. A resposta inclui a ID da solicitação que o Amazon SQS atribuiu à sua
solicitação.
Expurgando Fila
No tópico anterior, você aprendeu como excluir mensagens de sua fila de cada vez no sistema Amazon
SQS. Mas e se você deseja excluir muitos mensagens de sua fila de uma só vez? Não há um modo mais
rápido. As considerações a seguir demonstra como expurgar todas as mensagens de sua MyQueue fila de
uma só vez.
Console de gerenciamento da AWS
Para expurgar uma fila
1.
No Console de gerenciamento da AWS selecionar uma fila.
API Version 2012-11-05
31
Amazon Simple Queue Service Guia de conceitos básicos
Console de gerenciamento da AWS
2.
Selecione Purge Queue Queue Actions na lista suspensa.
Note
A Queue Actions lista suspensa está disponível somente se uma fila está selecionada.
3.
Na caixa de Purge Queues diálogo, clique em Yes, Purge Queue.
Note
Como você já excluída anteriormente a mensagem que você criou anteriormente, a caixa de
diálogo será exibida MyQueue - contains no messages. Se você deseja testar expurgação
várias mensagens da fila e, em seguida, clique em Cancel, siga as instruções em Enviando
uma mensagem (p. 18) várias vezes para criar várias mensagens e, em seguida, repita as
instruções neste tópico novamente para excluir todas as mensagens de uma só vez.
4.
Na caixa de Purge Queues confirmação do mouse OK.
API Version 2012-11-05
32
Amazon Simple Queue Service Guia de conceitos básicos
Exclusão de Fila
Exclusão de Fila
Se você é feito usando sua fila, você deverá removê-lo do sistema Amazon SQS. As considerações a
seguir demonstra como excluir a MyQueue fila.
Console de gerenciamento da AWS
Para excluir uma fila
1.
No Console de gerenciamento da AWS selecionar uma fila.
2.
Selecione Delete Queue Queue Actions na lista suspensa.
Note
A Queue Actions lista suspensa está disponível somente se uma fila está selecionada.
3.
Na caixa de Delete Queues diálogo, clique em Yes, Delete Queue.
API Version 2012-11-05
33
Amazon Simple Queue Service Guia de conceitos básicos
Console de gerenciamento da AWS
API Version 2012-11-05
34
Amazon Simple Queue Service Guia de conceitos básicos
Leia o Artigos e tutoriais
Para onde ir agora?
Agora que você leia este guia, você tem uma boa ideia das principais tarefas de que você precisa para
executar para começar a usar o Amazon SQS e como usar o Guia do desenvolvedor do Amazon Simple
Queue Service para obter mais informações e instruções. Esta seção descreve as próximas etapas
possíveis.
Leia o Artigos e tutoriais
Para entender os fluxos de trabalho e processos de Amazon SQS Amazon SQS, leia o conteúdo
disponível em Artigos e tutoriais.
Participe no Fórum
Para ter uma idéia do que você pode e o que não pode ser feito com o Amazon SQS e como outras
pessoas usam Amazon SQS, leia Amazon SQS e participar no fórum.
Aprenda com o código de exemplo
Você já está ciente do código de amostra (p. 11) que acompanha este guia. Agora, você pode saber de
outros Amazon SQS código de exemplo disponíveis em Código de exemplo e bibliotecas. Para obter uma
linguagem de programação específica, consulte os respectivos Developer Center:
• Centrodo desenvolvedor paraJava
• Centrodo desenvolvedor deJavaScript
• Centrodo desenvolvedor paraPHP
• Centrode desenvolvedoresPython
• Centrodo desenvolvedor paraRuby
• Centrodo desenvolvedorWindows e.NET
API Version 2012-11-05
35
Amazon Simple Queue Service Guia de conceitos básicos
Conta e credenciais de segurança da AWS
Conta e credenciais de segurança da AWS
Até agora, você se cadastrou no serviço, obteve uma conta e credenciais de segurança da AWS e
concluiu um breve exercício abordando as funções essenciais do produto. Agora que você concluiu o
exercício, recomendamos que você verifique com o administrador ou com um colega de trabalho em sua
organização para determinar se eles já têm uma conta e credenciais de segurança da AWS para uso em
futuras interações com a AWS.
Se você for o proprietário ou administrador da conta e quiser saber mais sobre o AWS Identity and Access
Management, consulte a descrição do produto em https://aws.amazon.com/iam ou a documentação
técnica no Guia do usuário do IAM.
API Version 2012-11-05
36
Amazon Simple Queue Service Guia de conceitos básicos
Histórico do documento
A tabela a seguir descreve as mudanças importantes para a documentação desde o último lançamento do
Amazon Simple Queue Service Guia do desenvolvedor seção “Conceitos básicos”.
• Versão deAPI: 2012-11-05
• Última atualização de documentação: 7 de dezembro de 2015
Alterar
Descrição
Data da
alteração
Atualizar
Atualizado Amazon SQS capturas de tela do console.
7 de dezembro
de 2015
Novo recurso
O Amazon SQS agora está disponível por meio do Console de
gerenciamento da AWS. Para obter um exemplo de como criar
uma fila, enviar uma mensagem e receber uma mensagem com
o Console de gerenciamento da AWS, consulte Trabalhando com
Amazon SQS (p. 11).
21 de
novembro de
2012
Novo recurso
Esse serviço agora é integrado ao AWS Identity and Access
Management (IAM). Para obter mais informações, consulte Serviços
da AWS compatíveis com IAM em o Guia do usuário do IAM.
2 de setembro
de 2010
Código de
exemplo
Substituído o Java com o novo código de exemplo de código de
exemplo Java AWS SDK for Java. Para obter mais informações,
consulte os exemplos de Java listadas no Trabalhando com Amazon
SQS (p. 11).
22 de março de
2010
Código de
exemplo
Substituído o exemplo de código C # e.NET com o novo C # AWS
SDK para .NET a partir do código de exemplo. Para obter mais
informações, consulte os exemplos de C # listadas no Trabalhando
com Amazon SQS (p. 11).
11 de
novembro de
2009
Atualizar
Atualizado a guia para refletir as alterações no código de exemplo
que a AWS oferece para Java, C #, Perl, PHP5 e VB.NET.
15 de
dezembro de
2008
API Version 2012-11-05
37
Download