

# Domínio do conteúdo 1: Desenvolvimento com serviços da AWS
<a name="developer-associate-02-domain1"></a>

**Topics**
+ [Tarefa 1: Desenvolver código para aplicações hospedadas na AWS](#developer-associate-02-domain1-task1)
+ [Tarefa 2: Desenvolver código para o AWS Lambda](#developer-associate-02-domain1-task2)
+ [Tarefa 3: Usar armazenamentos de dados no desenvolvimento de aplicações](#developer-associate-02-domain1-task3)

## Tarefa 1: Desenvolver código para aplicações hospedadas na AWS
<a name="developer-associate-02-domain1-task1"></a>
+ Habilidade 1.1.1: Descrever padrões arquitetônicos (por exemplo, orientado por eventos, microsserviços, monolítico, coreografia, orquestração, fanout)
+ Habilidade 1.1.2: Descrever as diferenças entre os conceitos stateful e stateless
+ Habilidade 1.1.3: Descrever as diferenças entre componentes com acoplamento rígido e acoplamento flexível
+ Habilidade 1.1.4: Descrever as diferenças entre padrões síncronos e assíncronos
+ Habilidade 1.1.5: Criar aplicações com tolerância a falhas e resilientes em uma linguagem de programação (por exemplo, Java, C\$1, Python, JavaScript, TypeScript, Go)
+ Habilidade 1.1.6: Criar, estender e manter APIs (por exemplo, transformações de resposta/solicitação, aplicação de regras de validação, substituição de códigos de status)
+ Habilidade 1.1.7: Escrever e executar testes de unidade em ambientes de desenvolvimento (por exemplo, usando o AWS SAM)
+ Habilidade 1.1.8: Escrever código para usar serviços de sistema de mensagens
+ Habilidade 1.1.9: Escrever código que interaja com os serviços da AWS usando APIs e SDKs da AWS
+ Habilidade 1.1.10: Gerenciar dados de streaming usando serviços da AWS
+ Habilidade 1.1.11: Usar o Amazon Q Developer para ajudar no desenvolvimento
+ Habilidade 1.1.12: Usar o Amazon EventBridge para implementar padrões orientados por eventos
+ Habilidade 1.1.13: Implementar um código de aplicação resiliente para integrações com serviços de terceiros (por exemplo, lógica de nova tentativa, disjuntores, padrões de gerenciamento de erros)

## Tarefa 2: Desenvolver código para o AWS Lambda
<a name="developer-associate-02-domain1-task2"></a>
+ Habilidade 1.2.1: Descrever o acesso de recursos privados em VPCs usando código do Lambda
+ Habilidade 1.2.2: Configurar funções do Lambda por meio da definição de variáveis e parâmetros de ambiente (por exemplo, memória, simultaneidade, tempo limite, runtime, manipulador, camadas, extensões, gatilhos, destinos)
+ Habilidade 1.2.3: Processar o ciclo de vida dos eventos e dos erros usando código (por exemplo, destinos do Lambda, filas de mensagens mortas)
+ Habilidade 1.2.4: Escrever e executar código de teste usando ferramentas e serviços da AWS
+ Habilidade 1.2.5: Integrar funções do Lambda a serviços da AWS
+ Habilidade 1.2.6: Ajustar as funções do Lambda para o desempenho ideal
+ Habilidade 1.2.7: Usar funções do Lambda para processar e transformar dados quase em tempo real

## Tarefa 3: Usar armazenamentos de dados no desenvolvimento de aplicações
<a name="developer-associate-02-domain1-task3"></a>
+ Habilidade 1.3.1: Descrever chaves de partição de alta cardinalidade para acesso balanceado à partição
+ Habilidade 1.3.2: Descrever modelos de consistência de banco de dados (por exemplo, altamente consistentes, eventualmente consistentes)
+ Habilidade 1.3.3: Descrever as diferenças entre as operações de consulta e varredura
+ Habilidade 1.3.4: Definir chaves e indexação do Amazon DynamoDB
+ Habilidade 1.3.5: Serializar e desserializar dados para fornecer persistência a um armazenamento de dados
+ Habilidade 1.3.6: Usar, gerenciar e manter armazenamentos de dados
+ Habilidade 1.3.7: Gerenciar ciclos de vida dos dados
+ Habilidade 1.3.8: Usar serviços de armazenamento em cache de dados
+ Habilidade 1.3.9: Usar armazenamentos de dados especializados com base em padrões de acesso (por exemplo, Amazon OpenSearch Service)