Índice:
- Transportar dados
- Antes de poder fazer qualquer coisa com AWS, você precisa saber quais tarefas (disponíveis usando métodos) estão disponíveis. A documentação da API pode fornecer uma visão geral do que você pode fazer, mas a lista real de métodos disponíveis é flexível e varia de acordo com o contexto. Por exemplo, talvez você não consiga realizar determinadas tarefas com alguns serviços, porque você não possui uma conexão segura ou não configurou o serviço para suportar a tarefa desejada.
- Os pedidos e as respostas seguem os padrões familiares usados com outros serviços da Web. No entanto, a AWS tem o cuidado de garantir que você saiba que o REST é meramente a arquitetura e que os pedidos de API adicionam algo ao REST; isto é, eles representam uma camada diferente. Em muitos casos, você vê REST / query, que se refere a REST usado com uma chamada de API de algum tipo.
Vídeo: [AWS Webinar] Iniciando com IoT e Big Data na AWS 2024
Para interagir com a AWS de forma significativa, você deve se comunicar com ela. A comunicação ocorre em vários níveis, que incluem:
- Transporte: Esta é a camada subjacente que realmente transfere os dados entre as partes.
- Descoberta: Para interagir com AWS, você precisa saber quais métodos estão disponíveis. O nível de descoberta permite que você use um URL comum para solicitar a lista de métodos disponíveis para um serviço específico em XML ou JSON como uma lista de hiperlinks.
- Solicitação: Depois de saber quais métodos estão disponíveis, você pode fazer uma solicitação, e a AWS fornece uma resposta.
Você pode facilmente quebrar a comunicação em mais camadas, mas essas camadas representam a quebra básica e essencial. Compreender essas camadas é suficiente para escrever aplicativos robustos usando o AWS. (À medida que seus aplicativos se tornam maiores e mais complexos, e a AWS adiciona mais funcionalidades, talvez seja necessário trabalhar com camadas adicionais.)
Transportar dados
A primeira comunicação que você deve abordar é a questão do transporte. O AWS suporta HTTP para solicitações não seguras e HTTPS para solicitações seguras para alguns serviços, incluindo aqueles na seguinte lista:
- Amazon Associates Web Service
- Amazon CloudFront (HTTPS é necessário para a API de controle, atualmente apenas o HTTP é aceito para a API de solicitação)
- Amazon DevPay (HTTPS é necessário para o Serviço de Licença)
- Amazon Elastic Compute Cloud
- Amazon Flexible Payments Service (HTTPS é necessário)
- Amazon Fulfillment Web Service (HTTPS é necessário)
- Amazon Mechanical Turk
- Amazon SimpleDB
- Amazon Simple Queue Service
- Amazon Simple Storage Service
Na maioria dos casos, o uso de Secure Sockets Layer (SSL) na forma de solicitações HTTPS produz o melhor resultado porque a informação permanece segura na Internet. Se os dados que você precisa não são de natureza confidencial, às vezes você pode alcançar uma melhor velocidade de aplicação usando o HTTP. Em alguns casos, você deve usar o HTTP porque o serviço não suporta HTTPS, por isso certifique-se de verificar a documentação do serviço antes de fazer qualquer suposição.
A maioria dos desenvolvedores conhece HTTP e HTTPS através do desenvolvimento de aplicativos de desktop e navegador. No entanto, o que você pode não saber é que a AWS também suporta o Transporte de Telemetria de Colocação de Mensagens em Fila (MQTT). Este protocolo de transporte de mensagens de publicação / assinatura aborda as necessidades de dispositivos restritos, como os usados para executar as tarefas de Internet de Coisas (IoT) e Machine-to-Machine (M2M).Confira mais informações sobre o MQTT e a visão do AWS. AWS permite o uso do MQTT com vários serviços, incluindo
- Amazon Simple Storage Service
- Amazon DynamoDB
- Amazon Kinesis
- AWS Lambda
- Amazon Simple Notification Service
- Amazon Simple Queue Service > Obtendo uma listagem de métodos da API
Antes de poder fazer qualquer coisa com AWS, você precisa saber quais tarefas (disponíveis usando métodos) estão disponíveis. A documentação da API pode fornecer uma visão geral do que você pode fazer, mas a lista real de métodos disponíveis é flexível e varia de acordo com o contexto. Por exemplo, talvez você não consiga realizar determinadas tarefas com alguns serviços, porque você não possui uma conexão segura ou não configurou o serviço para suportar a tarefa desejada.
Um dos motivos que você deseja usar o REST é que ele não mapeia solicitações de Criação, Leitura, Atualização e Excluir (CRUD) diretamente para o HTTP como faz um protocolo (criando um contrato inquebrável que você deve modificar a cada tempo em que você precisa fazer uma mudança). Você faz uma solicitação usando um URL padrão com uma solicitação GET e recebe uma lista de links hipermídia para as chamadas do método real. O artigo sobre Hipermídia como o Motor of Application State (HATEOAS) descreve como este processo funciona com mais detalhes.
Originalmente, o REST dependia do XML para fornecer a lista de links para chamadas de métodos específicos, mas o uso do Hypermedia Access Language (HAL) permite que você use JSON em vez disso, o que é mais fácil de entender. O AWS atualmente conta com XML para qualquer tipo de consulta API porque a maioria dos desenvolvedores parece entender XML melhor. é o formato nativo do AWS. Este artigo fornece detalhes sobre a API REST.
Ao mesmo tempo, a AWS forneceu um suporte extensivo para o Protocolo de Acesso a Objetos Simples (SOAP). Na verdade, você ainda pode usar o SOAP para fazer solicitações, mas apenas usando o HTTPS. Em outros casos, a AWS não suporta mais o SOAP (um exemplo de depreciação para o serviço EC2).
Fazendo um pedido
Os pedidos e as respostas seguem os padrões familiares usados com outros serviços da Web. No entanto, a AWS tem o cuidado de garantir que você saiba que o REST é meramente a arquitetura e que os pedidos de API adicionam algo ao REST; isto é, eles representam uma camada diferente. Em muitos casos, você vê REST / query, que se refere a REST usado com uma chamada de API de algum tipo.
Você deve assinar a maioria dos pedidos REST que você faz para a AWS. Alguns serviços, como o Serviço de armazenamento simples (S3), permitem solicitações anônimas. Para obter uma quantidade significativa de informações, no entanto, você deve fornecer solicitações assinadas (autenticadas). No entanto, este artigo descreve como usar essa solicitação para corrigir um problema de segurança com um balde S3.
Ao fazer uma solicitação usando a CLI ou um SDK, o ambiente assina seu pedido para você. Mesmo que o pedido ainda esteja assinado, você não precisa se preocupar em executar a tarefa manualmente. Você pode ler mais sobre como assinar detalhes em.