Escolar Documentos
Profissional Documentos
Cultura Documentos
Amazon Web Services PDF
Amazon Web Services PDF
1.1 Pré-requisitos.......................................................................................................2
2 DynamoDB ................................................................................................................3
5 Referências Bibliográficas.......................................................................................32
1 INTRODUÇÃO
Quando mencionamos desenvolvimento de aplicações, seja webservices para
disponibilização de serviços via web, seja aplicativo para dispositivos móveis, ou
qualquer outro tipo de aplicação, quase sempre necessitamos de uma infraestrutura para
hospedar nossos serviços como, por exemplo, nossa aplicação web em Java ou em .Net,
banco de dados, etc.
1.1 PRÉ-REQUISITOS
Precisaremos de dois requisitos para esse artigo. O primeiro requisito, e o
requisito mais importante, é criar uma conta no AWS através do site
https://aws.amazon.com. Tarefa simples, mas que requer um cartão de crédito válido.
O segundo é instalar o aplicativo Postman disponível em https://www.getpostman.com.
Esse aplicativo nos auxiliará na configuração das requisições http’s. O Postman também
pode ser instalado como extensão do navegador Chrome, da Google.
2 DYNAMODB
Amazon DynamoDB é um serviço de banco de dados NoSQL que oferece
um desempenho rápido com escalabilidade contínua. Podemos criar tabelas no
DynamoDB, armazenar e recuperar qualquer quantidade de dados que atende a
qualquer nível de tráfego. O DynamoDB espalha instâncias do banco de dados
automaticamente em um número suficiente de servidores para lidar com a capacidade
de solicitações configurada pelo administrador, provendo um desempenho consistente e
rápido.
Vamos praticar esse conceito e neste capítulo iremos criar uma API Gateway para
disponibilizar o acesso ao DynamoDB criado no capítulo DynamoDB.
. Vamos dividir esse capítulo em sete subcapítulos: criar API Gateway; criar
o método Post; criar os métodos Get; criar o método Put; criar o método Delete; publicar
a API Gateway; e por último, utilizar a API Gateway.
Pronto! Se tudo que fizemos estiver correto, iremos ver uma tela semelhante
a apresentada Figura 4.4 – API Gateway criada.
Figura 4.4 – API Gateway criada
Neste ponto, se tudo estiver correto iremos ver uma tela semelhante a Figura
4.8 – Método POST criado.
Figura 4.8 – Método POST criado
JavaScript
{
"TableName": "IESBTask",
"Item": {
"taskId": { "S": "$input.path('$.taskId')" },
"resume": { "S": "$input.path('$.resume')" },
"title": { "S": "$input.path('$.title')" },
"isDone": { "BOOL": "$input.path('$.isDone')" }
}
}
Tabela 4.1 – Json POST Template Mapping
Nosso método POST para inserir dados está pronto. Agora vamos para os
métodos GETS.
Neste ponto, se tudo estiver correto iremos ver uma tela semelhante a Figura
4.13 – Método GET criado.
Figura 4.13 – Método GET criado
JavaScript
{
"TableName": "IESBTask",
"ReturnConsumedCapacity": "TOTAL"
}
Tabela 4.2 – JavaScript GET Template Mapping
JavaScript
#set($inputRoot = $input.path('$'))
[
#foreach($item in $inputRoot.Items)
{
"taskId": "$item.taskId.S",
"title": "$item.title.S",
"resume": "$item.resume.S",
"isDone": $item.isDone.BOOL
}#if($foreach.hasNext),#end
#end
]
Tabela 4.3 – Json GET Template Mapping da resposta
Pronto! Nosso método GET para consultar todos os registros está concluído.
2. Veremos uma tela semelhante a Figura 4.19 – Criando o método GET com
pesquisa por ID. Vamos preencher da seguinte maneira:
a. No input “Resource Name” vamos preencher com “Task by ID”;
b. No input “Resource Path” vamos preencher com “taskID”;
c. Vamos clicar no botão “Create Resource”.
JavaScript
{
"TableName": "IESBTask",
"PrimaryKey": "taskId",
"KeyConditionExpression": "taskId = :v1",
"ExpressionAttributeValues": {
":v1": {
"S": "$input.params('taskID')"
}
}
}
Tabela 4.4 – JavaScript GET Template Mapping com condição
Pronto! Nosso método GET para consultar uma tarefa específica está
concluído.
Pronto! Nosso método PUT para atualizar uma tarefa específica está
concluído. No entanto, neste caso, não precisamos repetir os passos 9, 10, 11 e 12 do
capítulo Método Get.
Json
{
"TableName": "IESBTask",
"Key": {
"taskId": {
"S": "$input.params('taskID')"
}
},
"ConditionExpression": "attribute_not_exists(Replies)"
}
Tabela 4.6 – JavaScript DELETE Template Mapping com condição]
Pronto! Nosso método DELETE para excluir uma tarefa específica está
concluído.
VYAS, Uchit. Mastering AWS Development: develop and migrate your enterprise
application to the Amazon Web Services plataform. Editora Packt Publishing Limited,
Primeira Edição, Junho de 2015, 416 págnias.
AWS Docs. AWS Identity and Acces Management: User Guide. Disponível em
<http://docs.aws.amazon.com/IAM/latest/UserGuide/iam-ug.pdf>. Acesso em 23 de
Agosto de 2017.