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