

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Referência de API
<a name="api-reference"></a>

 O AWS Solutions Constructs (Constructs) é uma extensão de código aberto do AWS Cloud Development Kit (AWS CDK) que fornece padrões multi-serviço e bem arquitetados para definir rapidamente soluções em código para criar infraestrutura previsível e repetível. O objetivo do Constructs é acelerar a experiência para os desenvolvedores criarem soluções de qualquer tamanho usando definições baseadas em padrões para sua arquitetura. 

 Os padrões definidos em Constructs são abstrações de alto nível e vários serviços de construções CDK da AWS que têm configurações padrão baseadas em práticas recomendadas bem arquitetadas. A biblioteca é organizada em módulos lógicos usando técnicas orientadas a objetos para criar cada modelo de padrão arquitetônico. 

 O CDK está disponível nas linguagens a seguir: 
+  JavaScript, TypeScript (Node.js ≥ 10.3.0) 
+  Python (Python ≥ 3.6) 
+ Java (Java ≥ 1,8)

## Modules
<a name="modules"></a>

 O AWS Solutions Constructs é organizado em vários módulos. Eles são nomeados assim: 
+  **aws-xxx**: Pacote padrão bem arquitetado para os serviços indicados. Este pacote conterá construções que contêm vários módulos de serviço CDK da AWS para configurar o padrão fornecido. 
+  **xxx**: Pacotes que não iniciam”**aw—**“são módulos principais de construção que são usados para configurar padrões de práticas recomendadas para serviços usados dentro da biblioteca de padrões. 

## Conteúdo do Módulo
<a name="module-contents"></a>

 Os módulos contêm os seguintes tipos: 
+  **Padrões**- Todas as construções multi-serviços de nível superior nesta biblioteca. 
+  **Outros tipos**- Todas as classes não construídas, interfaces, estruturas e enums que existem para suportar os padrões. 

 Os padrões levam um conjunto de propriedades (input) em seu construtor; o conjunto de propriedades (e quais são necessárias) pode ser visto na página de documentação de um padrão. 

 A página de documentação do padrão também lista os métodos disponíveis para chamar e as propriedades que podem ser usadas para recuperar informações sobre o padrão depois que ele foi instanciado. 

# aws-apigateway-dynamodb
<a name="aws-apigateway-dynamodb"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1apigateway\$1dynamodb  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-apigateway-dynamodb  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.apigatewaydynamodb  | 

## Overview
<a name="overview"></a>

 Este AWS Solutions Construct implementa uma API REST do Amazon API Gateway conectada a uma tabela do Amazon DynamoDB. 

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { ApiGatewayToDynamoDBProps, ApiGatewayToDynamoDB } from "@aws-solutions-constructs/aws-apigateway-dynamodb";

new ApiGatewayToDynamoDB(this, 'test-api-gateway-dynamodb-default', {});
```

## Initializer
<a name="initializer"></a>

```
new ApiGatewayToDynamoDB(scope: Construct, id: string, props: ApiGatewayToDynamoDBProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`ApiGatewayToDynamoDBProps`](#pattern-construct-props) 

## Adereços de construção de padrão
<a name="pattern-construct-props"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  DynamoTableProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html)  |  Os adereços fornecidos pelo usuário opcionais para substituir os adereços padrão da Tabela do DynamoDB  | 
|  ApigatewayProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para o API Gateway.  | 
|  AllowCreateOperation  |  boolean  |  Se a API Gateway Method for Create operation na tabela do DynamoDB deve ser implantada.  | 
|  CreateRequestTemplate  |  string  |  Modelo de Solicitação de API Gateway para o método Criar, necessário se AllowCreateOperation definido como true  | 
|  allowReadOperation  |  boolean  |  Se a operação API Gateway Method for Read deve ser implantada na tabela do DynamoDB.  | 
|  AllowUpdateOperation  |  boolean  |  Se a operação API Gateway Method for Update deve ser implantada na tabela do DynamoDB.  | 
|  UpdateRequestTemplate  |  string  |  Modelo de Solicitação do API Gateway para o método Update, necessário se AllowUpdateOperation definido como true  | 
|  AllowDeleteOperation  |  boolean  |  Se deve implantar a operação API Gateway Method for Delete na tabela do DynamoDB.  | 
|  LoggroupProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para o grupo de logs do CloudWatch Logs.  | 

## Propriedades de padrão
<a name="pattern-properties"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  APiGateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)  |  Retorna uma instância da API REST Gateway criada pelo padrão.  | 
|  ApigatewayCloudWatchRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão que permite o log de acesso da API REST do API Gateway para o CloudWatch.  | 
|  ApigatewayLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Retorna uma instância do grupo de logs criado pelo padrão para o qual os logs de acesso à API REST do API Gateway são enviados.  | 
|  ApigateWayRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão para a API REST do API Gateway.  | 
|  DynamoTable  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html)  |  Retorna uma instância da tabela do DynamoDB criada pelo padrão.  | 

## Configurações padrão
<a name="default-settings"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon API Gateway
<a name="amazon-api-gateway"></a>
+  Implantar um endpoint de API otimizado para bordas 
+  Ativar o CloudWatch para o API Gateway 
+  Configurar a função IAM de acesso de menor privilégio para API Gateway 
+  Defina o AuthorizationType padrão para todos os métodos de API como IAM 
+  Ativar rastreamento do X-Ray

### Tabela do Amazon DynamoDB
<a name="amazon-dynamodb-table"></a>
+  Definir o modo de faturamento da Tabela do DynamoDB como On-Demand (Pagamento por solicitação) 
+  Habilitar criptografia no lado do servidor para a tabela do DynamoDB usando a chave KMS gerenciada pela AWS 
+  Cria uma chave de partição chamada 'id' para a tabela do DynamoDB 
+  Manter a tabela ao excluir a pilha do CloudFormation 
+  Permita backups contínuos e recuperação point-in-time 

## Architecture
<a name="architecture"></a>

![\[Diagram showing data flow from code to database, with security and cloud search components.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-apigateway-dynamodb.png)


## GitHub
<a name="github"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-apigateway-dynamodb](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-apigateway-dynamodb)  | 

# aws-apigateway-muito
<a name="aws-apigateway-iot"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1apigateway\$1iot  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-apigateway-iot  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.apigatewayiot  | 

## Overview
<a name="overview-32"></a>

 Este AWS Solutions Construct implementa uma API REST do Amazon API Gateway conectada ao padrão do AWS IoT. 

 Essa construção cria um proxy HTTPS escalável entre o API Gateway e o AWS IoT. Isso é útil ao querer permitir que dispositivos legados que não suportam o protocolo MQTT ou MQTT/WebSocket interajam com a plataforma AWS IoT. 

 Essa implementação permite que mensagens somente de gravação sejam publicadas em determinados tópicos MQTT e também suporta atualizações de sombra de dispositivos HTTPS para itens permitidos no registro do dispositivo. Ele não envolve funções do Lambda para mensagens de proxy e, em vez disso, depende da integração direta do API Gateway para o AWS IoT, que suporta mensagens JSON e mensagens binárias. 

 Aqui está uma definição de padrão implantável mínima no TypeScript:

```
import { ApiGatewayToIot } from '@aws-solutions-constructs/aws-apigateway-iot';

new ApiGatewayToIot(this, 'ApiGatewayToIotPattern', {
    iotEndpoint: 'a1234567890123-ats'
});
```

## Initializer
<a name="initializer-32"></a>

```
new ApiGatewayToIot(scope: Construct, id: string, props: ApiGatewayToIotProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`ApiGatewayToIotProps`](#pattern-construct-props-32) 

## Props de construção de padrão
<a name="pattern-construct-props-32"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  IoTendpoint  |  string  |  O subdomínio de endpoint do AWS IoT para integrar o API Gateway com (por exemplo, a1234567890123-ats).  | 
|  ApigatewayCreateApikey?  |  boolean  |  Se definido comotrue, uma chave de API é criada e associada a um UsagePlan. O usuário deve especificar o cabeçalho `x-api-key` ao acessar RestApi. Valor padrão definido comofalse.  | 
|  ApigatewayExecutionRole?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  A função do IAM usada pelo API Gateway para acessar o AWS IoT. Se não for especificado, uma função padrão será criada com acesso curinga ('\$1') a todos os tópicos e coisas.  | 
|  ApigatewayProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para a API REST do API Gateway. | 
|  LoggroupProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para o grupo de logs do CloudWatch Logs.  | 

## Propriedades de padrão
<a name="pattern-properties-32"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ApiGateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)  |  Retorna uma instância da API REST Gateway criada pelo padrão.  | 
|  ApigatewayCloudWatchRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão que permite o log de acesso da API REST do API Gateway para o CloudWatch.  | 
|  ApigatewayLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Retorna uma instância do grupo de logs criado pelo padrão para o qual os logs de acesso à API REST do API Gateway são enviados.  | 
|  ApigateWayRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão para a API REST do API Gateway.  | 

## Configurações padrão
<a name="default-settings-32"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon API Gateway
<a name="amazon-api-gateway-32"></a>
+  Implantar um endpoint de API otimizado para bordas 
+  Cria recursos de API com`POST`Método para publicar mensagens para tópicos do IoT 
+  Cria recursos de API com`POST`Método para publicar mensagens`ThingShadow`e`NamedShadows` 
+  Habilitar o log do CloudWatch para o 
+  Configurar a função do IAM para o API Gateway com acesso a todos os tópicos e coisas 
+  Defina o AuthorizationType padrão para todos os métodos de API como IAM 
+  Habilitar X-Ray Rastreamento 
+  Cria um UsagePlan e associa a`prod`stage 

 Abaixo está uma descrição dos diferentes recursos e métodos expostos pelo API Gateway após a implantação do Construct. Consulte o[Exemplos](#examples-32)para obter mais informações sobre como testar facilmente esses endpoints usando`curl`. 


|  **Método**  |  **Recurso**  |  **Parâmetro (s) de Consulta**  |  **Código (es) de retorno**  |  **Descrição**  | 
| --- | --- | --- | --- | --- | 
|  POST  |  /message/<topics>  |  qos  |  200/403/500  |  Ao chamar este ponto final, você precisa passar os tópicos sobre os quais você gostaria de publicar (por exemplo, `/message/device/foo`).  | 
|  POST  |  /shadow/<thingName>  |  Nenhum  |  200/403/500  |  Esta rota permite atualizar o documento sombra de uma coisa, dada a suathingNameUsando o tipo de shadow sem nome (clássico). O corpo deve estar em conformidade com a estrutura de sombra normalizada que inclui umstatenó e associadodesiredereportedNó. Consulte o[Atualizar sombras do dispositivo](#updating-device-shadows-32)Seção para ver um exemplo.  | 
|  POST  |  /shadow/<thingName>/<shadowName>  |  Nenhum  |  200/403/500  |  Esta rota permite atualizar o documento de sombra nomeado de uma coisa, dada a suathingNameO e ashadowNameusando o tipo de sombra Nomeado. O corpo deve estar em conformidade com a estrutura de sombra normalizada que inclui umstatenó e associadodesiredereportedNó. Consulte o[Atualizar sombras nomeadas](#updating-named-shadows-32)Seção para ver um exemplo.  | 

## Architecture
<a name="w23aab9c23c21"></a>

![\[IoT architecture diagram showing device, API Gateway, IoT Core, and related components.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-apigateway-iot.png)


## Examples
<a name="examples-32"></a>

Os exemplos a seguir funcionam somente com o`API_KEY`, uma vez que a autorização do IAM exige que um token Sigv4 seja especificado também, certifique-se de que o`apiGatewayCreateApiKey`de seus adereços do Construct está definida como`true`ao implantar a pilha, caso contrário, os exemplos abaixo não funcionarão.

### Publicar uma mensagem
<a name="publishing-a-message-32"></a>

Você pode usar o`curl`para publicar uma mensagem em diferentes tópicos MQTT usando a API HTTPS. O exemplo abaixo irá postar uma mensagem no`device/foo`Tópico.

```
curl -XPOST https://<stage-id>.execute-api.<region>.amazonaws.com/prod/message/device/foo -H "x-api-key: <api-key>" -H "Content-Type: application/json" -d '{"Hello": "World"}'
```

Observações: Substituir o`stage-id`,`region`, e`api-key`com seus valores de implantação.

Você pode encadear nomes de tópicos no URL e a API aceita até 7 subtópicos nos quais você pode publicar. Por exemplo, o exemplo abaixo publica uma mensagem no tópico`device/foo/bar/abc/xyz`.

```
curl -XPOST https://<stage-id>.execute-api.<region>.amazonaws.com/prod/message/device/foo/bar/abc/xyz -H "x-api-key: <api-key>" -H "Content-Type: application/json" -d '{"Hello": "World"}'
```

### Atualizar sombras do dispositivo
<a name="updating-device-shadows-32"></a>

Para atualizar o documento sombra associado a uma determinada coisa, você pode emitir uma solicitação de estado de sombra usando um nome de coisa. Consulte o exemplo a seguir sobre como atualizar uma thing shadow.

```
curl -XPOST https://<stage-id>.execute-api.<region>.amazonaws.com/prod/shadow/device1 -H "x-api-key: <api-key>" -H "Content-Type: application/json" -d '{"state": {"desired": { "Hello": "World" }}}'
```

### Atualizar sombras nomeadas
<a name="updating-named-shadows-32"></a>

Para atualizar o documento sombra associado à sombra nomeada de uma determinada coisa, você pode emitir uma solicitação de estado de sombra usando um nome de coisa e nome de sombra. Consulte o exemplo a seguir sobre como atualizar uma sombra nomeada.

```
curl -XPOST https://<stage-id>.execute-api.<region>.amazonaws.com/prod/shadow/device1/shadow1 -H "x-api-key: <api-key>" -H "Content-Type: application/json" -d '{"state": {"desired": { "Hello": "World" }}}'
```

### Enviando cargas binárias
<a name="sending-binary-payloads-32"></a>

É possível enviar uma carga binária para a API proxy, até o serviço AWS IoT. No exemplo a seguir, enviamos o conteúdo do`README.md`associado a este módulo (tratado como dados binários) para`device/foo`Usando o`application/octet-stream`Tipo de conteúdo.

```
curl -XPOST https://<stage-id>.execute-api.<region>.amazonaws.com/prod/message/device/foo/bar/baz/qux -H "x-api-key: <api-key>" -H "Content-Type: application/octet-stream" --data-binary @README.md
```

 Observações: Execute este comando enquanto estiver no diretório deste projeto. Em seguida, você pode testar o envio de outros tipos de arquivos binários do seu sistema de arquivos. 

## GitHub
<a name="github-32"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-apigateway-iot](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-apigateway-iot)  | 

# aws-apigateway-kinesisstreams
<a name="aws-apigateway-kinesisstreams"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Semantic version](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1apigateway\$1kinesisstreams  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-apigateway-kinesisstreams  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.apigatewaykinesisstreams  | 

## Overview
<a name="overview-29"></a>

 Esse padrão implementa uma API REST do Amazon API Gateway conectada a um stream de dados do Amazon Kinesis. 

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { ApiGatewayToKinesisStreams, ApiGatewayToKinesisStreamsProps } from '@aws-solutions-constructs/aws-apigateway-kinesisstreams';

new ApiGatewayToKinesisStreams(this, 'test-apigw-kinesis', {});
```

## Initializer
<a name="initializer-29"></a>

```
new ApiGatewayToKinesisStreams(scope: Construct, id: string, props: ApiGatewayToKinesisStreamsProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`ApiGatewayToKinesisStreamsProps`](#pattern-construct-props-29) 

## Adereços de construção de padrão
<a name="pattern-construct-props-29"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ApigatewayProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para a API REST do API Gateway.  | 
|  PutRecordRequestTemplate?  |  string  |  Modelo de solicitação do API Gateway para a ação PutRecord. Se não for fornecido, um padrão será usado.  | 
|  PutRecordRequestModel?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.ModelOptions.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.ModelOptions.html)  |  Modelo de solicitação do API Gateway para a ação PutRecord. Se não for fornecido, um padrão será criado.  | 
|  PutRecordsRequestTemplate?  |  string  |  Modelo de solicitação do API Gateway para a ação PutRecords. Se não for fornecido, um padrão será usado.  | 
|  PutRecordRequestModel?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.ModelOptions.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.ModelOptions.html)  |  Modelo de solicitação do API Gateway para a ação PutRecords. Se não for fornecido, um padrão será criado.  | 
|  ExistingStreamobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html)  |  Instância existente do Kinesis Stream, fornecendo tanto isso quantokinesisStreamPropscausará um erro.  | 
|  KinesisStreamprops?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.StreamProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.StreamProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para o stream do Kinesis.  | 
|  LoggroupProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  Props fornecidos pelo usuário para substituir os adereços padrão para o grupo de logs do CloudWatch Logs.  | 

## Propriedades do padrão
<a name="pattern-properties-29"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  APigGateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)  |  Retorna uma instância da API REST Gateway criada pelo padrão.  | 
|  ApigateWayRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão para a API REST do API Gateway.  | 
|  ApigatewayCloudWatchRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão que permite o log de acesso da API REST do API Gateway para o CloudWatch.  | 
|  ApigatewayLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Retorna uma instância do grupo de logs criado pelo padrão para o qual os logs de acesso à API REST do API Gateway são enviados.  | 
|  KinesisStream  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html)  |  Retorna uma instância do stream do Kinesis criado pelo padrão.  | 

## Uso da API de amostra
<a name="sample-api-usage"></a>


|  **Método**  |  **O caminho da solicitação**  |  **Corpo da solicitação**  |  **Ação da Fila**  |  **Descrição**  | 
| --- | --- | --- | --- | --- | 
|  POST  |  /record  |  <pre>{ <br />  "data": "Hello World!", <br />  "partitionKey": "pk001"<br />}</pre>  |  kinesis:PutRecord  |  Grava um único registro de dados no stream.  | 
|  POST  |  /records  |  <pre>{ <br />    "records": [<br />      { "data": "abc", <br />        "partitionKey": "pk001" <br />      }, <br />      { "data": "xyz", <br />        "partitionKey": "pk001" <br />      }<br />     ] <br />}</pre>  |  kinesis:PutRecords  |  Grava vários registros de dados no fluxo em uma única chamada.  | 

## Configurações padrão
<a name="default-settings-29"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon API Gateway
<a name="amazon-api-gateway-29"></a>
+  Implantar um endpoint de API otimizado para bordas. 
+  Ative o log do CloudWatch para API Gateway 
+  Configurar a função do IAM de acesso de menor privilégio para API Gateway. 
+  Defina o AuthorizationType padrão para todos os métodos de API como IAM. 
+  Ativar rastreamento do X-Ray. 
+  Validar o corpo da solicitação antes de passar dados para o Kinesis. 

### Amazon Kinesis Data Stream
<a name="amazon-sqs-queue"></a>
+  Configurar a função do IAM de acesso de menor privilégio para stream do Kinesis. 
+  Ative a criptografia do lado do servidor para o Kinesis Stream usando a chave KMS gerenciada da AWS. 

## Architecture
<a name="architecture-29"></a>

![\[Diagram showing data flow between cloud search, code analysis, and network components.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-apigateway-kinesisstreams.png)


## GitHub
<a name="github-29"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-apigateway-kinesisstreams](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-apigateway-kinesisstreams)  | 

# aws-apigateway-lambda
<a name="aws-apigateway-lambda"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1apigateway\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-apigateway-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.apigatewaylambda  | 

## Overview
<a name="overview-1"></a>

 Este AWS Solutions Construct implementa uma API REST do Amazon API Gateway conectada a uma função do AWS Lambda.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { ApiGatewayToLambda } from '@aws-solutions-constructs/aws-apigateway-lambda';

new ApiGatewayToLambda(this, 'ApiGatewayToLambdaPattern', {
    lambdaFunctionProps: {
      runtime: lambda.Runtime.NODEJS_14_X,
      // This assumes a handler function in lib/lambda/index.js
      code: lambda.Code.fromAsset(`${__dirname}/lambda`),
      handler: 'index.handler'
    }
});
```

## Initializer
<a name="initializer-1"></a>

```
new ApiGatewayToLambda(scope: Construct, id: string, props: ApiGatewayToLambdaProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`ApiGatewayToLambdaProps`](#pattern-construct-props-1) 

## Adereços de construção
<a name="pattern-construct-props-1"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  ApigatewayProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para a API.  | 
|  LoggroupProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  Aderos opcionais fornecidos pelo usuário para substituir os adereços padrão para o grupo de logs do CloudWatch Logs.  | 

## Propriedades de padrão
<a name="pattern-properties-1"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ApigatewayCloudWatchRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão que permite o log de acesso da API REST do API Gateway para o CloudWatch.  | 
|  ApigatewayLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Retorna uma instância do grupo de logs criado pelo padrão para o qual os logs de acesso à API REST do API Gateway são enviados.  | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 
|  ApiGateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html)  |  Retorna uma instância da API REST Gateway criada pelo padrão.  | 

## Configurações padrão
<a name="default-settings-1"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon API Gateway
<a name="amazon-api-gateway-1"></a>
+  Implantar um endpoint de API otimizado para bordas 
+  Habilitar o log do CloudWatch para o 
+  Configurar a função IAM de acesso de menor privilégio para API Gateway 
+  Defina o AuthorizationType padrão para todos os métodos de API como IAM 
+  Ativar rastreamento do X-Ray
+  Definição de variáveis de ambiente:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

### Função do AWS Lambda
<a name="aws-lambda-function"></a>
+  Configurar a função do IAM de acesso de privilégio limitado para a função Lambda 
+  Ativar a reutilização de conexões com a função Keep-Alive para NodeJS Lambda 
+  Ativar rastreamento do X-Ray

## Architecture
<a name="architecture-1"></a>

![\[Diagram showing interaction between Amazon API Gateway, AWS Lambda, and Amazon CloudWatch with roles.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-apigateway-lambda.png)


## GitHub
<a name="github-1"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-apigateway-lambda](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-apigateway-lambda)  | 

# aws-apigateway-sagemakerendpoint
<a name="aws-apigateway-sagemakerendpoint"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1apigateway\$1sagemakerendpoint  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-apigateway-sagemakerendpoint  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.apigatewaysagemakerendpoint  | 

## Overview
<a name="overview-33"></a>

 Este AWS Solutions Construct implementa uma API REST do Amazon API Gateway conectada a um endpoint do Amazon SageMaker.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { ApiGatewayToSageMakerEndpoint, ApiGatewayToSageMakerEndpointProps } from '@aws-solutions-constructs/aws-apigateway-sagemakerendpoint';

// Below is an example VTL (Velocity Template Language) mapping template for mapping the Api GET request to the Sagemaker POST request
const requestTemplate =
`{
    "instances": [
#set( $user_id = $input.params("user_id") )
#set( $items = $input.params("items") )
#foreach( $item in $items.split(",") )
    {"in0": [$user_id], "in1": [$item]}#if( $foreach.hasNext ),#end
    $esc.newline
#end
    ]
}`;

// Replace 'my-endpoint' with your Sagemaker Inference Endpoint
new ApiGatewayToSageMakerEndpoint(this, 'test-apigw-sagemakerendpoint', {
    endpointName: 'my-endpoint',
    resourcePath: '{user_id}',
    requestMappingTemplate: requestTemplate
});
```

## Initializer
<a name="initializer-33"></a>

```
new ApiGatewayToSageMakerEndpoint(scope: Construct, id: string, props: ApiGatewayToSageMakerEndpointProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`ApiGatewayToSageMakerEndpointProps`](#pattern-construct-props-33) 

## Adereços de construção de padrão
<a name="pattern-construct-props-33"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ApigatewayProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para a API REST do API Gateway.  | 
|  ApigatewayExecutionRole?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Função do IAM usada pelo API Gateway para chamar o endpoint do SageMaker. Se não for especificado, uma função padrão será criada com acesso aendpointName.  | 
|  EndpointName  |  string  |  Nome do ponto de extremidade de inferência do SageMaker implantado.  | 
|  ResourceName?  |  string  |  Nome do recurso opcional onde o método GET estará disponível.  | 
|  resourcePath  |  string  |  Caminho do recurso para o método GET. A variável definida aqui pode ser referenciada emrequestMappingTemplate.  | 
|  RequestMappingTemplate  |  string  |  Modelo de mapeamento para converter solicitações GET recebidas na API REST em solicitações POST esperadas pelo endpoint SageMaker.  | 
|  ResponseMappingTemplate?  |  string  |  Modelo de mapeamento opcional para converter as respostas recebidas do endpoint do SageMaker.  | 
|  LoggroupProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para o grupo de logs do CloudWatch Logs.  | 

## Propriedades de padrão
<a name="pattern-properties-33"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ApiGateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html)  |  Retorna uma instância da API REST Gateway criada pelo padrão.  | 
|  ApigateWayRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão para a API REST do API Gateway.  | 
|  ApigatewayCloudWatchRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão que permite o log de acesso da API REST do API Gateway para o CloudWatch.  | 
|  ApigatewayLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Retorna uma instância do grupo de logs criado pelo padrão para o qual os logs de acesso à API REST do API Gateway são enviados.  | 

## Uso da API de amostra
<a name="sample-api-usage"></a>

**Observações:** Cada endpoint do SageMaker é exclusivo e a resposta da API dependerá do modelo implantado. O exemplo dado abaixo assume a amostra de[Publicação no blog](https://aws.amazon.com/blogs/machine-learning/creating-a-machine-learning-powered-rest-api-with-amazon-api-gateway-mapping-templates-and-amazon-sagemaker/). Para obter uma referência sobre como isso seria implementado, consulte[integ.apigateway-sagemakerendpoint-overwrite.ts](https://github.com/awslabs/aws-solutions-constructs/blob/f02997ea4fa6515fc4429771d21821d2c26a8584/source/patterns/%40aws-solutions-constructs/aws-apigateway-sagemakerendpoint/test/integ.apigateway-sagemakerendpoint-overwrite.ts).


|  **Método**  |  **O caminho da solicitação**  |  **Sequência de consulta**  |  **Ação SageMaker**  |  **Descrição**  | 
| --- | --- | --- | --- | --- | 
|  GET  |  /321  |  items=101,131,162  |  sagemaker:InvokeEndpoint  |  Recupera as previsões para um usuário e itens específicos.  | 

## Configurações padrão
<a name="default-settings-33"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon API Gateway
<a name="amazon-api-gateway-33"></a>
+  Implantar um endpoint de API otimizado para bordas 
+  Habilitar o log do CloudWatch para o 
+  Configurar a função IAM de acesso de menor privilégio para API Gateway 
+  Defina o AuthorizationType padrão para todos os métodos de API como IAM 
+  Ativar rastreamento do X-Ray 
+  Validar parâmetros de solicitação antes de passar dados para o SageMaker 

## Architecture
<a name="architecture-33"></a>

![\[Diagram showing Amazon CloudWatch, API Gateway, SageMaker endpoint, and IAM roles connections.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-apigateway-sagemakerendpoint.png)


## GitHub
<a name="github-33"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-apigateway-sagemakerendpoint](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-apigateway-sagemakerendpoint)  | 

# aws-apigateway-sqs
<a name="aws-apigateway-sqs"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Controle de versão semântica](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1apigateway\$1sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-apigateway-sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.apigatewaysqs  | 

## Overview
<a name="overview-2"></a>

 Este AWS Solutions Construct implementa uma API REST do Amazon API Gateway conectada a uma fila do Amazon SQS.

 Aqui está uma definição de padrão implantável mínima no TypeScript:

```
import { ApiGatewayToSqs, ApiGatewayToSqsProps } from "@aws-solutions-constructs/aws-apigateway-sqs";

new ApiGatewayToSqs(this, 'ApiGatewayToSqsPattern', {});
```

## Initializer
<a name="initializer-2"></a>

```
new ApiGatewayToSqs(scope: Construct, id: string, props: ApiGatewayToSqsProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`ApiGatewayToSqsProps`](#pattern-construct-props-2) 

## Adereços de construção de padrão
<a name="pattern-construct-props-2"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ApigatewayProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApiProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para o API Gateway.  | 
|  QueueProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão da fila.  | 
|  Implementar DeadletterQueue?  |  boolean  |  Se uma fila secundária deve ser usada como uma dead letter queue. Padronizado como true.  | 
|  MaxReceiveCount  |  number  |  O número de vezes que uma mensagem pode ser desenfileirada sem sucesso antes de ser movida para a fila de mensagens mortas.  | 
|  AllowCreateOperation?  |  boolean  |  Se deve implantar um Método API Gateway para criar operações na fila (ou seja, SQS:SendMessage).  | 
|  CreateRequestTemplate?  |  string  |  Substitua o modelo de solicitação padrão do API Gateway para o método Criar, seallowCreateOperationé definido comotrue. | 
|  AllowReadOperation?  |  boolean  |  Se deve implantar um Método API Gateway para operações de leitura na fila (ou seja, SQS:ReceiveMessage).  | 
|  ReadRequestTemplate?  |  string  |  Substitua o modelo de solicitação padrão do API Gateway para o método de leitura, seallowReadOperationé definido comotrue. | 
|  AllowDeleteOperation?  |  boolean  |  Se deve implantar um Método API Gateway para operações Excluir na fila (por exemplo, SQS:DeleteMessage).  | 
|  DeleteRequestTemplate?  |  string  |  Substitua o modelo de solicitação padrão do API Gateway para o método Delete, seallowDeleteOperationé definido comotrue. | 
|  LoggroupProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão do grupo de logs do CloudWatch Logs.  | 

## Propriedades de padrão
<a name="pattern-properties-2"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  APIGateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)  |  Retorna uma instância da API REST Gateway criada pelo padrão.  | 
|  ApigatewayCloudWatchRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão que permite o log de acesso da API REST do API Gateway para o CloudWatch.  | 
|  ApigatewayLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Retorna uma instância do grupo de logs criado pelo padrão para o qual os logs de acesso à API REST do API Gateway são enviados.  | 
|  ApigateWayRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão para a API REST do API Gateway.  | 
|  DeadletterQueue?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Retorna uma instância da fila de letras mortas criada pelo padrão, se uma for implantada.  | 
|  SQSqueue  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Retorna uma instância da fila SQS criada pelo padrão.  | 

## Uso da API de amostra
<a name="sample-api-usage"></a>


|  **Método**  |  **Caminho da solicitação**  |  **Corpo da solicitação**  |  **Ação da Fila**  |  **Descrição**  | 
| --- | --- | --- | --- | --- | 
|  GET  |  /  |   |  sqs::ReceiveMessage  |  Recupera uma mensagem da fila.  | 
|  POST  |  /  |  \$1 "data": "Hello World\$1" \$1  |  sqs::SendMessage  |  Entrega uma mensagem para a fila.  | 
|  DELETE  |  /message?receiptHandle=[value]  |   |  sqs::DeleteMessage  |  Exclui uma mensagem especificada da fila  | 

## Configurações padrão
<a name="default-settings-2"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon API Gateway
<a name="amazon-api-gateway-2"></a>
+  Implantar um endpoint de API otimizado para bordas 
+  Habilitar o registro do CloudWatch para o 
+  Configurar a função IAM de acesso de menor privilégio para API Gateway 
+  Defina o AuthorizationType padrão para todos os métodos de API como IAM 
+  Habilitar rastreamento do X-Ray

### Fila do Amazon SQS
<a name="amazon-sqs-queue"></a>
+  Implantar fila de mensagens mortas do SQS para a fila do SQS de origem 
+  Habilitar a criptografia do lado do servidor para a fila do SQS de origem AWS a Chave do KMS 
+  Aplique a criptografia de dados em trânsito 

## Architecture
<a name="architecture-2"></a>

![\[Diagram showing Amazon API Gateway, CloudWatch, and Simple Queue Service interactions with roles.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-apigateway-sqs.png)


## GitHub
<a name="github-2"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-apigateway-sqs](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-apigateway-sqs)  | 

# aws-cloudfront-apigateway
<a name="aws-cloudfront-apigateway"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1cloudfront\$1apigateway  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-cloudfront-apigateway  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.cloudfrontapigateway  | 

## Overview
<a name="overview-4"></a>

 Este AWS Solutions Construct implementa uma distribuição do Amazon CloudFront na frente de uma API REST do Amazon API Gateway.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import * as api from '@aws-cdk/aws-apigateway';
import * as lambda from "@aws-cdk/aws-lambda";
import { CloudFrontToApiGateway } from '@aws-solutions-constructs/aws-cloudfront-apigateway';
  
const lambdaProps: lambda.FunctionProps = {
    code: lambda.Code.fromAsset(`${__dirname}/lambda`),
    runtime: lambda.Runtime.NODEJS_12_X,
    handler: 'index.handler'
};

const lambdafunction = new lambda.Function(this, 'LambdaFunction', lambdaProps);

const apiGatewayProps: api.LambdaRestApiProps = {
        handler: lambdafunction,
        endpointConfiguration: {
            types: [api.EndpointType.REGIONAL]
        },
        defaultMethodOptions: {
            authorizationType: api.AuthorizationType.NONE
        }
};

const apiGateway = new api.LambdaRestApi(this, 'LambdaRestApi', apiGatewayProps);

new CloudFrontToApiGateway(this, 'test-cloudfront-apigateway', {
    existingApiGatewayObj: apiGateway
});
```

## Initializer
<a name="initializer-4"></a>

```
new CloudFrontToApiGateway(scope: Construct, id: string, props: CloudFrontToApiGatewayProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`CloudFrontToApiGatewayProps`](#pattern-construct-props-4) 

## Adereços de construção de padrão
<a name="pattern-construct-props-4"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingApigatewayObj  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)  |  O API Gateway regional que será fornecido com o CloudFront  | 
|  CloudFrontDistributionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.DistributionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.DistributionProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão para a distribuição do CloudFront.  | 
|  InserthttpSecurityHeaders?  |  boolean  |  O usuário opcional forneceu adereços para ativar/desativar a injeção automática de cabeçalhos de segurança HTTP de práticas recomendadas em todas as respostas do CloudFront  | 

## Propriedades de padrão
<a name="pattern-properties-4"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  APIGateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)  |  Retorna uma instância da API REST Gateway criada pelo padrão.  | 
|  CloudFrontLoggingBucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket de log criado pelo padrão para a distribuição da Web do CloudFront.  | 
|  CloudFrontWebDistribution  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.CloudFrontWebDistribution.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.CloudFrontWebDistribution.html)  |  Retorna uma instância da distribuição web do CloudFront criada pelo padrão.  | 
|  EdgeLambdaFunctionVersion?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Version.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Version.html)  |  Retorna uma instância da versão da função de borda do Lambda criada pelo padrão.  | 

## Configurações padrão
<a name="default-settings-4"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon CloudFront
<a name="amazon-cloudfront-1"></a>
+  Configurar registro de acesso para o CloudFront WebDistribution 
+  Habilite a injeção automática de cabeçalhos de segurança HTTP de práticas recomendadas em todas as respostas do CloudFront WebDistribution 

### Amazon API Gateway
<a name="amazon-api-gateway-4"></a>
+  O objeto API Gateway fornecido pelo usuário é usado como está 
+  Ativar rastreamento do X-Ray

## Architecture
<a name="architecture-4"></a>

![\[Diagram showing data flow between network, code, storage, and cloud search components.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-cloudfront-apigateway.png)


## GitHub
<a name="github-4"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-cloudfront-apigateway](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-cloudfront-apigateway)  | 

# aws-cloudfront-apigateway-lambda
<a name="aws-cloudfront-apigateway-lambda"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1cloudfront\$1apigateway\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-cloudfront-apigateway-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.cloudfrontapigatewaylambda  | 

## Overview
<a name="overview-3"></a>

 Este AWS Solutions Construct implementa uma distribuição do Amazon CloudFront na frente de uma API REST suportada pelo Amazon API Gateway Lambda.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { CloudFrontToApiGatewayToLambda } from '@aws-solutions-constructs/aws-cloudfront-apigateway-lambda';

new CloudFrontToApiGatewayToLambda(this, 'test-cloudfront-apigateway-lambda', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
});
```

## Initializer
<a name="initializer-3"></a>

```
new CloudFrontToApiGatewayToLambda(scope: Construct, id: string, props: CloudFrontToApiGatewayToLambdaProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`CloudFrontToApiGatewayToLambdaProps`](#pattern-construct-props-3) 

## Adereços de construção de padrão
<a name="pattern-construct-props-3"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  ApigatewayProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApiProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApiProps.html)  |  Os adereços fornecidos pelo usuário opcionais para substituir os adereços padrão do API Gateway  | 
|  CloudFrontDistributionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.DistributionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.DistributionProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão para a distribuição do CloudFront.  | 
|  InserthttpSecurityHeaders?  |  boolean  |  O usuário opcional forneceu adereços para ativar/desativar a injeção automática de cabeçalhos de segurança HTTP de práticas recomendadas em todas as respostas do CloudFront  | 
|  LoggroupProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  Props fornecidos pelo usuário para substituir os adereços padrão para o grupo de logs do CloudWatch Logs.  | 

## Propriedades de padrão
<a name="pattern-properties-3"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ApiGateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)  |  Retorna uma instância da API REST Gateway criada pelo padrão.  | 
|  ApigatewayCloudWatchRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão que permite o log de acesso da API REST do API Gateway para o CloudWatch.  | 
|  ApigatewayLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Retorna uma instância do grupo de logs criado pelo padrão para o qual os logs de acesso à API REST do API Gateway são enviados.  | 
|  CloudFrontLoggingBucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket de log criado pelo padrão para a distribuição da Web do CloudFront.  | 
|  CloudFrontWebDistribution  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.CloudFrontWebDistribution.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.CloudFrontWebDistribution.html)  |  Retorna uma instância da distribuição web do CloudFront criada pelo padrão.  | 
|  EdgeLambdaFunctionVersion?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Version.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Version.html)  |  Retorna uma instância da versão da função de borda do Lambda criada pelo padrão.  | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 

## Configurações padrão
<a name="default-settings-3"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon CloudFront
<a name="amazon-cloudfront"></a>
+  Configurar registro de acesso para o CloudFront WebDistribution 
+  Habilite a injeção automática de cabeçalhos de segurança HTTP de práticas recomendadas em todas as respostas do CloudFront WebDistribution 

### Amazon API Gateway
<a name="amazon-api-gateway-3"></a>
+  Implantar um ponto final de API regional 
+  Habilitar o log do CloudWatch para o 
+  Configurar a função IAM de acesso de menor privilégio para API Gateway 
+  Defina o AuthorizationType padrão para todos os métodos de API como IAM 
+  Ativar rastreamento do X-Ray

### Função do AWS Lambda
<a name="aws-lambda-function-1"></a>
+  Configuração da função do IAM de acesso de privilégio limitado para a função Lambda 
+  Ativar a reutilização de conexões com a função Keep-Alive para NodeJS Lambda 
+  Ativar rastreamento do X-Ray
+  Definição de variáveis de ambiente:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

## Architecture
<a name="architecture-3"></a>

![\[Diagram showing data flow between Serviços da AWS including AppSync, Lambda, and CloudSearch.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-cloudfront-apigateway-lambda.png)


## GitHub
<a name="github-3"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-cloudfront-apigateway-lambda](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-cloudfront-apigateway-lambda)  | 

# aws-cloudfront-mediastore
<a name="aws-cloudfront-mediastore"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1cloudfront\$1mediastore  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-cloudfront-mediastore  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.cloudfrontmediastore  | 

## Overview
<a name="overview-38"></a>

 Este AWS Solutions Construct implementa uma distribuição do Amazon CloudFront conectada a um contêiner AWS Elemental MediaStore.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { CloudFrontToMediaStore } from '@aws-solutions-constructs/aws-cloudfront-mediastore';

new CloudFrontToMediaStore(this, 'test-cloudfront-mediastore-default', {});
```

## Initializer
<a name="initializer-38"></a>

```
new CloudFrontToMediaStore(scope: Construct, id: string, props: CloudFrontToMediaStoreProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`CloudFrontToMediaStoreProps`](#pattern-construct-props-38) 

## Props de criação de padrão
<a name="pattern-construct-props-38"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingMediaStoreContainerObj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-mediastore.CfnContainer.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-mediastore.CfnContainer.html)  |  Recipiente MediaStore opcional fornecido pelo usuário para substituir o contêiner MediaStore padrão.  | 
|  MediaStoreContainerProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-mediastore.CfnContainerProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-mediastore.CfnContainerProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para o Container MediaStore.  | 
|  CloudFrontDistributionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.DistributionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.DistributionProps.html) \$1 any  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para a distribuição do CloudFront.  | 
|  InserthttpSecurityHeaders?  |  boolean  |  Props opcionais fornecidos pelo usuário para ativar/desativar a injeção automática de cabeçalhos de segurança HTTP de práticas recomendadas em todas as respostas do CloudFront.  | 

## Propriedades de padrão
<a name="pattern-properties-38"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  CloudFrontWebDistribution  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.CloudFrontWebDistribution.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.CloudFrontWebDistribution.html)  |  Retorna uma instância da distribuição web do CloudFront criada pelo padrão.  | 
|  MediaStoreContainer  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-mediastore.CfnContainer.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-mediastore.CfnContainer.html)  |  Retorna uma instância do contêiner MediaStore criado pelo padrão.  | 
|  CloudFrontLoggingBucket  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket de log criado pelo padrão para a distribuição da Web do CloudFront.  | 
|  CloudFrontOriginRequestPolicy  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.OriginRequestPolicy.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.OriginRequestPolicy.html)  |  Retorna uma instância da política de solicitação de origem do CloudFront criada pelo padrão para a distribuição da Web do CloudFront.  | 
|  CloudFrontOriginAccessIdentity?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.OriginAccessIdentity.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.OriginAccessIdentity.html)  |  Retorna uma instância da identidade de acesso de origem do CloudFront criada pelo padrão para a distribuição da Web do CloudFront.  | 
|  EdgeLambdaFunctionVersion  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Version.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Version.html)  |  Retorna uma instância da versão da função de borda do Lambda criada pelo padrão.  | 

## Configurações padrão
<a name="default-settings-38"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon CloudFront
<a name="amazon-cloudfront-2"></a>
+  Configurar o registro de acesso para a distribuição da Web CloudFront 
+  Ativar política de solicitação de origem do CloudFront para contêiner AWS Elemental MediaStore 
+  Defina`User-Agent`cabeçalho personalizado com identidade de acesso de origem do CloudFront 
+  Habilite a injeção automática de cabeçalhos de segurança HTTP de práticas recomendadas em todas as respostas da distribuição na Web do CloudFront 

### AWS Elemental MediaStore
<a name="amazon-elemental-mediastore"></a>
+  Definir a política de exclusão para reter o recurso 
+  Definir o nome do contêiner com o nome da pilha do CloudFormation 
+  Definir o padrão[Política de compartilhamento de recursos de origem cruzada (CORS) de contêiner](https://docs.aws.amazon.com/mediastore/latest/ug/cors-policy.html) 
+  Definir o padrão[Política de ciclo de vida](https://docs.aws.amazon.com/mediastore/latest/ug/policies-object-lifecycle.html) 
+  Definir o padrão[Política de contêiner](https://docs.aws.amazon.com/mediastore/latest/ug/policies.html)para permitir apenas`aws:UserAgent`com origem no CloudFront de origem 
+  Definir o padrão[Política de métrica](https://docs.aws.amazon.com/mediastore/latest/ug/policies-metric.html) 
+  Habilitar registro em log de acesso

## Architecture
<a name="architecture-38"></a>

![\[Diagram showing interaction between Amazon CloudFront, AWS Elemental MediaStore, and Amazon S3.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-cloudfront-mediastore.png)


## GitHub
<a name="github-38"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-cloudfront-mediastore](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-cloudfront-mediastore)  | 

# aws-cloudfront-s3
<a name="aws-cloudfront-s3"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Semantic version](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1cloudfront\$1s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-cloudfront-s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.cloudfronts3  | 

## Overview
<a name="overview-5"></a>

 Este AWS Solutions Construct implementa uma distribuição do Amazon CloudFront na frente de um bucket do Amazon S3.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { CloudFrontToS3 } from '@aws-solutions-constructs/aws-cloudfront-s3';

new CloudFrontToS3(this, 'test-cloudfront-s3', {});
```

## Initializer
<a name="initializer-5"></a>

```
new CloudFrontToS3(scope: Construct, id: string, props: CloudFrontToS3Props);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`CloudFrontToS3Props`](#pattern-construct-props-5) 

## Props de criação de padrão
<a name="pattern-construct-props-5"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingBucketoBJ?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Instância existente do objeto S3 Bucket. Se isso for fornecido, então também fornecendobucketPropsé um erro.  | 
|  Baldes?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão do bucket. Ignorado se umexistingBucketObjé fornecido.  | 
|  CloudFrontDistributionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.DistributionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.DistributionProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão para a distribuição do CloudFront.  | 
|  InserthttpSecurityHeaders?  |  boolean  |  O usuário opcional forneceu adereços para ativar/desativar a injeção automática de cabeçalhos de segurança HTTP de práticas recomendadas em todas as respostas do CloudFront  | 

## Propriedades do padrão
<a name="pattern-properties-5"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  CloudFrontWebDistribution  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.CloudFrontWebDistribution.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudfront.CloudFrontWebDistribution.html)  |  Retorna uma instância da distribuição web do CloudFront criada pelo padrão.  | 
|  S3 Bucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket S3 criado pelo padrão.  | 
|  S3loggingBucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket de log criado pelo padrão para o bucket S3.  | 
|  EdgeLambdaFunctionVersion?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Version.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Version.html)  |  Retorna uma instância da versão da função de borda do Lambda criada pelo padrão.  | 
|  CloudFrontLoggingBucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket de log criado pelo padrão para a distribuição da Web do CloudFront.  | 

## Configurações padrão
<a name="default-settings-5"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon CloudFront
<a name="amazon-cloudfront-2"></a>
+  Configurar registro de acesso para o CloudFront WebDistribution 
+  Habilite a injeção automática de cabeçalhos de segurança HTTP de práticas recomendadas em todas as respostas do CloudFront WebDistribution 

### Amazon S3 Bucket
<a name="amazon-s3-bucket"></a>
+  Configurar registro de acesso para o bucket do S3 
+  Ativar criptografia no lado do servidor para o S3 Bucket usando a chave KMS gerenciada pela AWS 
+  Ativar o controle de versão para o bucket do S3 
+  Não permitir acesso público para o S3 Bucket 
+  Manter o bucket do S3 ao excluir a pilha do CloudFormation 
+  Aplique a criptografia de dados em trânsito 
+  Aplica regra de ciclo de vida para mover versões de objetos não atuais para o armazenamento do Glacier após 90 dias 

## Architecture
<a name="architecture-5"></a>

![\[CloudFront distribution workflow with Origin Access Control, S3 bucket, and associated logs.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-cloudfront-s3.png)


## GitHub
<a name="github-5"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-cloudfront-s3](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-cloudfront-s3)  | 

# aws-cognito-apigateway-lambda
<a name="aws-cognito-apigateway-lambda"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1cognito\$1apigateway\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-cognito-apigateway-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.cognitoapigatewaylambda  | 

## Overview
<a name="overview-4"></a>

 Este AWS Solutions Construct implementa o Amazon Cognito protegendo uma API REST apoiada pelo Amazon API Gateway Lambda.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { CognitoToApiGatewayToLambda } from '@aws-solutions-constructs/aws-cognito-apigateway-lambda';

new CognitoToApiGatewayToLambda(this, 'test-cognito-apigateway-lambda', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
});
```

 Se você estiver definindo recursos e métodos em sua API (por exemplo,`proxy = false`), você deve chamar o`addAuthorizers()`depois que a API é totalmente definida. Isso garante que todos os métodos em sua API estejam protegidos.

 Veja um exemplo em TypeScript: 

```
import { CognitoToApiGatewayToLambda } from '@aws-solutions-constructs/aws-cognito-apigateway-lambda';

const construct = new CognitoToApiGatewayToLambda(this, 'test-cognito-apigateway-lambda', {
    lambdaFunctionProps: {
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        runtime: lambda.Runtime.NODEJS_12_X,
        handler: 'index.handler'
    },
    apiGatewayProps: {
      proxy: false
    }
});

const resource = construct.apiGateway.root.addResource('foobar');
resource.addMethod('POST');

// Mandatory to call this method to Apply the Cognito Authorizers on all API methods
construct.addAuthorizers();
```

## Initializer
<a name="initializer-6"></a>

```
new CognitoToApiGatewayToLambda(scope: Construct, id: string, props: CognitoToApiGatewayToLambdaProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`CognitoToApiGatewayToLambdaProps`](#pattern-construct-props-6) 

## Adereços de construção de padrão
<a name="pattern-construct-props-6"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  ApigatewayProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.LambdaRestApi.html)  |  Os adereços fornecidos pelo usuário opcionais para substituir os adereços padrão do API Gateway  | 
|  CognitouserPoolProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão para o grupo de usuários do Cognito  | 
|  CognitouserPoolClientProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolClientProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolClientProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão para o cliente do grupo de usuários do Cognito  | 
|  LoggroupProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  Aderos opcionais fornecidos pelo usuário para substituir os adereços padrão para o grupo de logs do CloudWatch Logs.  | 

## Propriedades de padrão
<a name="pattern-properties-6"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ApiGateway  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.RestApi.html)  |  Retorna uma instância da API REST Gateway criada pelo padrão.  | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 
|  userPool  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPool.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPool.html)  |  Retorna uma instância do grupo de usuários do Cognito criado pelo padrão.  | 
|  USPoolClient  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolClient.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolClient.html)  |  Retorna uma instância do cliente do grupo de usuários do Cognito criado pelo padrão.  | 
|  ApigatewayCloudWatchRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão que permite o log de acesso da API REST do API Gateway para o CloudWatch.  | 
|  ApigatewayLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Retorna uma instância do grupo de logs criado pelo padrão para o qual os logs de acesso à API REST do API Gateway são enviados.  | 
|  ApigatewayAuthorizer  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.CfnAuthorizer.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-apigateway.CfnAuthorizer.html)  |  Retorna uma instância do autorizador API Gateway criado pelo padrão.  | 

## Configurações padrão
<a name="default-settings-6"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon Cognito
<a name="amazon-cognito"></a>
+  Definição de política de senha para grupos de usuários 
+  Impor o modo de segurança avançado para grupos de usuários 

### Amazon API Gateway
<a name="amazon-api-gateway-5"></a>
+  Implantar um endpoint de API otimizado para bordas 
+  Habilitar o log do CloudWatch para o 
+  Configurar a função IAM de acesso de menor privilégio para API Gateway 
+  Defina o AuthorizationType padrão para todos os métodos de API como IAM 
+  Ativar rastreamento do X-Ray

### Função do AWS Lambda
<a name="aws-lambda-function-2"></a>
+  Configurar a função do IAM de acesso de privilégio limitado para a função Lambda 
+  Ativar a reutilização de conexões com a função Keep-Alive para NodeJS Lambda 
+  Ativar rastreamento do X-Ray
+  Definição de variáveis de ambiente:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

## Architecture
<a name="architecture-6"></a>

![\[Diagram showing interactions between API Gateway, Lambda, and CloudWatch with security icons.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-cognito-apigateway-lambda.png)


## GitHub
<a name="github-6"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-cognito-apigateway-lambda](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-cognito-apigateway-lambda)  | 

# aws-dynamodb-stream-lambda
<a name="aws-dynamodb-stream-lambda"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1dynamodb\$1stream\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-dynamodb-stream-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.dynamodbstreamlambda  | 

## Overview
<a name="overview-8"></a>

 Este AWS Solutions Construct implementa uma tabela padrão do Amazon DynamoDB com stream para invocar a função do AWS Lambda com as permissões menos privilegiadas.

 Aqui está uma definição de padrão implantável mínima: 

```
import { DynamoDBStreamToLambdaProps, DynamoDBStreamToLambda} from '@aws-solutions-constructs/aws-dynamodb-stream-lambda';

new DynamoDBStreamToLambda(this, 'test-dynamodb-stream-lambda', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    },
});
```

## Initializer
<a name="initializer-8"></a>

```
new DynamoDBStreamToLambda(scope: Construct, id: string, props: DynamoDBStreamToLambdaProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`DynamoDBStreamToLambdaProps`](#pattern-construct-props-8) 

## Adereços de criação de padrão
<a name="pattern-construct-props-8"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  DynamotableProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html)  |  Os adereços fornecidos pelo usuário opcionais para substituir os adereços padrão da Tabela do DynamoDB  | 
|  ExistingTableobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html)  |  Instância existente do objeto de tabela do DynamoDB, fornecendo tanto isso quantodynamoTablePropscausará um erro.  | 
|  DynamoEventSourceProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda-event-sources.DynamoEventSourceProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda-event-sources.DynamoEventSourceProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão para a Origem do evento do DynamoDB  | 

## Propriedades do padrão
<a name="pattern-properties-8"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  DynamoTable  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html)  |  Retorna uma instância da tabela do DynamoDB criada pelo padrão.  | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 

## Função Lambda
<a name="lambda-function-8"></a>

Esse padrão requer uma função do Lambda que possa postar dados no serviço Elasticsearch a partir do stream do DynamoDB. Uma função de exemplo é fornecida[Aqui](https://github.com/awslabs/aws-solutions-constructs/blob/master/source/patterns/%40aws-solutions-constructs/aws-dynamodb-stream-lambda/test/lambda/index.js).

## Configurações padrão
<a name="default-settings-8"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon DynamoDB Tabela
<a name="amazon-dynamodb-table-2"></a>
+  Definir o modo de faturamento da Tabela do DynamoDB como On-Demand (Pagamento por solicitação) 
+  Habilitar criptografia no lado do servidor para a tabela do DynamoDB usando a chave KMS gerenciada pela AWS 
+  Cria uma chave de partição chamada 'id' para a tabela do DynamoDB 
+  Manter a tabela ao excluir a pilha do CloudFormation 
+  Permita backups contínuos e recuperação point-in-time 

### Função do AWS Lambda
<a name="aws-lambda-function-4"></a>
+  Configuração da função do IAM de acesso de privilégio limitado para Lambda 
+  Ativar a reutilização de conexões com a função Keep-Alive para NodeJS Lambda 
+  Ativar rastreamento do X-Ray
+  Ativar recursos de tratamento de falhas: habilitar bisect na função Erro; definir a Idade Máxima de Registro padrão (24 horas); definir Máximo de Tentativas de Repetição (500) padrão; e implantar a fila de letras mortas SQS como destino em caso de falha
+  Definir variáveis de ambiente:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

## Architecture
<a name="architecture-8"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-dynamodb-stream-lambda.png)


## GitHub
<a name="github-8"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-dynamodb-stream-lambda](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-dynamodb-stream-lambda)  | 

# aws-dynamodb-stream-lambda-elasticsearch-kibana
<a name="aws-dynamodb-stream-lambda-elasticsearch-kibana"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1dynamodb\$1stream\$1lambda\$1elasticsearch\$1kibana  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-dynamodb-stream-lambda-elasticsearch-kibana  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.dynamodbstreamlambdaelasticsearchkibana  | 

## Overview
<a name="overview-7"></a>

 Este AWS Solutions Construct implementa a tabela do Amazon DynamoDB com stream, uma função do AWS Lambda e um Amazon Elasticsearch Service com as permissões menos privilegiadas.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { DynamoDBStreamToLambdaToElasticSearchAndKibana, DynamoDBStreamToLambdaToElasticSearchAndKibanaProps } from '@aws-solutions-constructs/aws-dynamodb-stream-lambda-elasticsearch-kibana';
import { Aws } from "@aws-cdk/core";

const props: DynamoDBStreamToLambdaToElasticSearchAndKibanaProps = {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    },
    domainName: 'test-domain',
    // TODO: Ensure the Cognito domain name is globally unique
    cognitoDomainName: 'globallyuniquedomain' + Aws.ACCOUNT_ID;
};

new DynamoDBStreamToLambdaToElasticSearchAndKibana(this, 'test-dynamodb-stream-lambda-elasticsearch-kibana', props);
```

## Initializer
<a name="initializer-7"></a>

```
new DynamoDBStreamToLambdaToElasticSearchAndKibana(scope: Construct, id: string, props: DynamoDBStreamToLambdaToElasticSearchAndKibanaProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`DynamoDBStreamToLambdaToElasticSearchAndKibanaProps`](#pattern-construct-props-7) 

## Props de criação de padrão
<a name="pattern-construct-props-7"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  DynamotableProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html)  |  Os adereços fornecidos pelo usuário opcionais para substituir os adereços padrão da Tabela do DynamoDB  | 
|  ExistingTableobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html)  |  Instância existente do objeto de tabela do DynamoDB, fornecendo tanto isso quantodynamoTablePropscausará um erro.  | 
|  DynamoEventSourceProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda-event-sources.DynamoEventSourceProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda-event-sources.DynamoEventSourceProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão para a Origem do evento do DynamoDB  | 
|  EsdomainProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticsearch.CfnDomainProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticsearch.CfnDomainProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão do Amazon Elasticsearch Service  | 
|  domainName  |  string  |  Nome de domínio para o Cognito e o Amazon Elasticsearch Service  | 
|  CreateCloudWatchAlms  |  boolean  |  Criar alarmes recomendados do CloudWatch.  | 

## Propriedades do padrão
<a name="pattern-properties-7"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  CloudwatchAlarm?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html)  |  Retorna uma lista de um ou mais alarmes do CloudWatch criados pelo padrão.  | 
|  DynamoTable  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html)  |  Retorna uma instância da tabela do DynamoDB criada pelo padrão.  | 
|  ElasticSearchDomain  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticsearch.CfnDomain.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticsearch.CfnDomain.html)  |  Retorna uma instância do domínio Elasticsearch criado pelo padrão.  | 
|  IdentityPool  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.CfnIdentityPool.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.CfnIdentityPool.html)  |  Retorna uma instância do pool de identidades do Cognito criado pelo padrão.  | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 
|  userPool  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPool.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPool.html)  |  Retorna uma instância do grupo de usuários do Cognito criado pelo padrão.  | 
|  USPoolClient  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolClient.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolClient.html)  |  Retorna uma instância do cliente do grupo de usuários do Cognito criado pelo padrão.  | 

## Função Lambda
<a name="lambda-function-7"></a>

Esse padrão requer uma função do Lambda que possa postar dados no serviço Elasticsearch a partir do stream do DynamoDB. Uma função de exemplo é fornecida[Aqui](https://github.com/awslabs/aws-solutions-constructs/blob/master/source/patterns/%40aws-solutions-constructs/aws-dynamodb-stream-lambda-elasticsearch-kibana/test/lambda/index.js).

## Configurações padrão
<a name="default-settings-7"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Tabela do Amazon DynamoDB
<a name="amazon-dynamodb-table-1"></a>
+  Definir o modo de faturamento da Tabela do DynamoDB como On-Demand (Pagamento por solicitação) 
+  Habilitar criptografia no lado do servidor para a tabela do DynamoDB usando a chave KMS gerenciada pela AWS 
+  Cria uma chave de partição chamada 'id' para a tabela do DynamoDB 
+  Manter a tabela ao excluir a pilha do CloudFormation 
+  Habilita backups contínuos e recuperação point-in-time 

### Função do AWS Lambda
<a name="aws-lambda-function-3"></a>
+  Configuração da função do IAM de acesso a privilégio limitado para função do Lambda 
+  Ativar a reutilização de conexões com a função Keep-Alive para NodeJS Lambda 
+  Habilitar rastreamento do X-Ray
+  Ativar recursos de tratamento de falhas: habilitar bisect na função Erro; definir a Idade Máxima de Registro padrão (24 horas); definir Máximo de Tentativas de Repetição (500) padrão; e implantar a fila de letras mortas SQS como destino em caso de falha
+  SET variáveis de ambiente:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

### Amazon Cognito
<a name="amazon-cognito-1"></a>
+  Definir política de senha para grupos de usuários 
+  Impor o modo de segurança avançado para grupos de usuários 

### Amazon Elasticsearch Service
<a name="amazon-elasticsearch-service"></a>
+  Implantar as melhores práticas Alarmes do CloudWatch para o domínio do Elasticsearch 
+  Proteja o acesso ao painel do Kibana com grupos de usuários do Cognito 
+  Ativar criptografia no lado do servidor para o Elasticsearch Domain usando a chave KMS gerenciada pela AWS 
+  Habilitar a criptografia de nó a nó para o domínio do Elasticsearch 
+  Configuração do cluster para o domínio do Amazon ES 

## Architecture
<a name="architecture-7"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-dynamodb-stream-lambda-elasticsearch-kibana.png)


## GitHub
<a name="github-7"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-dynamodb-stream-lambda-elasticsearch-kibana](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-dynamodb-stream-lambda-elasticsearch-kibana)  | 

# aws-events-rule-kinesisfirehose-s3
<a name="aws-events-rule-kinesisfirehose-s3"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Controle de versão semântica](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1events\$1rule\$1kinesisfirehose\$1s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-events-rule-kinesisfirehose-s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.eventsrulekinesisfirehoses3  | 

## Overview
<a name="overview-35"></a>

 Este AWS Solutions Construct implementa uma regra do Amazon CloudWatch Events para enviar dados para um stream de distribuição do Amazon Kinesis Data Firehose conectado a um bucket do Amazon S3. 

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import * as cdk from '@aws-cdk/core';
import { EventsRuleToKinesisFirehoseToS3, EventsRuleToKinesisFirehoseToS3Props } from '@aws-solutions-constructs/aws-events-rule-kinesisfirehose-s3';

const eventsRuleToKinesisFirehoseToS3Props: EventsRuleToKinesisFirehoseToS3Props = {
    eventRuleProps: {
    schedule: events.Schedule.rate(cdk.Duration.minutes(5))
    }
};

new EventsRuleToKinesisFirehoseToS3(this, 'test-events-rule-firehose-s3', eventsRuleToKinesisFirehoseToS3Props);
```

## Initializer
<a name="initializer-35"></a>

```
new EventsRuleToKinesisFirehoseToS3(scope: Construct, id: string, props: EventsRuleToKinesisFirehoseToS3Props);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`EventsRuleToKinesisFirehoseToS3Props`](#pattern-construct-props-35) 

## Estrutura de padrão
<a name="pattern-construct-props-35"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  EventruleProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html)  |  Propriedades fornecidas pelo usuário para substituir as propriedades padrão da regra CloudWatch Events.  | 
|  Kinesis é Firehoseprops?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão do Kinesis Firehose Delivery Stream.  | 
|  ExistingBucketoBJ?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html)  |  Instância existente do objeto S3 Bucket. Se isso for fornecido, então também fornecendobucketPropsé um erro.  | 
|  Baldes?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para o bucket S3.  | 
|  LoggroupProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão do grupo de logs do CloudWatch Logs.  | 

## Propriedades de padrão
<a name="pattern-properties-35"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  EventsRule  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html)  |  Retorna uma instância da regra Eventos criada pelo padrão.  | 
|  KinesisFirehose  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html)  |  Retorna uma instância do stream de entrega do Kinesis Firehose criado pelo padrão.  | 
|  S3 Bucket  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket S3 criado pelo padrão.  | 
|  S3loggingBucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket de log criado pelo padrão para o bucket S3.  | 
|  Função de eventos?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função criada pela construção para a regra CloudWatch Events.  | 
|  KinesisFireHoserole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão para o stream de entrega do Kinesis Firehose.  | 
|  KinesisFireHoseLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Retorna uma instância do grupo de logs criado pelo padrão para o qual os logs de acesso do Kinesis Firehose são enviados.  | 

## Configuração padrão
<a name="default-settings-35"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Regras de Amazon CloudWatch Events
<a name="amazon-events-rule-35"></a>
+  Configure a função do IAM de acesso de menor privilégio para a Regra de Eventos publicar no Kinesis Firehose Delivery Stream. 

### Amazon Kinesis Firehose
<a name="amazon-kinesisfirehose-35"></a>
+  Ative o registro do CloudWatch para o Kinesis Firehose. 
+  Configurar a função do IAM de acesso de menor privilégio para o Amazon Kinesis Firehose. 

### Bucket do Amazon S3
<a name="amazon-s3-bucket-35"></a>
+  Configurar o log de acesso para bucket. 
+  Habilite a criptografia do lado do servidor para bucket usando a chave KMS gerenciada pela AWS. 
+  Ative o controle de versão do bucket. 
+  Não permitir acesso público para o bucket. 
+  Mantenha o bucket ao excluir a pilha do CloudFormation. 
+  Aplica a regra de ciclo de vida para mover versões de objetos não atuais para o armazenamento do Glacier após 90 dias. 

## Architecture
<a name="architecture-35"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-events-rule-kinesisfirehose-s3.png)


## GitHub
<a name="github-35"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-events-rule-kinesisfirehose-s3](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-events-rule-kinesisfirehose-s3)  | 

# aws-events-rule-kinesisstreams
<a name="aws-events-rule-kinesisstreams"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1events\$1rule\$1kinesisstream  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-events-rule-kinesisstreams  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.eventsrulekinesisstream  | 

## Overview
<a name="overview-36"></a>

 Este AWS Solutions Construct implementa uma regra de Amazon CloudWatch Events para enviar dados para um stream de dados do Amazon Kinesis. 

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import * as cdk from '@aws-cdk/core';
import {EventsRuleToKinesisStreams, EventsRuleToKinesisStreamsProps} from "@aws-solutions-constructs/aws-events-rule-kinesisstreams";

const props: EventsRuleToKinesisStreamsProps = {
    eventRuleProps: {
      schedule: events.Schedule.rate(Duration.minutes(5)),
    }
};

new EventsRuleToKinesisStreams(this, 'test-events-rule-kinesis-stream', props);
```

## Initializer
<a name="initializer-36"></a>

```
new EventsRuleToKinesisStreams(scope: Construct, id: string, props: EventsRuleToKinesisStreamsProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`EventsRuleToKinesisStreamsProps`](#pattern-construct-props-36) 

## Estrutura de padrão
<a name="pattern-construct-props-36"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  EventruleProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html)  |  Propriedades fornecidas pelo usuário para substituir as propriedades padrão da regra CloudWatch Events.  | 
|  ExistingStreamobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html)  |  Instância existente do Kinesis Stream, fornecendo tanto isso quantokinesisStreamPropscausará um erro.  | 
|  KinesisStreamprops?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.StreamProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.StreamProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para o stream do Kinesis.  | 
|  CreateCloudWatchAlms  |  boolean  |  Criar alarmes recomendados do CloudWatch.  | 

## Propriedades de padrão
<a name="pattern-properties-36"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  EventsRule  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html)  |  Retorna uma instância da regra Eventos criada pelo padrão.  | 
|  KinesisStream  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html)  |  Retorna uma instância do stream do Kinesis criado pelo padrão.  | 
|  Função de eventos?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função criada pela construção para a regra CloudWatch Events.  | 

## Configurações padrão
<a name="default-settings-36"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon CloudWatch Events
<a name="amazon-events-rule-36"></a>
+  Configure a função do IAM de acesso de menor privilégio para a Regra de Eventos publicar no Kinesis Data Stream. 

### Amazon Kinesis Stream
<a name="amazon-kinesisstream-36"></a>
+  Ative a criptografia do lado do servidor para o Kinesis Data Stream usando a chave KMS gerenciada da AWS. 

## Architecture
<a name="architecture-36"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-events-rule-kinesisstreams.png)


## GitHub
<a name="github-36"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-events-rule-kinesisstreams](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-events-rule-kinesisstreams)  | 

# aws-events-rule-lambda
<a name="aws-events-rule-lambda"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1events\$1rule\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-events-rule-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.eventsrulelambda  | 

## Overview
<a name="overview-9"></a>

 Este AWS Solutions Construct implementa uma regra de eventos da AWS e uma função do AWS Lambda. 

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
const { EventsRuleToLambdaProps, EventsRuleToLambda } from '@aws-solutions-constructs/aws-events-rule-lambda';

const props: EventsRuleToLambdaProps = {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    },
    eventRuleProps: {
      schedule: events.Schedule.rate(Duration.minutes(5))
    }
};

new EventsRuleToLambda(this, 'test-events-rule-lambda', props);
```

## Initializer
<a name="initializer-9"></a>

```
new EventsRuleToLambda(scope: Construct, id: string, props: EventsRuleToLambdaProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`EventsRuleToLambdaProps`](#pattern-construct-props-9) 

## Adereços de criação de padrão
<a name="pattern-construct-props-9"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  EventruleProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html)  |  O usuário forneceu EventruleProps para substituir os padrões  | 

## Propriedades de padrão
<a name="pattern-properties-9"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  EventsRule  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html)  |  Retorna uma instância da regra Eventos criada pelo padrão.  | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 

## Configuração padrão
<a name="default-settings-9"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon CloudWatch Events Regra
<a name="amazon-cloudwatch-events-rule"></a>
+  Conceder permissões de menor privilégio ao CloudWatch Events para acionar a função Lambda 

### Função do AWS Lambda
<a name="aws-lambda-function-5"></a>
+  Configuração da função do IAM de acesso de privilégios limitados para Lambda 
+  Ativar a reutilização de conexões com a função Keep-Alive para NodeJS Lambda 
+  Ativar rastreamento do X-Ray
+  Definição de variáveis de ambiente:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

## Architecture
<a name="architecture-9"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-events-rule-lambda.png)


## GitHub
<a name="github-9"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-events-rule-lambda](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-events-rule-lambda)  | 

# aws-events-rule-sns
<a name="aws-events-rule-sns"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1events\$1rule\$1sns  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-events-rule-sns  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.eventsrulesns  | 

## Overview
<a name="overview-30"></a>

 Esse padrão implementa uma regra do Amazon CloudWatch Events conectada a um tópico do Amazon SNS. 

 Aqui está uma definição de padrão implantável mínima: 

```
import { Duration } from '@aws-cdk/core';
import * as events from '@aws-cdk/aws-events';
import * as iam from '@aws-cdk/aws-iam';
import { EventsRuleToSnsProps, EventsRuleToSns } from "@aws-solutions-constructs/aws-events-rule-sns";

const props: EventsRuleToSnsProps = {
    eventRuleProps: {
      schedule: events.Schedule.rate(Duration.minutes(5)),
    }
};

const constructStack = new EventsRuleToSns(this, 'test-construct', props);

// Grant yourself permissions to use the Customer Managed KMS Key
const policyStatement = new iam.PolicyStatement({
    actions: ["kms:Encrypt", "kms:Decrypt"],
    effect: iam.Effect.ALLOW,
    principals: [ new iam.AccountRootPrincipal() ],
    resources: [ "*" ]
});

constructStack.encryptionKey?.addToResourcePolicy(policyStatement);
```

## Initializer
<a name="initializer-30"></a>

```
new EventsRuleToSNS(scope: Construct, id: string, props: EventsRuleToSNSProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`EventsRuleToSnsProps`](#pattern-construct-props-30) 

## Adereços de construção de padrão
<a name="pattern-construct-props-30"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  EventruleProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html)  |  Propriedades fornecidas pelo usuário para substituir as propriedades padrão da regra CloudWatch Events.  | 
|  ExistingTopicobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  Instância existente do objeto Tópico SNS, fornecendo tanto isso quantotopicPropscausará um erro.  | 
|  TopicProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.TopicProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.TopicProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão do tópico SNS. Ignorado se umexistingTopicObjé fornecido.  | 
|  EnableEncryptionWithCustomerManagedKey?  |  boolean  |  Se deve usar uma chave de criptografia gerenciada pelo cliente, gerenciada por este aplicativo CDK ou importada. Se importar uma chave de criptografia, ela deve ser especificada no campoencryptionKeypropriedade para esta construção.  | 
|  encryptionKey?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  Uma chave de criptografia opcional existente a ser usada em vez da chave de criptografia padrão.  | 
|  EncryptionKeyProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.KeyProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.KeyProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da chave de criptografia.  | 

## Propriedades de padrão
<a name="pattern-properties-30"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  EventsRule  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html)  |  Retorna uma instância da regra Eventos criada pelo padrão.  | 
|  snsTopic  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  Retorna uma instância do tópico SNS criado pelo padrão.  | 
|  encryptionKey  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  Retorna uma instância da chave de criptografia criada pelo padrão.  | 

## Configurações padrão
<a name="default-settings-30"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Regras de Amazon CloudWatch Events
<a name="amazon-events-rule-30"></a>
+  Conceda permissões de menor privilégio ao CloudWatch Events para publicar no tópico SNS. 

### Tópico do Amazon SNS
<a name="amazon-sns-30"></a>
+  Configurar permissões de acesso de menor privilégio para o tópico SNS. 
+  Habilitar a criptografia no lado do servidor para o tópico do SNS usando a chave do AWS KMS gerenciada pelo cliente. 
+  Aplique a criptografia de dados em trânsito 

## Architecture
<a name="architecture-30"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-events-rule-sns.png)


## GitHub
<a name="github-30"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-events-rule-sns](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-events-rule-sns)  | 

# aws-events-rule-sqs
<a name="aws-events-rule-sqs"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Controle de versão semântica](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1events\$1rule\$1sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-events-rule-sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.eventsrulesqs  | 

## Overview
<a name="overview-31"></a>

 Esse padrão implementa uma regra do Amazon CloudWatch Events conectada a uma fila do Amazon SQS. 

 Aqui está uma definição de padrão implantável mínima: 

```
import { Duration } from '@aws-cdk/core';
import * as events from '@aws-cdk/aws-events';
import * as iam from '@aws-cdk/aws-iam';
import { EventsRuleToSqsProps, EventsRuleToSqs } from "@aws-solutions-constructs/aws-events-rule-sqs";

const props: EventsRuleToSqsProps = {
    eventRuleProps: {
      schedule: events.Schedule.rate(Duration.minutes(5))
    }
};

const constructStack = new EventsRuleToSqs(this, 'test-construct', props);

// Grant yourself permissions to use the Customer Managed KMS Key
const policyStatement = new iam.PolicyStatement({
    actions: ["kms:Encrypt", "kms:Decrypt"],
    effect: iam.Effect.ALLOW,
    principals: [ new iam.AccountRootPrincipal() ],
    resources: [ "*" ]
});

constructStack.encryptionKey?.addToResourcePolicy(policyStatement);
```

## Initializer
<a name="initializer-31"></a>

```
new EventsRuleToSqs(scope: Construct, id: string, props: EventsRuleToSqsProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`EventsRuleToSqsProps`](#pattern-construct-props-31) 

## Adereços de construção de padrão
<a name="pattern-construct-props-31"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  EventruleProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html)  |  Propriedades fornecidas pelo usuário para substituir as propriedades padrão da regra CloudWatch Events.  | 
|  ExistingQueueobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Uma fila SQS opcional existente a ser usada em vez da fila padrão. Fornecendo tanto isso quantoqueuePropscausará um erro.  | 
|  QueueProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da fila SQS. Ignorado se umexistingQueueObjé fornecido.  | 
|  EnableQueuePurging?  |  boolean  |  Se deve conceder permissões adicionais para a função do Lambda, habilitando-o a limpar a fila SQS. Padronizado como false.  | 
|  ImplantyDeadletterQueue?  |  boolean  |  Se criar uma fila secundária para ser usada como uma dead letter letter queue. Padronizado como true.  | 
|  DeadletterQueueProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para a fila de letras inativas. Usado somente se odeployDeadLetterQueueestá definida como true.  | 
|  MaxReceiveCount?  |  number  |  O número de vezes que uma mensagem pode ser desenfileirada sem sucesso antes de ser movida para a fila de mensagens mortas. Padronizado como 15.  | 
|  EnableEncryptionWithCustomerManagedKey?  |  boolean  |  Se deve usar uma chave de criptografia gerenciada pelo cliente, gerenciada por este aplicativo CDK ou importada. Se importar uma chave de criptografia, ela deve ser especificada na caixaencryptionKeypropriedade para esta construção.  | 
|  encryptionKey?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  Uma chave de criptografia opcional existente a ser usada em vez da chave de criptografia padrão.  | 
|  EncryptionKeyProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.KeyProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.KeyProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da chave de criptografia.  | 

## Propriedades de padrão
<a name="pattern-properties-31"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  EventsRule  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html)  |  Retorna uma instância da regra Eventos criada pelo padrão.  | 
|  SQSqueue  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Retorna uma instância da fila SQS criada pelo padrão.  | 
|  encryptionKey  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  Retorna uma instância da chave de criptografia criada pelo padrão.  | 
|  DeadletterQueue?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Retorna uma instância da fila de letras mortas criada pelo padrão, se uma for implantada.  | 

## Configurações padrão
<a name="default-settings-31"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Regras de Amazon CloudWatch Events
<a name="amazon-events-rule-31"></a>
+  Conceda permissões de menor privilégio ao CloudWatch Events para publicar na Fila SQS. 

### Fila do Amazon SQS
<a name="amazon-sqs-31"></a>
+  Implante uma fila de mensagens mortas para a fila de origem. 
+  Ative a criptografia do lado do servidor para a fila de origem usando uma chave do AWS KMS gerenciada pelo cliente. 
+  Aplique a criptografia de dados em trânsito 

## Architecture
<a name="architecture-31"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-events-rule-sqs.png)


## GitHub
<a name="github-31"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-events-rule-sqs](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-events-rule-sqs)  | 

# aws-events-rule-step-function
<a name="aws-events-rule-step-function"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Controle de versão semântica](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1events\$1rule\$1step\$1function  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-events-rule-step-function  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.eventsrulestepfunction  | 

## Overview
<a name="overview-10"></a>

 Este AWS Solutions Construct implementa uma regra de eventos da AWS e uma função AWS Step. 

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { EventsRuleToStepFunction, EventsRuleToStepFunctionProps } from '@aws-solutions-constructs/aws-events-rule-step-function';

const startState = new stepfunctions.Pass(this, 'StartState');

const props: EventsRuleToStepFunctionProps = {
    stateMachineProps: {
      definition: startState
    },
    eventRuleProps: {
      schedule: events.Schedule.rate(Duration.minutes(5))
    }
};

new EventsRuleToStepFunction(this, 'test-events-rule-step-function-stack', props);
```

## Initializer
<a name="initializer-10"></a>

```
new EventsRuleToStepFunction(scope: Construct, id: string, props: EventsRuleToStepFunctionProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`EventsRuleToStepFunctionProps`](#pattern-construct-props-10) 

## Adereços de criação de padrão
<a name="pattern-construct-props-10"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  StateMachineProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachineProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachineProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão para SFN.StateMachine  | 
|  EventruleProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html)  |  O usuário forneceu EventruleProps para substituir os padrões  | 
|  CreateCloudWatchAlms  |  boolean  |  Criar alarmes recomendados do CloudWatch.  | 
|  LoggroupProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para o grupo de logs do CloudWatch Logs.  | 

## Propriedades de padrão
<a name="pattern-properties-10"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  CloudwatchAlarm?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html)  |  Retorna uma lista de um ou mais alarmes do CloudWatch criados pelo padrão.  | 
|  EventsRule  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.Rule.html)  |  Retorna uma instância da regra Eventos criada pelo padrão.  | 
|  StateMachine  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachine.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachine.html)  |  Retorna uma instância da máquina de estado criada pelo padrão.  | 
|  StateMachineLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Retorna uma instância do grupo de logs criado pelo padrão para a máquina de estado.  | 

## Configurações padrão
<a name="default-settings-10"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon CloudWatch Events
<a name="amazon-cloudwatch-events-rule-1"></a>
+  Conceder permissões de menor privilégio ao CloudWatch Events para acionar a função do Lambda 

### AWS Step Function
<a name="aws-step-function"></a>
+  Habilitar o log do CloudWatch para o 
+  Implante os alarmes do CloudWatch de práticas recomendadas para a função Step 

## Architecture
<a name="architecture-10"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-events-rule-step-function.png)


## GitHub
<a name="github-10"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-events-rule-step-function](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-events-rule-step-function)  | 

# aws-iot-kinesisfirehose-s3
<a name="aws-iot-kinesisfirehose-s3"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1iot\$1kinesisfirehose\$1s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-iot-kinesisfirehose-s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.iotkinesisfirehoses3  | 

## Overview
<a name="overview-11"></a>

 Este AWS Solutions Construct implementa uma regra de tópico do AWS IoT MQTT para enviar dados para um stream de entrega do Amazon Kinesis Data Firehose conectado a um bucket do Amazon S3. 

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { IotToKinesisFirehoseToS3Props, IotToKinesisFirehoseToS3 } from '@aws-solutions-constructs/aws-iot-kinesisfirehose-s3';

const props: IotToKinesisFirehoseToS3Props = {
    iotTopicRuleProps: {
        topicRulePayload: {
            ruleDisabled: false,
            description: "Persistent storage of connected vehicle telematics data",
            sql: "SELECT * FROM 'connectedcar/telemetry/#'",
            actions: []
        }
    }
};

new IotToKinesisFirehoseToS3(this, 'test-iot-firehose-s3', props);
```

## Initializer
<a name="initializer-11"></a>

```
new IotToKinesisFirehoseToS3(scope: Construct, id: string, props: IotToKinesisFirehoseToS3Props);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`IotToKinesisFirehoseToS3Props`](#pattern-construct-props-11) 

## Adereços de criação de padrão
<a name="pattern-construct-props-11"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  IOtTopicRuleProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRuleProps.html)  |  O usuário forneceu CFNTopicRuleProps para substituir os padrões  | 
|  Kinesis é Firehoseprops?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html)  |  Os adereços fornecidos pelo usuário opcionais para substituir os adereços padrão do Kinesis Firehose Delivery Stream  | 
|  ExistingBucketoBJ?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Instância existente do objeto S3 Bucket, fornecendo isso ebucketPropscausará um erro.  | 
|  Baldes?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html)  |  O usuário forneceu adereços para substituir os adereços padrão para o bucket do S3. Se isso for fornecido, então também fornecendobucketPropsé um erro.  | 
|  LoggroupProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para o grupo de logs do CloudWatch Logs.  | 

## Propriedades do padrão
<a name="pattern-properties-11"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  IOtActionsRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão para a regra de IoT.  | 
|  IOtTopicRule  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRule.html)  |  Retorna uma instância da regra de tópico IoT criada pelo padrão.  | 
|  KinesisFirehose  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html)  |  Retorna uma instância do stream de entrega do Kinesis Firehose criado pelo padrão.  | 
|  KinesisFireHoseLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Retorna uma instância do grupo de logs criado pelo padrão para o qual os logs de acesso do Kinesis Firehose são enviados.  | 
|  KinesisFireHoserole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão para o stream de entrega do Kinesis Firehose.  | 
|  S3 Bucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket S3 criado pelo padrão.  | 
|  S3loggingBucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket de log criado pelo padrão para o bucket S3.  | 

## Configurações padrão
<a name="default-settings-11"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon IoT
<a name="amazon-iot-rule"></a>
+  Configurar a função do IAM de acesso de menor privilégio para o Amazon IoT 

### Amazon Kinesis Firehose
<a name="amazon-kinesis-firehose"></a>
+  Ativar o registro do CloudWatch para o Kinesis Firehose 
+  Configurar a função do IAM de acesso de menor privilégio para o Amazon Kinesis Firehose 

### Bucket do Amazon S3
<a name="amazon-s3-bucket-1"></a>
+  Configurar registro de acesso para o bucket do S3 
+  Ativar criptografia no lado do servidor para o S3 Bucket usando a chave KMS gerenciada pela AWS 
+  Ativar o controle de versão para o bucket do S3 
+  Não permitir acesso público para o S3 Bucket 
+  Manter o bucket do S3 ao excluir a pilha do CloudFormation 
+  Aplica regra de ciclo de vida para mover versões de objetos não atuais para o armazenamento do Glacier após 90 dias 

## Architecture
<a name="architecture-11"></a>

![\[Workflow diagram showing spray bottle, cleaning, bucket, and cloud search icons with arrows.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-iot-kinesisfirehose-s3.png)


## GitHub
<a name="github-11"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-iot-kinesisfirehose-s3](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-iot-kinesisfirehose-s3)  | 

# aws-iot-lambda
<a name="aws-iot-lambda"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1iot\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-iot-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.iotlambda  | 

## Overview
<a name="overview-13"></a>

 Este padrão de constrói soluções da AWS implementa uma regra de tópico do AWS IoT MQTT e um padrão de função do AWS Lambda. 

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { IotToLambdaProps, IotToLambda } from '@aws-solutions-constructs/aws-iot-lambda';

const props: IotToLambdaProps = {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    },
    iotTopicRuleProps: {
        topicRulePayload: {
            ruleDisabled: false,
            description: "Processing of DTC messages from the AWS Connected Vehicle Solution.",
            sql: "SELECT * FROM 'connectedcar/dtc/#'",
            actions: []
        }
    }
};

new IotToLambda(this, 'test-iot-lambda-integration', props);
```

## Initializer
<a name="initializer-13"></a>

```
new IotToLambda(scope: Construct, id: string, props: IotToLambdaProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`IotToLambdaProps`](#pattern-construct-props-13) 

## Adereços de construção de padrão
<a name="pattern-construct-props-13"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  IotTopicRuleProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRuleProps.html)  |  O usuário forneceu CFNTopicRuleProps para substituir os padrões  | 

## Propriedades de padrão
<a name="pattern-properties-13"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  IOtTopicRule  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRule.html)  |  Retorna uma instância da regra de tópico IoT criada pelo padrão.  | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 

## Configurações padrão
<a name="default-settings-13"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Regra do Amazon IoT
<a name="amazon-iot-rule-2"></a>
+  Configurar a função do IAM de acesso de menor privilégio para o Amazon IoT. 

### Função do AWS Lambda
<a name="aws-lambda-function-7"></a>
+  Configurar a função do IAM de acesso de privilégio limitado para a função Lambda 
+  Habilite a reutilização de conexões com a função Keep-Alive para NodeJS Lambda. 
+  Ativar rastreamento de X-Ray.
+  SET variáveis de ambiente:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

## Architecture
<a name="architecture-13"></a>

![\[Diagram showing data flow from a source to Lambda function and then to cloud search.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-iot-lambda.png)


## GitHub
<a name="github-13"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-iot-lambda](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-iot-lambda)  | 

# aws-iot-lambda-dynamodb
<a name="aws-iot-lambda-dynamodb"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1iot\$1lambda\$1dynamodb  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-iot-lambda-dynamodb  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.iotlambdadynamodb  | 

## Overview
<a name="overview-12"></a>

 Este padrão de constrói soluções da AWS implementa uma regra de tópico do AWS IoT, uma função do AWS Lambda e uma tabela do Amazon DynamoDB com as permissões menos privilegiadas. 

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { IotToLambdaToDynamoDBProps,  IotToLambdaToDynamoDB } from '@aws-solutions-constructs/aws-iot-lambda-dynamodb';

const props: IotToLambdaToDynamoDBProps = {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    },
    iotTopicRuleProps: {
        topicRulePayload: {
            ruleDisabled: false,
            description: "Processing of DTC messages from the AWS Connected Vehicle Solution.",
            sql: "SELECT * FROM 'connectedcar/dtc/#'",
            actions: []
        }
    }
};

new IotToLambdaToDynamoDB(this, 'test-iot-lambda-dynamodb-stack', props);
```

## Initializer
<a name="initializer-12"></a>

```
new IotToLambdaToDynamoDB(scope: Construct, id: string, props: IotToLambdaToDynamoDBProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`IotToLambdaToDynamoDBProps`](#pattern-construct-props-12) 

## Props de criação de padrão
<a name="pattern-construct-props-12"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  IOtTopicRuleProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRuleProps.html)  |  O usuário forneceu adereços para substituir os adereços padrão  | 
|  DynamotableProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html)  |  Os adereços fornecidos pelo usuário opcionais para substituir os adereços padrão da Tabela do DynamoDB  | 
|  TablePermissions?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html)  |  Permissões de tabela opcionais a serem concedidas à função do Lambda. Uma das seguintes opções podem ser especificadas:All,Read,ReadWrite, ouWrite.  | 

## Propriedades de padrão
<a name="pattern-properties-12"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  DynamoTable  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html)  |  Retorna uma instância da tabela do DynamoDB criada pelo padrão.  | 
|  IOtTopicRule  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRule.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iot.CfnTopicRule.html)  |  Retorna uma instância da regra de tópico IoT criada pelo padrão.  | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 

## Configurações padrão
<a name="default-settings-12"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon IoT Regra
<a name="amazon-iot-rule-1"></a>
+  Configurar a função do IAM de acesso de menor privilégio para o Amazon IoT. 

### Função do AWS Lambda
<a name="aws-lambda-function-6"></a>
+  Configurar a função do IAM de acesso de privilégio limitado para a função Lambda 
+  Habilite a reutilização de conexões com a função Keep-Alive para NodeJS Lambda. 
+  Ativar rastreamento do X-Ray.
+  Definir variáveis de ambiente:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

### Amazon DynamoDB Tabela
<a name="amazon-dynamodb-table-3"></a>
+  Defina o modo de faturamento da Tabela do DynamoDB como On-Demand (Pagamento por solicitação). 
+  Habilite a criptografia do lado do servidor para a tabela do DynamoDB usando a chave KMS gerenciada pela AWS. 
+  Cria uma chave de partição chamada 'id' para a tabela do DynamoDB. 
+  Manter a tabela ao excluir a pilha do CloudFormation. 
+  Permita backups contínuos e recuperação point-in-time. 

## Architecture
<a name="architecture-12"></a>

![\[Data flow diagram showing API Gateway, AWS Lambda, and Amazon CloudSearch components.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-iot-lambda-dynamodb.png)


## GitHub
<a name="github-12"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-iot-lambda-dynamodb](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-iot-lambda-dynamodb)  | 

# aws-kinesisfirehose-s3
<a name="aws-kinesisfirehose-s3"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Controle de versão semântica](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws-kinesis-firehose-s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-kinesisfirehose-s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.kinesisfirehoses3  | 

## Overview
<a name="overview-15"></a>

 Este AWS Solutions Construct implementa um fluxo de entrega do Amazon Kinesis Data Firehose conectado a um bucket do Amazon S3. 

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { KinesisFirehoseToS3 } from '@aws-solutions-constructs/aws-kinesisfirehose-s3';

new KinesisFirehoseToS3(this, 'test-firehose-s3', {});
```

## Initializer
<a name="initializer-15"></a>

```
new KinesisFirehoseToS3(scope: Construct, id: string, props: KinesisFirehoseToS3Props);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`KinesisFirehoseToS3Props`](#pattern-construct-props-15) 

## Props de criação de padrão
<a name="pattern-construct-props-15"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  Baldes?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão para o bucket do S3.  | 
|  ExistingBucketoBJ?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html)  |  Instância existente opcional do S3 Bucket. Se isso for fornecido, então também fornecendobucketPropsé um erro.  | 
|  ExistingLoggingBucketoBJ?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html)  |  Instância existente opcional de log do S3 Bucket para o S3 Bucket criado pelo padrão.  | 
|  Kinesis é Firehoseprops?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html) \$1 any  |  O usuário opcional forneceu adereços para substituir os adereços padrão do Kinesis Firehose Delivery Stream.  | 
|  LoggroupProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão para o CloudWatchLogs LogGroup.  | 

## Propriedades do padrão
<a name="pattern-properties-15"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  KinesisFirehose  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html)  |  Retorna uma instância de KinesisFireHose.cfnDeliveryStream criada pela construção.  | 
|  KinesisFireHoseLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Retorna uma instância do logs.logGroup criado pela construção para o stream de entrega do Kinesis Data Firehose.  | 
|  KinesisFireHoserole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância do IAM.Role criado pela construção para o stream de entrega do Kinesis Data Firehose.  | 
|  S3 Bucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância de S3.bucket criada pela construção.  | 
|  S3loggingBucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância de S3.bucket criada pela construção como o bucket de log para o bucket primário.  | 

## Configurações padrão
<a name="default-settings-15"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon Kinesis Firehose
<a name="amazon-kinesis-firehose-2"></a>
+  Ativar o registro do CloudWatch para o Kinesis Firehose 
+  Configurar a função do IAM de acesso de menor privilégio para o Amazon Kinesis Firehose 

### Amazon S3 Bucket
<a name="amazon-s3-bucket-3"></a>
+  Configurar registro de acesso para o bucket do S3 
+  Ativar criptografia no lado do servidor para o S3 Bucket usando a chave KMS gerenciada pela AWS 
+  Ativar o controle de versão para o bucket do S3 
+  Não permitir acesso público para o S3 Bucket 
+  Manter o bucket do S3 ao excluir a pilha do CloudFormation 
+  Aplique a criptografia de dados em trânsito 
+ Aplica regra de ciclo de vida para mover versões de objetos não atuais para o armazenamento do Glacier após 90 dias 

## Architecture
<a name="architecture-15"></a>

![\[Diagram showing data flow between icons for spray nozzle, bucket, cloud search, and bucket.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-kinesisfirehose-s3.png)


## GitHub
<a name="github-15"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-kinesisfirehose-s3](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-kinesisfirehose-s3)  | 

# aws-kinesisfirehose-s3-e-kinesisanalytics
<a name="aws-kinesisfirehose-s3-and-kinesisanalytics"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Semantic Versioning](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1kinesisfirehose\$1s3\$1and\$1kinesisanalytics  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-kinesisfirehose-s3-and-kinesisanalytics  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.kinesisfirehoses3kinesisanalytics  | 

## Overview
<a name="overview-14"></a>

 Este AWS Solutions Construct implementa um stream de entrega do Amazon Kinesis Firehose conectado a um bucket do Amazon S3 e a um aplicativo do Amazon Kinesis Analytics. 

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { KinesisFirehoseToAnalyticsAndS3 } from '@aws-solutions-constructs/aws-kinesisfirehose-s3-and-kinesisanalytics';

new KinesisFirehoseToAnalyticsAndS3(this, 'FirehoseToS3AndAnalyticsPattern', {
    kinesisAnalyticsProps: {
        inputs: [{
            inputSchema: {
                recordColumns: [{
                    name: 'ticker_symbol',
                    sqlType: 'VARCHAR(4)',
                    mapping: '$.ticker_symbol'
                }, {
                    name: 'sector',
                    sqlType: 'VARCHAR(16)',
                    mapping: '$.sector'
                }, {
                    name: 'change',
                    sqlType: 'REAL',
                    mapping: '$.change'
                }, {
                    name: 'price',
                    sqlType: 'REAL',
                    mapping: '$.price'
                }],
                recordFormat: {
                    recordFormatType: 'JSON'
                },
                recordEncoding: 'UTF-8'
            },
            namePrefix: 'SOURCE_SQL_STREAM'
        }]
    }
});
```

## Initializer
<a name="initializer-14"></a>

```
new KinesisFirehoseToAnalyticsAndS3(scope: Construct, id: string, props: KinesisFirehoseToAnalyticsAndS3Props);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`KinesisFirehoseToAnalyticsAndS3Props`](#pattern-construct-props-14) 

## Padrão de criação
<a name="pattern-construct-props-14"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  Kinesis é Firehoseprops?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão do stream de entrega do Kinesis Firehose.  | 
|  KinesisAnalyticsProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisanalytics.CfnApplicationProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisanalytics.CfnApplicationProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão do aplicativo Kinesis Analytics.  | 
|  ExistingBucketoBJ?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html)  |  Instância existente do objeto S3 Bucket. Se isso for fornecido, então também fornecendobucketPropsé um erro. \$1  | 
|  Baldes?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão do bucket. Ignorado se umexistingBucketObjé fornecido.  | 
|  LoggroupProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  Opcionais fornecidos pelo usuário para substituir os adereços padrão para o grupo de logs do CloudWatch Logs.  | 

## Propriedades de padrão
<a name="pattern-properties-14"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  KinesisAnalytics  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisanalytics.CfnApplication.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisanalytics.CfnApplication.html)  |  Retorna uma instância do aplicativo Kinesis Analytics criado pelo padrão.  | 
|  KinesisFirehose  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html)  |  Retorna uma instância do stream de entrega do Kinesis Firehose criado pelo padrão.  | 
|  KinesisFireHoseLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Retorna uma instância do grupo de logs criado pelo padrão para o qual os logs de acesso do Kinesis Firehose são enviados.  | 
|  KinesisFireHoserole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão para o stream de entrega do Kinesis Firehose.  | 
|  S3Bucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket S3 criado pelo padrão.  | 
|  S3loggingBucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket de log criado pelo padrão para o bucket S3.  | 

## Configurações padrão
<a name="default-settings-14"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon Kinesis Firehose
<a name="amazon-kinesis-firehose-1"></a>
+  Ativar o registro do CloudWatch para o Kinesis Firehose 
+  Configurar a função do IAM de acesso de menor privilégio para o Amazon Kinesis Firehose 

### Amazon S3 Bucket
<a name="amazon-s3-bucket-2"></a>
+  Configurar registro de acesso para o bucket do S3 
+  Ativar criptografia no lado do servidor para o S3 Bucket usando a chave KMS gerenciada pela AWS 
+  Ativar o controle de versão para o bucket do S3 
+  Não permitir acesso público para o S3 Bucket 
+  Manter o bucket do S3 ao excluir a pilha do CloudFormation 
+  Aplique a criptografia de dados em trânsito 
+ Aplica regra de ciclo de vida para mover versões de objetos não atuais para o armazenamento do Glacier após 90 dias 

### Amazon Kinesis Data Analytics
<a name="amazon-kinesis-data-analytics"></a>
+  Configurar a função do IAM de acesso de menor privilégio para o Amazon Kinesis Analytics 

## Architecture
<a name="architecture-14"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-kinesisfirehose-s3-and-kinesisanalytics.png)


## GitHub
<a name="github-14"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-kinesisfirehose-s3-and-kinesisanalytics](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-kinesisfirehose-s3-and-kinesisanalytics)  | 

# aws-kinesisstreams-gluejob
<a name="aws-kinesisstreams-gluejob"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1kinesis\$1streams\$1gluejob  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-kinesisstreams-gluejob  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.kinesisstreamsgluejob  | 

## Overview
<a name="overview-40"></a>

 Este AWS Solutions Construct implanta um Amazon Kinesis Data Stream e configura um AWS Glue Job para executar a transformação ETL personalizada com os recursos/propriedades apropriados para interação e segurança. Ele também cria um bucket do Amazon S3 no qual o script Python para o AWS Glue Job pode ser carregado.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import * as glue from '@aws-cdk/aws-glue';
import * as s3assets from '@aws-cdk/aws-s3-assets';
import { KinesisstreamsToGluejob } from '@aws-solutions-constructs/aws-kinesisstreams-gluejob';

const fieldSchema: glue.CfnTable.ColumnProperty[] = [
    {
        name: 'id',
        type: 'int',
        comment: 'Identifier for the record',
    },
    {
        name: 'name',
        type: 'string',
        comment: 'Name for the record',
    },
    {
        name: 'address',
        type: 'string',
        comment: 'Address for the record',
    },
    {
        name: 'value',
        type: 'int',
        comment: 'Value for the record',
    },
];

const customEtlJob = new KinesisstreamsToGluejob(this, 'CustomETL', {
    glueJobProps: {
        command: {
            name: 'gluestreaming',
            pythonVersion: '3',
            scriptLocation: new s3assets.Asset(this, 'ScriptLocation', {
                path: `${__dirname}/../etl/transform.py`,
            }).s3ObjectUrl,
        },
    },
    fieldSchema: fieldSchema,
});
```

## Initializer
<a name="initializer-40"></a>

```
new KinesisstreamsToGluejob(scope: Construct, id: string, props: KinesisstreamsToGluejobProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`KinesisstreamsToGluejobProps`](#pattern-construct-props-40) 

## Adereços de construção padrão
<a name="pattern-construct-props-40"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  KinesisStreamprops?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.StreamProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.StreamProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para o fluxo de dados do Amazon Kinesis.  | 
|  ExistingStreamobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html)  |  Instância existente do Kinesis Stream, fornecendo tanto isso quantokinesisStreamPropscausará um erro.  | 
|  GlueJobprops?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnJobProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnJobProps.html)  |  Props fornecidos pelo usuário para substituir os adereços padrão para o trabalho do AWS Glue.  | 
|  ExistingGlueJob?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnJob.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnJob.html)  |  Instância existente do AWS Glue Job, fornecendo tanto isso quantoglueJobPropscausará um erro.  | 
|  ExistingDatabase?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnDatabase.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnDatabase.html)  |  Banco de dados existente do AWS Glue para ser usado com essa construção. Se isso estiver definido, entãodatabasePropsÉ ignorado. | 
|  DatabaseProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnDatabaseProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnDatabaseProps.html)  |  Props fornecidos pelo usuário para substituir os adereços padrão usados para criar o banco de dados do AWS Glue. | 
|  ExistingTable?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnTable.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnTable.html)  |  Instância existente da tabela AWS Glue. Se isso estiver definido, entãotablePropsefieldSchemasão ignorados. | 
|  Maçonetes?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnTableProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnTableProps.html)  |  Props fornecidos pelo usuário para substituir adereços padrão usados para criar uma tabela do AWS Glue. | 
|  FieldSchema?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnTable.ColumnProperty.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnTable.ColumnProperty.html)  |  Estrutura de esquema fornecida pelo usuário para criar uma tabela do AWS Glue. | 
|  Saída DataStore?  |  [https://github.com/awslabs/aws-solutions-constructs/blob/3fd15e984943fe295690d8b0654d77157ffda8e3/source/patterns/%40aws-solutions-constructs/aws-kinesisstreams-gluejob/README.md#sinkdatastoreprops](https://github.com/awslabs/aws-solutions-constructs/blob/3fd15e984943fe295690d8b0654d77157ffda8e3/source/patterns/%40aws-solutions-constructs/aws-kinesisstreams-gluejob/README.md#sinkdatastoreprops)  |  Props fornecidos pelo usuário para um bucket do Amazon S3 que armazena a saída do trabalho do AWS Glue. Atualmente só é compatível com o Amazon S3 como o tipo de armazenamento de dados de saída. | 

## SinkDataStoreProps
<a name="sink-properties-40"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  Existings3OutputBucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Instância existente do bucket do S3 em que os dados devem ser gravados. Fornecendo tanto isso quantooutputBucketPropscausará um erro.  | 
|  OutputBucketProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html)  |  Propriedades de bucket fornecidas pelo usuário para criar o bucket do Amazon S3 usado para armazenar a saída do trabalho do AWS Glue. | 
|  DataStoreType  |  [https://github.com/awslabs/aws-solutions-constructs/blob/3fd15e984943fe295690d8b0654d77157ffda8e3/source/patterns/%40aws-solutions-constructs/aws-kinesisstreams-gluejob/README.md#sinkstoretype](https://github.com/awslabs/aws-solutions-constructs/blob/3fd15e984943fe295690d8b0654d77157ffda8e3/source/patterns/%40aws-solutions-constructs/aws-kinesisstreams-gluejob/README.md#sinkstoretype)  |  Tipo de armazenamento de dados do coletor  | 

## SinkStoreType
<a name="sink-type-40"></a>

Enumeração de tipos de armazenamento de dados que podem incluir S3, DynamoDB, DocumentDB, RDS ou Redshift. Implementação de construção atual suporta apenas S3, mas potencial para adicionar outros tipos de saída no futuro.


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  S3  |  string  |  Tipo de armazenamento do S3  | 

## Configurações padrão
<a name="default-settings-40"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon Kinesis Stream
<a name="w23aab9d115c29b5"></a>
+  Configure a função do IAM de acesso de menor privilégio para o fluxo de dados do Amazon Kinesis. 
+  Ative a criptografia no lado do servidor para o Amazon Kinesis Stream usando uma chave KMS gerenciada da AWS. 
+  Implante os alarmes de práticas recomendadas do Amazon CloudWatch para o Amazon Kinesis Stream. 

### Job Glue
<a name="w23aab9d115c29b7"></a>
+  Crie uma configuração de segurança do AWS Glue que configura a criptografia para CloudWatch, Job Bookmarks e S3. CloudWatch e Job Bookmarks são criptografados usando a AWS Managed KMS Key criada para o AWS Glue Service. O bucket S3 é configurado com o modo de criptografia SSE-S3. 
+  Configurar políticas de função de serviço que permitem que o AWS Glue leia do Amazon Kinesis Data Streams. 

### Banco de dados cola
<a name="w23aab9d115c29b9"></a>
+  Crie um banco de dados AWS Glue. Uma tabela do AWS Glue será adicionada ao banco de dados. Esta tabela define o esquema para os registros armazenados em buffer no Amazon Kinesis Data Stream. 

### Mesa Glue
<a name="w23aab9d115c29c11"></a>
+  Crie uma tabela do AWS Glue. A definição do esquema de tabela é baseada na estrutura JSON dos registros armazenados em buffer no Amazon Kinesis Data Stream. 

### Função do IAM
<a name="w23aab9d115c29c13"></a>
+  Uma função de execução de trabalho que tem privilégios para 1) ler o script ETL no local do bucket do Amazon S3, 2) ler registros do Amazon Kinesis Data Stream e 3) executar o trabalho do Amazon Glue. 

### Balde S3 de saída
<a name="w23aab9d115c29c15"></a>
+  Um bucket do Amazon S3 para armazenar a saída da transformação do ETL. Esse bucket será passado como um argumento para o trabalho criado do AWS Glue para que ele possa ser usado no script ETL para gravar dados nele. 

## Architecture
<a name="architecture-40"></a>

![\[AWS Glue job diagram showing data flow from Kinesis to various storage destinations.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-kinesisstreams-gluejob.png)


## GitHub
<a name="github-40"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-kinesisstreams-gluejob](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-kinesisstreams-gluejob)  | 

# aws-kinesisstreams-kinesisfirehose-s3
<a name="aws-kinesisstreams-kinesisfirehose-s3"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1kinesisstreams\$1kinesisfirehose\$1s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-kinesis-streams-kinesis-firehose-s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.kinesisstreamskinesisfirehoses3  | 

## Overview
<a name="overview-34"></a>

 Este AWS Solutions Construct implementa um Amazon Kinesis Data Stream (KDS) conectado ao stream de entrega do Amazon Kinesis Data Firehose (KDF) conectado a um bucket do Amazon S3. 

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { KinesisStreamsToKinesisFirehoseToS3 } from '@aws-solutions-constructs/aws-kinesisstreams-kinesisfirehose-s3';

new KinesisStreamsToKinesisFirehoseToS3(this, 'test-stream-firehose-s3', {});
```

## Initializer
<a name="initializer-34"></a>

```
new KinesisStreamsToKinesisFirehoseToS3(scope: Construct, id: string, props: KinesisStreams...ToS3Props);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`KinesisStreams...ToS3Props`](#pattern-construct-props-34) 

## Adereços de criação de padrão
<a name="pattern-construct-props-34"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  Baldes?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html)  |  Os adereços fornecidos pelo usuário opcionais para substituir os adereços padrão para o bucket do S3.  | 
|  CreateCloudWatchalarms?  |  boolean  |  Opcional se deseja criar alarmes recomendados do CloudWatch.  | 
|  ExistingBucketoBJ?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html)  |  Instância existente opcional do objeto S3 Bucket. Se isso for fornecido, então também fornecendobucketPropsé um erro.  | 
|  ExistingLoggingBucketoBJ?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html)  |  Instância existente opcional do objeto S3 Bucket de log para o S3 Bucket criado pelo padrão.  | 
|  ExistingStreamobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html)  |  Instância existente do Kinesis Stream, fornecendo tanto isso quantokinesisStreamPropscausará um erro.  | 
|  Kinesis é Firehoseprops?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStreamProps.html) \$1 any  |  O usuário opcional forneceu adereços para substituir os adereços padrão do Kinesis Firehose Delivery Stream.  | 
|  KinesisStreamprops?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.StreamProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.StreamProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão para o stream do Kinesis.  | 
|  LoggroupProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão para o Grupo de Logs do CloudWatchLogs.  | 

## Propriedades do padrão
<a name="pattern-properties-34"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  CloudwatchAlarm?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html)  |  Retorna uma lista de instâncias do CloudWatch.Alarm criadas pela construção.  | 
|  KinesisFirehose  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesisfirehose.CfnDeliveryStream.html)  |  Retorna uma instância de KinesisFireHose.cfnDeliveryStream criada pela construção.  | 
|  KinesisFireHoseLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Retorna uma instância do logs.logGroup criado pela construção para o stream de entrega do Kinesis Data Firehose.  | 
|  KinesisFireHoserole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância do IAM.Role criado pela construção para o stream de entrega do Kinesis Data Firehose.  | 
|  KinesisStreamRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância do IAM.Role criado pela construção para o stream do Kinesis.  | 
|  S3Bucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância de S3.bucket criada pela construção.  | 
|  S3loggingBucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância de S3.bucket criada pela construção como o bucket de log para o bucket primário.  | 

## Configurações padrão
<a name="default-settings-34"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon Kinesis Stream
<a name="amazon-kinesis-stream-34"></a>
+  Configurar a função do IAM de acesso de menor privilégio para Kinesis Stream 
+  Ativar criptografia no lado do servidor para o Kinesis Stream usando a chave KMS gerenciada da AWS 
+  Implantar práticas recomendadas Alarmes do CloudWatch para o Kinesis Stream 

### Amazon Kinesis Firehose
<a name="amazon-kinesis-firehose-34"></a>
+  Ativar o registro do CloudWatch para o Kinesis Firehose 
+  Configurar a função do IAM de acesso de menor privilégio para o Amazon Kinesis Firehose 

### Bucket do Amazon S3
<a name="amazon-s3-bucket-34"></a>
+  Configurar registro de acesso para bucket do S3 
+  Ativar criptografia no lado do servidor para bucket do S3 usando a chave KMS gerenciada pela AWS 
+  Aplique a criptografia de dados em trânsito 
+  Ativar controle de versão do bucket 
+  Não permitir acesso público para bucket do S3 
+  Manter o bucket do S3 ao excluir a pilha do CloudFormation 
+  Aplicar regra de ciclo de vida para mover versões de objetos não atuais para o armazenamento do Glacier após 90 dias 

## Architecture
<a name="architecture-34"></a>

![\[Workflow diagram showing data flow between components for face liveness detection.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-kinesisstreams-kinesisfirehose-s3.png)


## GitHub
<a name="github-34"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-kinesisstreams-kinesisfirehose-s3](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-kinesisstreams-kinesisfirehose-s3)  | 

# aws-kinesisstreams-lambda
<a name="aws-kinesisstreams-lambda"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws-kinesis-streams-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-kinesisstreams-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.kinesisstreamslambda  | 

## Overview
<a name="overview-16"></a>

 Este AWS Solutions Construct implanta uma função Kinesis Stream e Lambda com os recursos/propriedades apropriados para interação e segurança. 

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { KinesisStreamsToLambda } from '@aws-solutions-constructs/aws-kinesisstreams-lambda';

new KinesisStreamsToLambda(this, 'KinesisToLambdaPattern', {
    kinesisEventSourceProps: {
        startingPosition: lambda.StartingPosition.TRIM_HORIZON,
        batchSize: 1
    },
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
});
```

## Initializer
<a name="initializer-16"></a>

```
new KinesisStreamsToLambda(scope: Construct, id: string, props: KinesisStreamsToLambdaProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`KinesisStreamsToLambdaProps`](#pattern-construct-props-16) 

## Props de criação de padrão
<a name="pattern-construct-props-16"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  KinesisStreamprops?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.StreamProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.StreamProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão do stream do Kinesis.  | 
|  ExistingStreamobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html)  |  Instância existente do Kinesis Stream, fornecendo tanto isso quantokinesisStreamPropscausará um erro.  | 
|  KinesiSeventSourceProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda-event-sources.KinesisEventSourceProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda-event-sources.KinesisEventSourceProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para o mapeamento de origem de evento do Lambda.  | 
|  CreateCloudWatchAlms  |  boolean  |  Criar alarmes recomendados do CloudWatch.  | 

## Propriedades de padrão
<a name="pattern-properties-16"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  KinesisStream  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html)  |  Retorna uma instância do stream do Kinesis criado pelo padrão.  | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 
|  KinesisStreamRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão para o stream do Kinesis.  | 
|  CloudwatchAlarm?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html)  |  Retorna uma lista de um ou mais alarmes do CloudWatch criados pelo padrão.  | 

## Configurações padrão
<a name="default-settings-16"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon Kinesis Stream
<a name="amazon-kinesis-stream"></a>
+  Configurar a função do IAM de acesso de menor privilégio para Kinesis Stream. 
+  Ative a criptografia do lado do servidor para o Kinesis Stream usando a chave KMS gerenciada pela AWS. 
+  Implante os Alarmes do CloudWatch de práticas recomendadas para o Kinesis Stream. 

### Função do AWS Lambda
<a name="aws-lambda-function-8"></a>
+  Configurar a função do IAM de acesso de privilégio limitado para a função Lambda 
+  Habilite a reutilização de conexões com a função Keep-Alive para NodeJS Lambda. 
+  Ativar rastreamento do X-Ray.
+  Ativar recursos de manipulação de falhas: habilitar bisect na função Erro; definir a Idade Máxima de Registro padrão (24 horas); definir Máximo de Tentativas de Repetição (500) padrão; e implantar a fila de letras mortas SQS como destino em caso de falha.
+  SET DEFAULT
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

## Architecture
<a name="architecture-16"></a>

![\[Diagram showing data flow between Serviços da AWS: CloudWatch, Lambda, and IAM Role.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-kinesisstreams-lambda.png)


## GitHub
<a name="github-16"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-kinesisstreams-lambda](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-kinesisstreams-lambda)  | 

# aws-lambda-dynamodb
<a name="aws-lambda-dynamodb"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1dynamodb  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-dynamodb  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdadynamodb  | 

## Overview
<a name="overview-17"></a>

 Este AWS Solutions Construct implementa a função do AWS Lambda e a tabela do Amazon DynamoDB com permissões de menor privilégio. 

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { LambdaToDynamoDBProps,  LambdaToDynamoDB } from '@aws-solutions-constructs/aws-lambda-dynamodb';

const props: LambdaToDynamoDBProps = {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
};

new LambdaToDynamoDB(this, 'test-lambda-dynamodb-stack', props);
```

## Initializer
<a name="initializer-17"></a>

```
new LambdaToDynamoDB(scope: Construct, id: string, props: LambdaToDynamoDBProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`LambdaToDynamoDBProps`](#pattern-construct-props-17) 

## Aderetos de criação de padrão
<a name="pattern-construct-props-17"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  DynamotableProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html)  |  Os adereços fornecidos pelo usuário opcionais para substituir os adereços padrão da Tabela do DynamoDB  | 
|  ExistingTableobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html)  |  Instância existente do objeto de tabela do DynamoDB, fornecendo tanto isso quantodynamoTablePropscausará um erro.  | 
|  TablePermissions?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.TableProps.html)  |  Permissões de tabela opcionais a serem concedidas à função do Lambda. Uma das seguintes opções podem ser especificadas:All,Read,ReadWrite, ouWrite.  | 
|  TableEnvironmentVariableName?  |  string  |  Nome opcional para o conjunto de variáveis de ambiente de tabela do DynamoDB para a função Lambda.  | 
|  ExistingVPC?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  Uma VPC opcional existente na qual esse padrão deve ser implantado. Quando implantada em uma VPC, a função do Lambda usará ENIs na VPC para acessar recursos de rede e um Gateway Endpoint será criado na VPC para Amazon DynamoDB. Se uma VPC existente for fornecida, odeployVpcA propriedade não pode sertrue. Isso usaec2.IVpcpara permitir que os clientes forneçam VPCs que existem fora da pilha usando o[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options)Método do.  | 
|  VPCProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da nova VPC.enableDnsHostnames,enableDnsSupport,natGateways, esubnetConfigurationsão definidos pelo padrão, portanto, quaisquer valores para essas propriedades fornecidas aqui serão substituídos. SedeployVpcnão étrueentão essa propriedade será ignorada.  | 
|  Implementar VPC?  |  boolean  |  Como criar uma nova VPC com base emvpcPropsno qual implantar esse padrão. Definir isso como true implantará a VPC mínima e mais privada para executar o padrão: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/aws-lambda-dynamodb.html) Se esta propriedade fortrue, entãoexistingVpcnão pode ser especificado. Padronizado como false.  | 

## Propriedades de padrão
<a name="pattern-properties-17"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  DynamoTable  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-dynamodb.Table.html)  |  Retorna uma instância da tabela do DynamoDB criada pelo padrão.  | 
|  lambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 
|  VPC?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  Retorna uma interface na VPC usada pelo padrão (se houver). Esta pode ser uma VPC criada pelo padrão ou pela VPC fornecida ao construtor de padrões.  | 

## Configurações padrão
<a name="default-settings-17"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Função do AWS Lambda
<a name="aws-lambda-function-9"></a>
+  Configurar a função do IAM de acesso de privilégio limitado para a função Lambda 
+  Habilite a reutilização de conexões com a função Keep-Alive para NodeJS Lambda. 
+  Ativar rastreamento do X-Ray.
+  Definição de variáveis de ambiente:
  +  `DDB_TABLE_NAME` (padrão)
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

### Amazon DynamoDB
<a name="amazon-dynamodb-table-4"></a>
+  Defina o modo de faturamento da Tabela do DynamoDB como On-Demand (Pagamento por solicitação). 
+  Habilite a criptografia do lado do servidor para a tabela do DynamoDB usando a chave KMS gerenciada pela AWS. 
+  Cria uma chave de partição chamada 'id' para a tabela do DynamoDB. 
+  Manter a tabela ao excluir a pilha do CloudFormation. 
+  Permita backups contínuos e recuperação point-in-time. 

## Architecture
<a name="architecture-17"></a>

![\[Diagram showing data flow from OpenSearch and Lambda to DynamoDB and CloudSearch.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-lambda-dynamodb.png)


## GitHub
<a name="github-17"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-lambda-dynamodb](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-dynamodb)  | 

# aws-lambda-elasticsearch-kibana
<a name="aws-lambda-elasticsearch-kibana"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1elasticsearch\$1kibana  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-elasticsearch-kibana  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdaelasticsearchkibana  | 

## Overview
<a name="overview-18"></a>

 Este AWS Solutions Construct implementa uma função do AWS Lambda e um domínio do Amazon Elasticsearch Service com permissões menos privilegiadas.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { LambdaToElasticSearchAndKibana } from '@aws-solutions-constructs/aws-lambda-elasticsearch-kibana';
import { Aws } from "@aws-cdk/core";

const lambdaProps: lambda.FunctionProps = {
    runtime: lambda.Runtime.NODEJS_14_X,
    // This assumes a handler function in lib/lambda/index.js
    code: lambda.Code.fromAsset(`${__dirname}/lambda`),
    handler: 'index.handler'
};

new LambdaToElasticSearchAndKibana(this, 'test-lambda-elasticsearch-kibana', {
    lambdaFunctionProps: lambdaProps,
    domainName: 'test-domain',
    // TODO: Ensure the Cognito domain name is globally unique
    cognitoDomainName: 'globallyuniquedomain' + Aws.ACCOUNT_ID;
});
```

## Initializer
<a name="initializer-18"></a>

```
new LambdaToElasticSearchAndKibana(scope: Construct, id: string, props: LambdaToElasticSearchAndKibanaProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`LambdaToElasticSearchAndKibanaProps`](#pattern-construct-props-18) 

## Estrutura de construção de padrão
<a name="pattern-construct-props-18"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  EsdomainProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticsearch.CfnDomainProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticsearch.CfnDomainProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão do Amazon Elasticsearch Service  | 
|  domainName  |  string  |  Nome de domínio para o Cognito e o Amazon Elasticsearch Service  | 
|  CognitoDomainName?  |  string  |  Nome de domínio do Cognito opcional. Se fornecido, ele será usado para o domínio do Cognito, edomainNameserá usado para o domínio Elasticsearch.  | 
|  CreateCloudWatchAlms  |  boolean  |  Criar alarmes recomendados do CloudWatch.  | 
|  DomainEndPointEnvironmentVariableName?  |  string  |  Nome opcional para o conjunto de variáveis de ambiente de endpoint de domínio ElasticSearch para a função Lambda.  | 

## Propriedades do padrão
<a name="pattern-properties-18"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  CloudwatchAlarm?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html)  |  Retorna uma lista de um ou mais alarmes do CloudWatch criados pelo padrão.  | 
|  ElasticSearchDomain  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticsearch.CfnDomain.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-elasticsearch.CfnDomain.html)  |  Retorna uma instância do domínio Elasticsearch criado pelo padrão.  | 
|  ElasticSearchDomainRole  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-iam.Role.html)  |  Retorna uma instância da função do IAM criada pelo padrão para o domínio do Elasticsearch.  | 
|  IdentityPool  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.CfnIdentityPool.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.CfnIdentityPool.html)  |  Retorna uma instância do pool de identidades do Cognito criado pelo padrão.  | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 
|  userPool  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPool.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPool.html)  |  Retorna uma instância do grupo de usuários do Cognito criado pelo padrão.  | 
|  UserPoolCli  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolClient.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cognito.UserPoolClient.html)  |  Retorna uma instância do cliente do grupo de usuários do Cognito criado pelo padrão.  | 

## Função Lambda
<a name="lambda-function-18"></a>

Esse padrão requer uma função do Lambda que possa postar dados no serviço Elasticsearch a partir do stream do DynamoDB. Uma função de exemplo é fornecida[Aqui](https://github.com/awslabs/aws-solutions-constructs/blob/master/source/patterns/%40aws-solutions-constructs/aws-lambda-elasticsearch-kibana/test/lambda/index.js).

## Configurações padrão
<a name="default-settings-18"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Função do AWS Lambda
<a name="aws-lambda-function-10"></a>
+  Configurar a função do IAM de acesso de privilégio limitado para a função Lambda 
+  Habilite a reutilização de conexões com a função Keep-Alive para NodeJS Lambda. 
+  Habilitar rastreamento do X-Ray.
+  Definir variáveis de ambiente:
  +  `DOMAIN_ENDPOINT` (padrão)
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

### Amazon Cognito
<a name="amazon-cognito-2"></a>
+  Defina a política de senha para grupos de usuários. 
+  Imponha o modo de segurança avançado para grupos de usuários. 

### Amazon Elasticsearch Service
<a name="amazon-elasticsearch-service-1"></a>
+  Implante as melhores práticas Alarmes do CloudWatch para o domínio do Elasticsearch. 
+  Proteja o acesso ao painel Kibana com grupos de usuários do Cognito. 
+  Ative a criptografia do lado do servidor para o domínio do Elasticsearch usando a chave KMS gerenciada pela AWS. 
+  Habilite a criptografia de nó a nó para o domínio do Elasticsearch. 
+  Configurar o cluster para o domínio do Amazon ES. 

## Architecture
<a name="architecture-18"></a>

![\[Diagram showing data flow between AWS Lambda, Amazon Athena, and identity verification.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-lambda-elasticsearch-kibana.png)


## GitHub
<a name="github-18"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-lambda-elasticsearch-kibana](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-elasticsearch-kibana)  | 

# aws-lambda-s3
<a name="aws-lambda-s3"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-s3  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdas3  | 

## Overview
<a name="overview-19"></a>

 Este AWS Solutions Construct implementa uma função do AWS Lambda conectada a um bucket do Amazon S3.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { LambdaToS3 } from '@aws-solutions-constructs/aws-lambda-s3';

new LambdaToS3(this, 'LambdaToS3Pattern', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
});
```

## Initializer
<a name="initializer-19"></a>

```
new LambdaToS3(scope: Construct, id: string, props: LambdaToS3Props);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`LambdaToS3Props`](#pattern-construct-props-19) 

## Adereços de construção de padrão
<a name="pattern-construct-props-19"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  ExistingBucketoBJ?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html)  |  Instância existente do objeto S3 Bucket. Se isso for fornecido, então também fornecendobucketPropsé um erro.  | 
|  Baldes?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão do bucket. Ignorado se umexistingBucketObjé fornecido.  | 
|  Permissões de Bucket?  |  string[]  |  Permissões de bucket opcionais para conceder à função do Lambda. Um ou mais itens a seguir podem ser especificados:Delete,Put,Read,ReadWrite,Write.  | 
|  ExistingVPC?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  Uma VPC opcional existente na qual esse padrão deve ser implantado. Quando implantada em uma VPC, a função Lambda usará ENIs na VPC para acessar recursos de rede e um ponto final de interface será criado na VPC para Amazon SQS. Se uma VPC existente for fornecida, odeployVpcA propriedade não pode sertrue. Isso usaec2.IVpcpara permitir que os clientes forneçam VPCs que existem fora da pilha usando o[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options)Método do.  | 
|  Implementar VPC?  |  boolean  |  Como criar uma nova VPC com base emvpcPropsno qual implantar esse padrão. Configuração comotrueimplantará a VPC mínima e mais privada para executar o padrão: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/aws-lambda-s3.html) Se esta propriedade fortrue, entãoexistingVpcnão pode ser especificado. Padronizado como false.  | 
|  VPCProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da nova VPC.enableDnsHostnames,enableDnsSupport,natGatewaysesubnetConfigurationsão definidos pelo padrão, portanto, quaisquer valores para essas propriedades fornecidas aqui serão substituídos. SedeployVpcnão étrueentão essa propriedade será ignorada.  | 
|  BucketEnvironmentVariableName?  |  string  |  Nome opcional para o conjunto de variáveis de ambiente do bucket S3 para a função Lambda.  | 

## Propriedades de padrão
<a name="pattern-properties-19"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 
|  S3Bucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket S3 criado pelo padrão.  | 
|  S3loggingBucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket de log criado pelo padrão para o bucket S3.  | 
|  VPC?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  Retorna uma instância da VPC usada pelo padrão (se houver). Esta pode ser uma VPC criada pelo padrão ou pela VPC fornecida ao construtor de padrões.  | 

## Configurações padrão
<a name="default-settings-19"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Função do AWS Lambda
<a name="aws-lambda-function-11"></a>
+  Configurar a função do IAM de acesso de privilégio limitado para a função Lambda 
+  Habilite a reutilização de conexões com a função Keep-Alive para NodeJS Lambda. 
+  Ativar rastreamento do X-Ray
+  Definição de variáveis de ambiente:
  +  `S3_BUCKET_NAME` (padrão)
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

### Amazon S3 Bucket
<a name="amazon-s3-bucket-4"></a>
+  Configurar o log de acesso para o S3 Bucket. 
+  Ative a criptografia do lado do servidor para o S3 Bucket usando a chave KMS gerenciada pela AWS. 
+  Ative o controle de versão para o bucket do S3. 
+  Não permitir acesso público para o S3 Bucket. 
+  Mantenha o bucket do S3 ao excluir a pilha do CloudFormation. 
+  Aplique a criptografia de dados em trânsito 
+  Aplica a regra de ciclo de vida para mover versões de objetos não atuais para o armazenamento do Glacier após 90 dias. 

## Architecture
<a name="architecture-19"></a>

![\[AWS Lambda function interacting with Amazon S3 bucket, mediated by an IAM role.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-lambda-s3.png)


## GitHub
<a name="github-19"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-lambda-s3](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-s3)  | 

# aws-lambda-ssmstringparameter
<a name="aws-lambda-ssmstringparameter"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1ssm\$1string\$1parameter  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-ssmstringparameter  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdassmstringparameter  | 

## Overview
<a name="overview-43"></a>

 Este AWS Solutions Construct implementa a função AWS Lambda e o parâmetro String do AWS Systems Manager Parameter Store com as permissões menos privilegiadas. 

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
const { LambdaToSsmstringparameterProps,  LambdaToSsmstringparameter } from '@aws-solutions-constructs/aws-lambda-ssmstringparameter';

const props: LambdaToSsmstringparameterProps = {
    lambdaFunctionProps: {
      runtime: lambda.Runtime.NODEJS_14_X,
      // This assumes a handler function in lib/lambda/index.js
      code: lambda.Code.fromAsset(`${__dirname}/lambda`),
      handler: 'index.handler'
    }, 
    stringParameterProps: { stringValue: "test-string-value" }
};

new LambdaToSsmstringparameter(this, 'test-lambda-ssmstringparameter-stack', props);
```

## Initializer
<a name="initializer-43"></a>

```
new LambdaToSsmstringparameter(scope: Construct, id: string, props: LambdaToSsmstringparameterProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`LambdaToSsmstringparameterProps`](#pattern-construct-props-43) 

## Adereços de criação de padrão
<a name="pattern-construct-props-43"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  ExistingStringParameterobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.StringParameter.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.StringParameter.html)  |  Instância existente do objeto de parâmetro String SSM, fornecendo tanto isso quantostringParameterPropscausará um erro.  | 
|  StringParameter Props?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.StringParameterProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.StringParameterProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão para o parâmetro String SSM. SeexistingStringParameterObjnão estiver definido,stringParameterPropsé necessário. O único suportado[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.StringParameterProps.html#type](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.StringParameterProps.html#type)é[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.ParameterType.html#string](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.ParameterType.html#string)se um valor diferente for fornecido, ele será substituído.  | 
|  StringParameterEnvironmentVariableName?  |  string  |  Nome opcional para o conjunto de variáveis de ambiente do parâmetro String SSM para a função Lambda.  | 
|  ExistingVPC?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  Uma VPC opcional existente na qual esse padrão deve ser implantado. Quando implantada em uma VPC, a função Lambda usará ENIs na VPC para acessar recursos de rede e um ponto final de interface será criado na VPC para AWS Systems Manager Parâmetro. Se uma VPC existente for fornecida, odeployVpcA propriedade não pode sertrue. Isso usa oec2.IVpcpara permitir que os clientes forneçam VPCs que existem fora da pilha usando o[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options)Método do.  | 
|  VPCProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da nova VPC.enableDnsHostnames,enableDnsSupport,natGatewaysesubnetConfigurationsão definidos pelo padrão, portanto, quaisquer valores para essas propriedades fornecidas aqui serão substituídos. SedeployVpcnão étrueEntão essa propriedade será ignorada.  | 
|  Implementar VPC?  |  boolean  |  Criar uma nova VPC com base emvpcPropsno qual implantar esse padrão. Configuração deste comotrueimplantará a VPC mínima e mais privada para executar o padrão: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/aws-lambda-ssmstringparameter.html) Se essa propriedade é definida comotrue, entãoexistingVpcnão pode ser especificado. Padronizado como false.  | 
|  Permissões de StringParameter?  |  string  |  Permissões opcionais do parâmetro String SSM para conceder à função Lambda. Uma das opções a seguir pode ser especificada:Read,ReadWrite.  | 

## Propriedades de padrão
<a name="pattern-properties-43"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância delambda.Functioncriado pela construção.  | 
|  StringParameter  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.StringParameter.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ssm.StringParameter.html)  |  Retorna uma instância dessm.StringParametercriado pela construção.  | 
|  VPC?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  Retorna uma interface na VPC usada pelo padrão (se houver). Esta pode ser uma VPC criada pelo padrão ou pela VPC fornecida ao construtor de padrões.  | 

## Configurações padrão
<a name="default-settings-43"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Função do AWS Lambda
<a name="aws-lambda-function-9"></a>
+  Configurar a função do IAM de acesso de privilégio limitado para a função Lambda 
+  Habilite a reutilização de conexões com a função Keep-Alive para NodeJS Lambda. 
+  Ativar rastreamento do X-Ray.
+  Definir variáveis de ambiente:
  +  `SSM_STRING_PARAMETER_NAME` (padrão)
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

### String de repositório de parâmetros do Amazon AWS Systems Manager
<a name="amazon-ssm-43"></a>
+  Habilite o acesso somente leitura para a função do AWS Lambda associada. 
+  Cria um novo parâmetro String SSM com os valores fornecidos. 
+  Mantenha o parâmetro String SSM ao excluir a pilha do CloudFormation. 

## Architecture
<a name="architecture-43"></a>

![\[AWS Lambda logo connected to CloudFormation and AWSCloudWatch icons via arrows.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-lambda-ssmstringparameter.png)


## GitHub
<a name="github-43"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-lambda-ssmstringparameter](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-ssmstringparameter)  | 

# aws-lambda-sagemakerendpoint
<a name="aws-lambda-sagemakerendpoint"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1sagemakerendpoint  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-sagemakerendpoint  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdasagemakerendpoint  | 

## Overview
<a name="overview-41"></a>

 Este AWS Solutions Construct implementa uma função do AWS Lambda conectada a um endpoint do Amazon Sagemaker.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { Duration } from '@aws-cdk/core';
import * as lambda from '@aws-cdk/aws-lambda';
import {
  LambdaToSagemakerEndpoint,
  LambdaToSagemakerEndpointProps,
} from '@aws-solutions-constructs/aws-lambda-sagemakerendpoint';

const constructProps: LambdaToSagemakerEndpointProps = {
  modelProps: {
    primaryContainer: {
      image: '{{AccountId}}.dkr.ecr.{{region}}.amazonaws.com/linear-learner:latest',
      modelDataUrl: 's3://{{bucket-name}}/{{prefix}}/model.tar.gz',
    },
  },
  lambdaFunctionProps: {
    runtime: lambda.Runtime.PYTHON_3_8,
    // This assumes a handler function in lib/lambda/index.py
    code: lambda.Code.fromAsset(`${__dirname}/lambda`),
    handler: 'index.handler',
    timeout: Duration.minutes(5),
    memorySize: 128,
  },
};

new LambdaToSagemakerEndpoint(this, 'LambdaToSagemakerEndpointPattern', constructProps);
```

## Initializer
<a name="initializer-41"></a>

```
new LambdaToSagemakerEndpoint(scope: Construct, id: string, props: LambdaToSagemakerEndpointProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`LambdaToSagemakerEndpointProps`](#pattern-construct-props-41) 

## Adereços de criação de padrão
<a name="pattern-construct-props-41"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. | 
|  ExistingSagemakerEndpointoBJ?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpoint.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpoint.html)  |  Um Sagemaker Enpoint opcional existente para ser usado. Fornecendo tanto isso quantoendpointPropscausará um erro.  | 
|  ModelProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnModelProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnModelProps.html) \$1 any  |  Propriedades fornecidas pelo usuário para substituir as propriedades padrão do Modelo Sagemaker. No mínimomodelProps.primaryContainerdeve ser fornecido para criar um modelo. Por padrão, o padrão criará uma função com as permissões mínimas necessárias, mas o cliente pode fornecer uma função personalizada com recursos adicionais usandomodelProps.executionRoleArn.  | 
|  EndpointConfigProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointConfigProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointConfigProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da configuração do Sagemaker Endpoint. | 
|  EndpointProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão do Sagemaker Endpoint. | 
|  ExistingVPC?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  Uma VPC existente opcional na qual essa construção deve ser implantada. Quando implantados em uma VPC, a função Lambda e o Sagemaker Endpoint usarão ENIs na VPC para acessar recursos de rede. Um ponto final de interface será criado na VPC para Amazon Sagemaker Runtime e Amazon S3 VPC Endpoint. Se uma VPC existente for fornecida, odeployVpcA propriedade não pode sertrue. | 
|  VPCProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da nova VPC.enableDnsHostnames,enableDnsSupport,natGatewaysesubnetConfigurationsão definidos pela construção, portanto, quaisquer valores para essas propriedades fornecidas aqui serão substituídos. SedeployVpcnão étrue, então essa propriedade será ignorada. | 
|  Implementar VPC?  |  boolean  |  Criar uma nova VPC com base emvpcPropsno qual implantar esse padrão. Configuração comotrueimplantará a VPC mínima e mais privada para executar o padrão: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/aws-lambda-sagemakerendpoint.html) Se essa propriedade for definida comotrue, entãoexistingVpcnão pode ser especificado. Padronizado como false.  | 
|  SageMakerEnvironmentVariableName?  |  string  |  Nome opcional para o conjunto de variáveis de ambiente de endpoint SageMaker para a função Lambda. | 

## Propriedades de padrão
<a name="pattern-properties-41"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 
|  SageMakerEndpoint  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpoint.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpoint.html)  |  Retorna uma instância do Sagemaker Endpoint criado pelo padrão.  | 
|  SageMakerEndPointConfig?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointConfig.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnEndpointConfig.html)  |  Retorna uma instância do SageMaker EndpointConfig criado pelo padrão, seexistingSagemakerEndpointObjnão foi fornecido. | 
|  Modelo Sagemaker?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnModel.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sagemaker.CfnModel.html)  |  Retorna uma instância do Modelo Sagemaker criado pelo padrão, seexistingSagemakerEndpointObjnão foi fornecido. | 
|  VPC?  |  ec2.IVpc  |  Retorna uma instância da VPC criada pelo padrão, sedeployVpcétrue, ou seexistingVpcé fornecido. | 

## Configurações padrão
<a name="default-settings-41"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Função do AWS Lambda
<a name="w23aab9d147c25b5"></a>
+  Configurar a função do IAM de acesso de privilégio limitado para a função Lambda 
+  Habilite a reutilização de conexões com a função Keep-Alive para NodeJS Lambda. 
+  Permita que a função chame o ponto final do Sagemaker para Inferências. 
+  Configure a função para acessar recursos na VPC, onde o endpoint do Sagemaker é implantado. 
+  Ativar Rastreamento do X-Ray 
+  Definição de variáveis de ambiente: 
  + `SAGEMAKER_ENDPOINT_NAME` (padrão)
  + `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

### Endpoint do Amazon Sage
<a name="w23aab9d147c25b7"></a>
+  Configure privilégios limitados para criar recursos do Sagemaker. 
+  Implante o modelo Sagemaker, o EndPointConfig e o endpoint. 
+  Configure o endpoint do Sagemaker a ser implantado em uma VPC. 
+  Implante a interface VPC Endpoint e Sagemaker Runtime VPC. 

## Architecture
<a name="architecture-41"></a>

![\[Diagram showing AWS Lambda connected to CloudWatch, SageMaker Endpoint, and IAM Roles.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-lambda-sagemakerendpoint.png)


## GitHub
<a name="github-41"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-lambda-sagemakerendpoint](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-sagemakerendpoint)  | 

# aws-lambda-secretsmanager
<a name="aws-lambda-secretsmanager"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Semantic version](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1secretsmanager  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-secretsmanager  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdasecretsmanager  | 

## Overview
<a name="overview-42"></a>

 Este AWS Solutions Construct implementa a função do AWS Lambda e o segredo do AWS Secrets Manager com as permissões menos privilegiadas.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
const { LambdaToSecretsmanagerProps,  LambdaToSecretsmanager } from '@aws-solutions-constructs/aws-lambda-secretsmanager';

const props: LambdaToSecretsmanagerProps = {
    lambdaFunctionProps: {
      runtime: lambda.Runtime.NODEJS_14_X,
      // This assumes a handler function in lib/lambda/index.js
      code: lambda.Code.fromAsset(`${__dirname}/lambda`),
      handler: 'index.handler'
    },
};

new LambdaToSecretsmanager(this, 'test-lambda-secretsmanager-stack', props);
```

## Initializer
<a name="initializer-42"></a>

```
new LambdaToSecretsmanager(scope: Construct, id: string, props: LambdaToSecretsmanagerProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`LambdaToSecretsmanagerProps`](#pattern-construct-props-42) 

## Adereços de criação de padrão
<a name="pattern-construct-props-42"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  O usuário forneceu adereços para substituir os adereços padrão para a função Lambda.  | 
|  SecretProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.SecretProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.SecretProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão para o Secrets Manager.  | 
|  ExistingSecrettoBJ?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.Secret.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.Secret.html)  |  Instância existente do objeto secreto Secrets Manager dos, Se isso estiver definido, a propriedadesecretPropsé ignorado.  | 
|  GrantWriteAccess?  |  boolean  |  Acesso de gravação opcional ao segredo para a função Lambda (somente leitura por padrão).  | 
|  Nome do secretárioVironmentVariableName?  |  string  |  Nome opcional para o conjunto de variáveis de ambiente secreto do Secrets Manager para a função Lambda.  | 
|  ExistingVPC?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  Uma VPC opcional existente na qual esse padrão deve ser implantado. Quando implantada em uma VPC, a função Lambda usará ENIs na VPC para acessar recursos de rede e um ponto final de interface será criado na VPC para AWS Secrets Manager. Se uma VPC existente for fornecida, odeployVpcA propriedade não pode sertrue. Isso usaec2.IVpcpara permitir que os clientes forneçam VPCs que existem fora da pilha usando o[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options)Método do.  | 
|  VPCProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da nova VPC.enableDnsHostnames,enableDnsSupport,natGateways, esubnetConfigurationsão definidos pelo padrão, portanto, quaisquer valores para essas propriedades fornecidas aqui serão substituídos. SedeployVpcnão étrueentão essa propriedade será ignorada.  | 
|  Implementar VPC?  |  boolean  |  Criar uma nova VPC com base novpcPropsno qual implantar esse padrão. Configurando isso comotrueimplantará a VPC mínima e mais privada para executar o padrão: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/aws-lambda-secretsmanager.html) Se esta propriedade fortrue, entãoexistingVpcnão pode ser especificado. Padronizado como false.  | 

## Propriedades de padrão
<a name="pattern-properties-42"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância delambda.Functioncriado pela construção.  | 
|  segredo  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.Secret.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.Secret.html)  |  Retorna uma instância desecretsmanager.Secretcriado pela construção.  | 
|  VPC?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  Retorna uma interface na VPC usada pelo padrão (se houver). Esta pode ser uma VPC criada pelo padrão ou pela VPC fornecida ao construtor de padrões.  | 

## Configurações padrão
<a name="default-settings-42"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Função do AWS Lambda
<a name="aws-lambda-function-42"></a>
+  Configurar a função do IAM de acesso de privilégio limitado para a função Lambda 
+  Habilite a reutilização de conexões com a função Keep-Alive para NodeJS Lambda. 
+  Ativar rastreamento do X-Ray.
+  Definir variáveis de ambiente:
  +  (padrão) SECRET\$1ARN contendo o ARN do segredo como retorno pelo CDK[SecretArn](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-secretsmanager.Secret.html#secretarn)A propriedade
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

### Segredo do Amazon Secrets Manager
<a name="aws-secretsmanger-secret"></a>
+  Habilitar acesso somente leitura para a função do AWS Lambda associada 
+  Habilitar a criptografia do lado do servidor usando uma chave KMS padrão para a conta e a região 
+  Cria um novo segredo:
  + (padrão) nome aleatório
  + valor aleatório (padrão)
+  Manter o segredo ao excluir a pilha do CloudFormation 

## Architecture
<a name="architecture-42"></a>

![\[Diagram showing AWS Lambda icon connecting to security and cloud search icons.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-lambda-secretsmanager.png)


## GitHub
<a name="github-42"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-lambda-secretsmanager](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-secretsmanager)  | 

# aws-lambda-sns
<a name="aws-lambda-sns"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1sns  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-sns  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdasns  | 

## Overview
<a name="overview-20"></a>

 Este AWS Solutions Construct implementa uma função do AWS Lambda conectada a um tópico do Amazon SNS.

 Aqui está uma definição de padrão implantável mínima no TypeScript:

```
import { LambdaToSns, LambdaToSnsProps } from "@aws-solutions-constructs/aws-lambda-sns";

new LambdaToSns(this, 'test-lambda-sns', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
});
```

## Initializer
<a name="initializer-20"></a>

```
new LambdaToSns(scope: Construct, id: string, props: LambdaToSnsProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`LambdaToSnsProps`](#pattern-construct-props-20) 

## Adereços de criação de padrão
<a name="pattern-construct-props-20"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  ExistingTopicobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  Instância existente do objeto Tópico SNS, fornecendo tanto isso quantotopicPropscausará um erro.  | 
|  TopicProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.TopicProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.TopicProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão do tópico SNS.  | 
|  ExistingVPC?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  Uma VPC opcional existente na qual esse padrão deve ser implantado. Quando implantada em uma VPC, a função Lambda usará ENIs na VPC para acessar recursos de rede e um ponto final de interface será criado na VPC para Amazon SQS. Se uma VPC existente for fornecida, a propriedadedeployVpcA propriedade não pode sertrue. Isso usaec2.IVpcpara permitir que os clientes forneçam VPCs que existem fora da pilha usando o[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options)Método do.  | 
|  Implementar VPC?  |  boolean  |  Como criar uma nova VPC com base emvpcPropsno qual implantar esse padrão. Configuração comotrueimplantará a VPC mínima e mais privada para executar o padrão: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/aws-lambda-sns.html) Se esta propriedade fortrue, entãoexistingVpcnão pode ser especificado. Padronizado como false.  | 
|  VPCProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da nova VPC.enableDnsHostnames,enableDnsSupport,natGatewaysesubnetConfigurationsão definidos pelo padrão, portanto, quaisquer valores para essas propriedades fornecidas aqui serão substituídos. SedeployVpcnão étrueentão essa propriedade será ignorada.  | 
|  TopicarnEnvironmentVariableName?  |  string  |  Nome opcional para o conjunto de variáveis de ambiente ARN do tópico do SNS para a função do Lambda.  | 
|  TopicNameEnvironmentVariableName?  |  string  |  Nome opcional para o conjunto de variáveis de ambiente de nome de tópico SNS para a função Lambda.  | 

## Propriedades de padrão
<a name="pattern-properties-20"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 
|  snsTopic  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  Retorna uma instância do tópico SNS criado pelo padrão.  | 
|  VPC?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  Retorna uma instância da VPC usada pelo padrão (se houver). Esta pode ser uma VPC criada pelo padrão ou pela VPC fornecida ao construtor de padrões.  | 

## Configurações padrão
<a name="default-settings-20"></a>

 A implementação imediata da Construct sem qualquer substituição definirá os seguintes padrões: 

### Função do AWS Lambda
<a name="aws-lambda-function-12"></a>
+  Configurar a função do IAM de acesso de privilégio limitado para a função Lambda 
+  Habilite a reutilização de conexões com a função Keep-Alive para NodeJS Lambda. 
+  Ativar rastreamento do X-Ray.
+  Definição de variáveis de ambiente:
  +  `SNS_TOPIC_NAME` (padrão)
  +  `SNS_TOPIC_ARN` (padrão)
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

### Tópico do Amazon SNS
<a name="amazon-sns-topic"></a>
+  Configurar permissões de acesso de menor privilégio para o tópico SNS. 
+  Ative a criptografia do lado do servidor usando a chave KMS gerenciada pela AWS. 
+  Aplique a criptografia de dados em trânsito 

## Architecture
<a name="architecture-20"></a>

![\[AWS Lambda connected to Amazon Simple Notification Service with IAM role below Lambda.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-lambda-sns.png)


## GitHub
<a name="github-20"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-lambda-sns](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-sns)  | 

# aws-lambda-sqs
<a name="aws-lambda-sqs"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdasqs  | 

## Overview
<a name="overview-25"></a>

 Este AWS Solutions Construct implementa uma função do AWS Lambda conectada a uma fila do Amazon SQS.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
 import { LambdaToSqs, LambdaToSqsProps } from "@aws-solutions-constructs/aws-lambda-sqs";

 new LambdaToSqs(this, 'LambdaToSqsPattern', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
 });
```

## Initializer
<a name="initializer-25"></a>

```
 new LambdaToSqs(scope: Construct, id: string, props: LambdaToSqsProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`LambdaToSqsProps`](#pattern-construct-props-25) 

## Adereços de construção de padrão
<a name="pattern-construct-props-25"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Uma função opcional existente do Lambda a ser usada em vez da função padrão. Fornecendo tanto isso quantolambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda.  | 
|  ExistingQueueobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Uma fila SQS opcional existente a ser usada em vez da fila padrão. Fornecendo tanto isso quantoqueuePropscausará um erro.  | 
|  QueueProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da fila SQS.  | 
|  EnableQueuePurging?  |  boolean  |  Se deve conceder permissões adicionais à função do Lambda, habilitando-o a limpar a fila SQS. Padronizado como false.  | 
|  ImplantyDeadletterQueue?  |  boolean  |  Criar uma fila secundária a ser usada como uma dead letter queue. Padronizado como true.  | 
|  DeadletterQueueProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para a fila de letras inativas. Usado somente se odeployDeadLetterQueueé definida como true.  | 
|  MaxReceiveCount?  |  number  |  O número de vezes que uma mensagem pode ser desenfileirada sem sucesso antes de ser movida para a fila de mensagens mortas. Padronizado como 15.  | 
|  ExistingVPC?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  Uma VPC opcional existente na qual esse padrão deve ser implantado. Quando implantada em uma VPC, a função Lambda usará ENIs na VPC para acessar recursos de rede e um ponto final de interface será criado na VPC para Amazon SQS. Se uma VPC existente for fornecida, odeployVpcA propriedade não pode sertrue. Umaec2.IVpcé usado para permitir que os clientes forneçam VPCs que existem fora da pilha usando o[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.Vpc.html#static-fromwbrlookupscope-id-options)Método do.  | 
|  Implementar VPC?  |  boolean  |  Criar uma nova VPC com base emvpcPropsno qual implantar esse padrão. Configurando isso comotrueimplantará a VPC mínima e mais privada para executar o padrão: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/aws-lambda-sqs.html) Se esta propriedade fortrue, entãoexistingVpcnão pode ser especificado. Padronizado como false.  | 
|  VPCProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.VpcProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da nova VPC.enableDnsHostnames,enableDnsSupport,natGateways, esubnetConfigurationsão definidos pelo padrão, portanto, quaisquer valores para essas propriedades fornecidas aqui serão substituídos. SedeployVpcnão étrue, então essa propriedade será ignorada.  | 
|  QueueEnvironmentVariableName?  |  string  |  Nome opcional para o conjunto de variáveis de ambiente de URL de fila SQS para a função Lambda.  | 

## Propriedades de padrão
<a name="pattern-properties-25"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  DeadletterQueue?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Retorna uma instância da fila de letras mortas criada pelo padrão, se uma for implantada.  | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 
|  SQSqueue  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Retorna uma instância da fila SQS criada pelo padrão.  | 
|  VPC?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-ec2.IVpc.html)  |  Retorna uma instância da VPC criada ou usada pelo padrão (se houver). Esta pode ser uma VPC criada pelo padrão ou uma VPC fornecida ao construtor de padrões.  | 

## Configurações padrão
<a name="default-settings-25"></a>

 A implementação imediata da Construct sem qualquer substituição definirá os seguintes padrões: 

### Função do AWS Lambda
<a name="aws-lambda-function-25"></a>
+  Configurar a função do IAM de acesso de privilégio limitado para a função Lambda 
+  Habilite a reutilização de conexões com a função Keep-Alive para NodeJS Lambda. 
+  Permitir que a função envie apenas mensagens para a fila (a expurgação pode ser habilitada usando o`enableQueuePurge`). 
+  Habilitar rastreamento do X-Ray
+  Definir variáveis de ambiente:
  +  `SQS_QUEUE_URL`
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

### Fila do Amazon SQS
<a name="amazon-sqs-queue-25"></a>
+  Implante a dead letter queue do SQS para a fila do SQS de origem. 
+  Ative a criptografia no lado do servidor para a fila do SQS de origem usando a AWS Managed KMS Key. 
+  Aplique a criptografia de dados em trânsito 

## Architecture
<a name="architecture-25"></a>

![\[Icons representing cloud search, Lambda function, SQS queue, and DLQ in a workflow diagram.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-lambda-sqs.png)


## GitHub
<a name="github-25"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-lambda-sqs](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-sqs)  | 

# aws-lambda-sqs-lambda
<a name="aws-lambda-sqs-lambda"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1sqs\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-sqs-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdasqslambda  | 

## Overview
<a name="overview-27"></a>

 Este padrão de constrói soluções da AWS implementa (1) uma função do AWS Lambda configurada para enviar mensagens para uma fila; (2) uma fila do Amazon SQS; e (3) uma função do AWS Lambda configurada para consumir mensagens da fila. 

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { LambdaToSqsToLambda, LambdaToSqsToLambdaProps } from "@aws-solutions-constructs/aws-lambda-sqs-lambda";

new LambdaToSqsToLambda(this, 'LambdaToSqsToLambdaPattern', {
    producerLambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/producer-function/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda/producer-function`),
        handler: 'index.handler'
    },
    consumerLambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/consumer-function/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda/consumer-function`),
        handler: 'index.handler'
    }
});
```

## Initializer
<a name="initializer-27"></a>

```
new LambdaToSqsToLambda(scope: Construct, id: string, props: LambdaToSqsToLambdaProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`LambdaToSqsToLambdaProps`](#pattern-construct-props-27) 

## Adereços de construção de padrão
<a name="pattern-construct-props-27"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingProducerLambdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Uma função opcional existente do Lambda a ser usada em vez da função padrão para enviar mensagens para a fila. Fornecendo tanto isso quantoproducerLambdaFunctionPropscausará um erro.  | 
|  ProducerLambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda do produtor.  | 
|  ExistingQueueobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Uma fila SQS opcional existente a ser usada em vez da fila padrão. Fornecendo tanto isso quantoqueuePropscausará um erro.  | 
|  QueueProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da fila SQS. Fornecendo tanto isso quantoexistingQueueObjcausará um erro.  | 
|  Implementar DeadletterQueue?  |  boolean  |  Criar uma fila secundária para ser usada como uma dead letter queue. Padronizado como true.  | 
|  DeadletterQueueProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para a fila de letras inativas. Usado somente se odeployDeadLetterQueuepropriedade é definida comotrue.  | 
|  MaxReceiveCount?  |  number  |  O número de vezes que uma mensagem pode ser desenfileirada sem êxito antes de ser movida para a fila de mensagens mortas. Padronizado como 15.  | 
|  ExistingConsumerLambdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Uma função opcional existente do Lambda a ser usada em vez da função padrão para recebição/consumo de mensagens da fila. Fornecendo tanto isso quantoconsumerLambdaFunctionPropscausará um erro.  | 
|  ConsumerLambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda do consumidor.  | 
|  QueueEnvironmentVariableName?  |  string  |  Nome opcional para o conjunto de variáveis de ambiente de URL de fila SQS para a função Lambda produtor.  | 

## Propriedades de padrão
<a name="pattern-properties-27"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ConsumerLambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda consumidor criada pelo padrão.  | 
|  DeadletterQueue?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Retorna uma instância da fila de letras mortas criada pelo padrão, se uma for implantada.  | 
|  ProducerLambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda produtor criada pelo padrão.  | 
|  SQSqueue  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Retorna uma instância da fila SQS criada pelo padrão.  | 

## Configurações padrão
<a name="default-settings-27"></a>

 Implementação imediata deste Construct (sem quaisquer propriedades substituídas) irá aderir aos seguintes padrões: 

### Funções do AWS Lambda
<a name="aws-lambda-function-27"></a>
+  Configurar a função do IAM de acesso de privilégio limitado para funções do Lambda 
+  Habilite a reutilização de conexões com Keep-Alive para funções do NodeJS Lambda. 
+  Habilitar rastreamento do X-Ray
+  Definição de variáveis de ambiente:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

### Fila do Amazon SQS
<a name="amazon-sqs-queue-27"></a>
+  Implantar uma dead letter queue para a fila principal. 
+  Habilitar a criptografia no lado do servidor para a fila principal usando uma chave do KMS gerenciada da AWS. 
+  Aplique a criptografia de dados em trânsito 

## Architecture
<a name="architecture-27"></a>

![\[Diagram showing cloud search, Lambda functions, queue, and DLQ components in AWS architecture.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-lambda-sqs-lambda.png)


## GitHub
<a name="github-27"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-lambda-sqs-lambda](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-sqs-lambda)  | 

# aws-lambda-step-function
<a name="aws-lambda-step-function"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1lambda\$1step\$1function  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-lambda-step-function  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.lambdastepfunction  | 

## Overview
<a name="overview-26"></a>

 Este AWS Solutions Construct implementa uma função do AWS Lambda conectada a uma função de etapa da AWS.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { LambdaToStepFunction } from '@aws-solutions-constructs/aws-lambda-step-function';
import * as stepfunctions from '@aws-cdk/aws-stepfunctions';

const startState = new stepfunctions.Pass(this, 'StartState');

new LambdaToStepFunction(this, 'LambdaToStepFunctionPattern', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    },
    stateMachineProps: {
      definition: startState
    }
});
```

## Initializer
<a name="initializer-26"></a>

```
new LambdaToStepFunction(scope: Construct, id: string, props: LambdaToStepFunctionProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`LambdaToStepFunctionProps`](#pattern-construct-props-26) 

## Conceitos de criação de padrão
<a name="pattern-construct-props-26"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  StateMachineProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachineProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachineProps.html)  |  O usuário forneceu adereços para o SFN.StateMachine. | 
|  CreateCloudWatchAlms  |  boolean  |  Criar alarmes recomendados do CloudWatch.  | 
|  LoggroupProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  Conceitos opcionais fornecidos pelo usuário para substituir os adereços padrão para o grupo de logs do CloudWatch Logs.  | 
|  StateMachineEnvironmentVariableName  |  string  |  Nome opcional para o conjunto de variáveis de ambiente de máquina de estado Step Functions para a função Lambda produtor.  | 

## Propriedades de padrão
<a name="pattern-properties-26"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  CloudwatchAlarm?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html)  |  Retorna uma lista de um ou mais alarmes do CloudWatch criados pelo padrão.  | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 
|  StateMachine  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachine.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachine.html)  |  Retorna uma instância da máquina de estado criada pelo padrão.  | 
|  StateMachineLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Retorna uma instância do grupo de logs criado pelo padrão para a máquina de estado.  | 

## Configuração padrão
<a name="default-settings-26"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Função do AWS Lambda
<a name="aws-lambda-function-26"></a>
+  Configure uma função do IAM de acesso de privilégio limitado para a função do Lambda.
+  Habilite a reutilização de conexões com Keep-Alive para funções do NodeJS Lambda.
+  Ativar rastreamento do X-Ray.
+  Definir variáveis de ambiente:
  +  `STATE_MACHINE_ARN` (padrão)
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

### Máquina de estado de funções de etapa da
<a name="amazon-sf-state-machine-26"></a>
+  Implante alarmes de práticas recomendadas do CloudWatch para o AWS Step Functions State Machine

## Architecture
<a name="architecture-26"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-lambda-step-function.png)


## GitHub
<a name="github-26"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-lambda-step-function](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-lambda-step-function)  | 

# aws-s3-lambda
<a name="aws-s3-lambda"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1s3\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-s3-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.s3lambda  | 

## Overview
<a name="overview-21"></a>

 Este AWS Solutions Construct implementa um bucket do Amazon S3 conectado a uma função do AWS Lambda.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { S3ToLambdaProps, S3ToLambda } from '@aws-solutions-constructs/aws-s3-lambda';

new S3ToLambda(this, 'test-s3-lambda', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    },
});
```

## Initializer
<a name="initializer-21"></a>

```
new S3ToLambda(scope: Construct, id: string, props: S3ToLambdaProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`S3ToLambdaProps`](#pattern-construct-props-21) 

## Adereços de construção de padrão
<a name="pattern-construct-props-21"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  ExistingBucketoBJ?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Instância existente do objeto S3 Bucket. Se isso for fornecido, então também fornecendobucketPropsé um erro.  | 
|  Baldes?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão do bucket. Ignorado se umexistingBucketObjé fornecido.  | 
|  S3EventSourceProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda-event-sources.S3EventSourceProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda-event-sources.S3EventSourceProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão para S3EventSourceProps  | 

## Propriedades de padrão
<a name="pattern-properties-21"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 
|  S3Bucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket S3 criado pelo padrão.  | 
|  S3loggingBucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket de log criado pelo padrão para o bucket S3.  | 

## Configurações padrão
<a name="default-settings-21"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon S3 Bucket
<a name="amazon-s3-bucket-5"></a>
+  Configurar o log de acesso para o S3 Bucket. 
+  Ative a criptografia do lado do servidor para o S3 Bucket usando a chave KMS gerenciada pela AWS. 
+  Ative o controle de versão para o bucket do S3. 
+  Não permitir acesso público para o S3 Bucket. 
+  Mantenha o bucket do S3 ao excluir a pilha do CloudFormation. 
+  Aplique a criptografia de dados em trânsito 
+  Aplica a regra de ciclo de vida para mover versões de objetos não atuais para o armazenamento do Glacier após 90 dias.

### Função do AWS Lambda
<a name="aws-lambda-function-13"></a>
+  Configurar a função do IAM de acesso de privilégio limitado para a função Lambda 
+  Habilite a reutilização de conexões com a função Keep-Alive para NodeJS Lambda. 
+  Ativar rastreamento de X-Ray
+  Definição de variáveis de ambiente:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

## Architecture
<a name="architecture-21"></a>

![\[Diagram showing data flow from S3 bucket to Lambda function to CloudSearch domain.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-s3-lambda.png)


## GitHub
<a name="github-21"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-s3-lambda](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-s3-lambda)  | 

# aws-s3-sqs
<a name="aws-s3-sqs"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1s3\$1sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-s3-sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.s3sqs  | 

## Overview
<a name="overview-39"></a>

 Este AWS Solutions Construct implementa um bucket do Amazon S3 configurado para enviar notificações para uma fila do Amazon SQS.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { S3ToSqs } from "@aws-solutions-constructs/aws-s3-sqs";

new S3ToSqs(stack, 'S3ToSQSPattern', {});
```

## Initializer
<a name="initializer-39"></a>

```
new S3ToSqs(scope: Construct, id: string, props: S3ToSqsProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`S3ToSqsProps`](#pattern-construct-props-39) 

## Adereços de criação de padrão
<a name="pattern-construct-props-39"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingBucketoBJ?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Instância existente do objeto S3 Bucket. Se isso for fornecido, então também fornecendobucketPropsé um erro.  | 
|  Baldes?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para o bucket S3.  | 
|  S3EventTypes?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.EventType.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.EventType.html)  |  Os tipos de evento do S3 que acionarão a notificação. Padronizado como s3.EventType.OBJECT\$1CREATED.  | 
|  S3EventFilters?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.NotificationKeyFilter.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.NotificationKeyFilter.html)  |  As regras de filtro de chave de objeto S3 para determinar quais objetos acionam esse evento. Se não for especificado, nenhuma regra de filtro será aplicada.  | 
|  ExistingQueueobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Uma fila SQS opcional existente a ser usada em vez da fila padrão. Fornecendo tanto isso quantoqueuePropscausará um erro. Se a fila SQS estiver criptografada, a chave KMS utilizada para criptografia deve ser um CMK gerenciado pelo cliente.  | 
|  QueueProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da fila SQS. Ignorado se umexistingQueueObjé fornecido.  | 
|  DeadletterQueueProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para a fila de letras inativas. Usado somente se odeployDeadLetterQueueestá definida como true.  | 
|  Implementar DeadletterQueue?  |  boolean  |  Criar uma fila secundária para ser usada como uma dead letter queue. Padronizado como true.  | 
|  MaxReceiveCount?  |  number  |  O número de vezes que uma mensagem pode ser desenfileirada sem sucesso antes de ser movida para a fila de mensagens mortas. Padronizado como 15.  | 
|  EnableEncryptionWithCustomerManagedKey?  |  boolean  |  Se deve usar uma Chave KMS, gerenciada por este aplicativo CDK ou importada. Se importar uma chave de criptografia, ela deve ser especificada no campoencryptionKeypropriedade para esta construção.  | 
|  encryptionKey?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  Uma chave de criptografia opcional existente a ser usada em vez da chave de criptografia padrão.  | 
|  EncryptionKeyProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.KeyProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.KeyProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da chave de criptografia.  | 

## Propriedades do padrão
<a name="pattern-properties-39"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  SQSqueue  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Retorna uma instância da fila SQS criada pelo padrão.  | 
|  DeadletterQueue?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Retorna uma instância da fila de letras mortas criada pelo padrão, se uma for implantada.  | 
|  encryptionKey  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  Retorna uma instância da chave de criptografia criada pelo padrão.  | 
|  S3Bucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket S3 criado pelo padrão.  | 
|  S3loggingBucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket de log criado pelo padrão para o bucket S3.  | 

## Configurações padrão
<a name="default-settings-39"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Amazon S3 Bucket
<a name="amazon-s3-bucket-39"></a>
+  Configurar registro de acesso para o bucket do S3 
+  Ativar criptografia no lado do servidor para o S3 Bucket usando a chave KMS gerenciada pela AWS 
+  Ativar o controle de versão para o bucket do S3 
+  Não permitir acesso público para o S3 Bucket 
+  Manter o bucket do S3 ao excluir a pilha do CloudFormation 
+  Aplique a criptografia de dados em trânsito 
+  Aplica regra de ciclo de vida para mover versões de objetos não atuais para o armazenamento do Glacier após 90 dias

### Fila do Amazon SQS
<a name="aws-sqs-queue-39"></a>
+  Configurar permissões de acesso de menor privilégio para SQS Queue 
+  Implantar fila de mensagens mortas do SQS para a fila do SQS de origem 
+  Habilitar a criptografia no lado do servidor para a fila do SQS usando a KMS Key 
+  Aplique a criptografia de dados em trânsito 

## Architecture
<a name="architecture-39"></a>

![\[Diagram showing Amazon Simple Notification Service connecting to Amazon Simple Queue Service and AWS Lambda.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-s3-sqs.png)


## GitHub
<a name="github-39"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-s3-sqs](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-s3-sqs)  | 

# aws-s3-step-function
<a name="aws-s3-step-function"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Controle de versão semântica](https://semver.org/)Modelo Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1s3\$1step\$1function  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-s3-step-function  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.s3stepfunction  | 

## Overview
<a name="overview-22"></a>

 Este AWS Solutions Construct implementa um bucket do Amazon S3 conectado a uma função de etapa da AWS.

**nota**  
Essa construção usa o Amazon EventBridge (Amazon CloudWatch Events) para acionar as AWS Step Functions. O EventBridge é mais flexível, mas acionar Step Functions com notificações de eventos do S3 tem menos latência e é mais econômico. Se o custo e/ou a latência forem um problema, você deve considerar a implantação`aws-s3-lambda`e`aws-lambda-stepfunctions`no lugar desta construção.

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
import { S3ToStepFunction, S3ToStepFunctionProps } from '@aws-solutions-constructs/aws-s3-step-function';
import * as stepfunctions from '@aws-cdk/aws-stepfunctions';

const startState = new stepfunctions.Pass(this, 'StartState');

new S3ToStepFunction(this, 'test-s3-step-function-stack', {
    stateMachineProps: {
      definition: startState
    }
});
```

## Initializer
<a name="initializer-22"></a>

```
new S3ToStepFunction(scope: Construct, id: string, props: S3ToStepFunctionProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`S3ToStepFunctionProps`](#pattern-construct-props-22) 

## Adereços de construção de padrão
<a name="pattern-construct-props-22"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingBucketoBJ?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.IBucket.html)  |  Instância existente do objeto S3 Bucket. Se isso for fornecido, então também fornecendobucketPropsé um erro.  | 
|  Baldes?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.BucketProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão do bucket. Ignorado se umexistingBucketObjé fornecido.  | 
|  StateMachineProps  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachineProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachineProps.html)  |  O usuário opcional forneceu adereços para substituir os adereços padrão para SFN.StateMachine.  | 
|  Eventruleprops?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-events.RuleProps.html)  |  O usuário opcional forneceu EventruleProps para substituir os padrões.  | 
|  Implementar CloudTrail?  |  boolean  |  Implantar uma trilha no AWS CloudTrail para registrar eventos de API no Amazon S3. Padronizado como true.  | 
|  CreateCloudWatchAlms  |  boolean  |  Criar alarmes recomendados do CloudWatch.  | 
|  LoggroupProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroupProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para o grupo de logs do CloudWatch Logs.  | 

## Propriedades do padrão
<a name="pattern-properties-22"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  Cloudtrail?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudtrail.Trail.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudtrail.Trail.html)  |  Retorna uma instância da trilha Cloudtrail criada pelo padrão.  | 
|  CloudTrailBucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket criado pelo padrão para armazenar dados de trilha do Cloudtrail.  | 
|  CloudTrailLoggingBucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket de log criado pelo padrão para o bucket principal usado pela trilha do Cloudtrail.  | 
|  CloudwatchAlarm?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-cloudwatch.Alarm.html)  |  Retorna uma lista de um ou mais alarmes do CloudWatch criados pelo padrão.  | 
|  Balde?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket S3 criado pelo padrão.  | 
|  S3loggingBucket?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html)  |  Retorna uma instância do bucket de log criado pelo padrão para o bucket S3.  | 
|  StateMachine  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachine.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-stepfunctions.StateMachine.html)  |  Retorna uma instância da máquina de estado criada pelo padrão.  | 
|  StateMachineLogGroup  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-logs.LogGroup.html)  |  Retorna uma instância do grupo de logs criado pelo padrão para a máquina de estado.  | 

## Configurações padrão
<a name="default-settings-22"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Bucket do Amazon S3
<a name="amazon-s3-bucket-6"></a>
+  Configurar o log de acesso para o S3 Bucket. 
+  Ative a criptografia do lado do servidor para o S3 Bucket usando a chave KMS gerenciada pela AWS. 
+  Ative o controle de versão para o bucket do S3. 
+  Não permitir acesso público para o S3 Bucket. 
+  Mantenha o bucket do S3 ao excluir a pilha do CloudFormation. 
+  Aplique a criptografia de dados em trânsito 
+  Aplica a regra de ciclo de vida para mover versões de objetos não atuais para o armazenamento do Glacier após 90 dias.

### AWS CloudTrail
<a name="aws-cloudtrail"></a>
+  Configure uma trilha no AWS CloudTrail para registrar eventos de API no Amazon S3 relacionados ao bucket criado pelo Construct. 

### Amazon CloudWatch Events Regra
<a name="amazon-cloudwatch-events-rule-2"></a>
+  Conceda permissões de menor privilégio ao CloudWatch Events para acionar a Função Lambda. 

### AWS Step Function
<a name="aws-step-function-1"></a>
+  Ative o log do CloudWatch para API Gateway 
+  Implante as práticas recomendadas Alarmes do CloudWatch para a função Step. 

## Architecture
<a name="architecture-22"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-s3-step-function.png)


## GitHub
<a name="github-22"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-s3-step-function](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-s3-step-function)  | 

# aws-sns-lambda
<a name="aws-sns-lambda"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Semantic version](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1sns\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-sns-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.snslambda  | 

## Overview
<a name="overview-23"></a>

 Este AWS Solutions Construct implementa um Amazon SNS conectado a uma função do AWS Lambda. 

 Aqui está uma definição de padrão implantável mínima no TypeScript:

```
import { SnsToLambda, SnsToLambdaProps } from "@aws-solutions-constructs/aws-sns-lambda";

new SnsToLambda(this, 'test-sns-lambda', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
});
```

## Initializer
<a name="initializer-23"></a>

```
new SnsToLambda(scope: Construct, id: string, props: SnsToLambdaProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`SnsToLambdaProps`](#pattern-construct-props-23) 

## Adereços de criação de padrão
<a name="pattern-construct-props-23"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  ExistingTopicobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  Instância existente do objeto Tópico SNS, fornecendo tanto isso quantotopicPropscausará um erro.  | 
|  TopicProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.TopicProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.TopicProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão do tópico SNS.  | 

## Propriedades de padrão
<a name="pattern-properties-23"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 
|  snsTopic  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  Retorna uma instância do tópico SNS criado pelo padrão.  | 

## Configurações padrão
<a name="default-settings-23"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Tópico do Amazon SNS
<a name="amazon-sns-topic-1"></a>
+  Configurar permissões de acesso de menor privilégio para o tópico SNS. 
+  Habilite a criptografia do lado do servidor usando a chave KMS gerenciada pela AWS. 
+  Aplique a criptografia de dados em trânsito 

### Função do AWS Lambda
<a name="aws-lambda-function-14"></a>
+  Configurar a função do IAM de acesso de privilégio limitado para a função Lambda 
+  Habilite a reutilização de conexões com a função Keep-Alive para NodeJS Lambda. 
+  Ative rastreamento de X-Ray.
+  Configuração de variáveis de ambiente:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

## Architecture
<a name="architecture-23"></a>

![\[Diagram showing data flow between icons representing different cloud services or components.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-sns-lambda.png)


## GitHub
<a name="github-23"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-sns-lambda](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-sns-lambda)  | 

# aws-sns-sqs
<a name="aws-sns-sqs"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Controle de versões semânticas](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1sns\$1sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-sns-sqs  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.snssqs  | 

## Overview
<a name="overview-28"></a>

 Este AWS Solutions Construct implementa um tópico do Amazon SNS conectado a uma fila do Amazon SQS.

 Aqui está uma definição de padrão implantável mínima no TypeScript:

```
import { SnsToSqs, SnsToSqsProps } from "@aws-solutions-constructs/aws-sns-sqs";
import * as iam from '@aws-cdk/aws-iam';

const snsToSqsStack = new SnsToSqs(this, 'SnsToSqsPattern', {});

// Grant yourself permissions to use the Customer Managed KMS Key
const policyStatement = new iam.PolicyStatement({
    actions: ["kms:Encrypt", "kms:Decrypt"],
    effect: iam.Effect.ALLOW,
    principals: [ new iam.AccountRootPrincipal() ],
    resources: [ "*" ]
});

snsToSqsStack.encryptionKey?.addToResourcePolicy(policyStatement);
```

## Initializer
<a name="initializer-28"></a>

```
new SnsToSqs(scope: Construct, id: string, props: SnsToSqsProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`SnsToSqsProps`](#pattern-construct-props-28) 

## Adereços de construção de padrão
<a name="pattern-construct-props-28"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingTopicobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  Instância existente do objeto Tópico SNS, fornecendo tanto isso quantotopicPropscausará um erro.  | 
|  TopicProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.TopicProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.TopicProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão do tópico SNS. Ignorado se umexistingTopicObjé fornecido.  | 
|  ExistingQueueobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Uma fila SQS opcional existente a ser usada em vez da fila padrão. Fornecendo tanto isso quantoqueuePropscausará um erro.  | 
|  QueueProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da fila SQS. Ignorado se umexistingQueueObjé fornecido.  | 
|  Implementar DeadletterQueue?  |  boolean  |  Se criar uma fila secundária para ser usada como uma dead letter queue Padronizado como true.  | 
|  DeadletterQueueProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para a fila de letras inativas. Usado somente se odeployDeadLetterQueueestá definida como true.  | 
|  MaxReceiveCount?  |  number  |  O número de vezes que uma mensagem pode ser desenfileirada sem sucesso antes de ser movida para a dead letter queue. Padronizado como 15.  | 
|  EnableEncryptionWithCustomerManagedKey?  |  boolean  |  Se deve usar uma chave de criptografia gerenciada pelo cliente, gerenciada por este aplicativo CDK ou importada. Se importar uma chave de criptografia, ela deve ser especificada na caixaencryptionKeypropriedade para esta construção.  | 
|  encryptionKey  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  Uma chave de criptografia opcional existente a ser usada em vez da chave de criptografia padrão.  | 
|  EncryptionKeyProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.KeyProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.KeyProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da chave de criptografia.  | 

## Propriedades de padrão
<a name="pattern-properties-28"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  snsTopic  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sns.Topic.html)  |  Retorna uma instância do tópico SNS criado pelo padrão.  | 
|  encryptionKey  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kms.Key.html)  |  Retorna uma instância da chave de criptografia criada pelo padrão.  | 
|  SQSqueue  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Retorna uma instância da fila SQS criada pelo padrão.  | 
|  DeadletterQueue?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Retorna uma instância da fila de letras mortas criada pelo padrão, se uma for implantada.  | 

## Configurações padrão
<a name="default-settings-28"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Tópico do Amazon SNS
<a name="amazon-sns-topic-28"></a>
+  Configurar permissões de acesso de menor privilégio para o tópico SNS. 
+  Habilite a criptografia do lado do servidor usando a chave KMS gerenciada pela AWS. 
+  Aplique a criptografia de dados em trânsito 

### Fila do Amazon SQS
<a name="aws-lambda-function-28"></a>
+  Configure as permissões de acesso de menor privilégio para a fila SQS. 
+  Implante a fila de mensagens mortas para a fila do SQS de origem. 
+  Habilitar a criptografia no lado do servidor para a fila do SQS usando a chave do KMS gerenciada pelo cliente. 
+  Aplique a criptografia de dados em trânsito 

## Architecture
<a name="architecture-28"></a>

![\[Serviços da AWS diagram showing SNS, SQS, and Lambda interactions with queues and notifications.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-sns-sqs.png)


## GitHub
<a name="github-28"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-sns-sqs](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-sns-sqs)  | 

# aws-sqs-lambda
<a name="aws-sqs-lambda"></a>

![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Controle de versão semântica](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

**Observações:** Para garantir a funcionalidade adequada, os pacotes AWS Solutions Constructs e os pacotes CDK da AWS em seu projeto devem ser da mesma versão. 


|  **Linguagem**  |  **Pacote**  | 
| --- | --- | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\$1solutions\$1constructs.aws\$1sqs\$1lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-sqs-lambda  | 
|  ![\[alt text not found\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/java.png) Java  |  software.amazon.awsconstructs.services.sqslambda  | 

## Overview
<a name="overview-24"></a>

 Este AWS Solutions Construct implementa uma fila do Amazon SQS conectada a uma função do AWS Lambda. 

 Aqui está uma definição de padrão implantável mínima no TypeScript: 

```
const { SqsToLambda } = require('@aws-solutions-constructs/aws-sqs-lambda');

new SqsToLambda(stack, 'SqsToLambdaPattern', {
    lambdaFunctionProps: {
        runtime: lambda.Runtime.NODEJS_14_X,
        // This assumes a handler function in lib/lambda/index.js
        code: lambda.Code.fromAsset(`${__dirname}/lambda`),
        handler: 'index.handler'
    }
});
```

## Initializer
<a name="initializer-24"></a>

```
new SqsToLambda(scope: Construct, id: string, props: SqsToLambdaProps);
```

 *Parâmetros* 
+  escopo[https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html) 
+  id`string` 
+  props[`SqsToLambdaProps`](#pattern-construct-props-24) 

## Adereços de construção de padrão
<a name="pattern-construct-props-24"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  ExistingAmbdaobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Instância existente do objeto Lambda Function, fornecendo tanto isso elambdaFunctionPropscausará um erro.  | 
|  LambdaFunctionProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.FunctionProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da função Lambda. Ignorado se umexistingLambdaObjé fornecido.  | 
|  ExistingQueueobj?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Uma fila SQS opcional existente a ser usada em vez da fila padrão. Fornecendo tanto isso quantoqueuePropscausará um erro.  | 
|  QueueProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  Propriedades opcionais fornecidas pelo usuário para substituir as propriedades padrão da fila SQS. Ignorado se umexistingQueueObjé fornecido.  | 
|  ImplantyDeadletterQueue?  |  boolean  |  Criar uma fila secundária para ser usada como uma dead letter queue. Padronizado como true.  | 
|  DeadletterQueueProps?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.QueueProps.html)  |  Props opcionais fornecidos pelo usuário para substituir os adereços padrão para a fila de letras inativas. Usado somente se odeployDeadLetterQueueestá definida como true.  | 
|  MaxReceiveCount?  |  number  |  O número de vezes que uma mensagem pode ser desenfileirada sem sucesso antes de ser movida para a fila de mensagens mortas. Padronizado como 15.  | 

## Propriedades de padrão
<a name="pattern-properties-24"></a>


|  **Nome**  |  **Tipo**  |  **Descrição**  | 
| --- | --- | --- | 
|  DeadletterQueue?  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Retorna uma instância da fila de letras mortas criada pelo padrão, se uma for implantada.  | 
|  LambdaFunction  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html)  |  Retorna uma instância da função Lambda criada pelo padrão.  | 
|  SQSqueue  |  [https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-sqs.Queue.html)  |  Retorna uma instância da fila SQS criada pelo padrão.  | 

## Configurações padrão
<a name="default-settings-24"></a>

 A implementação imediata desse padrão sem substituições definirá os seguintes padrões:

### Fila do Amazon SQS
<a name="amazon-sqs-queue-1"></a>
+  Implantar fila de mensagens mortas do SQS para a fila do SQS de origem. 
+  Habilitar a criptografia no lado do servidor para a fila do SQS de origem usando a AWS Managed KMS Key. 
+  Aplique a criptografia de dados em trânsito 

### Função do AWS Lambda
<a name="aws-lambda-function-15"></a>
+  Configurar a função do IAM de acesso de privilégio limitado para a função Lambda 
+  Habilite a reutilização de conexões com a função Keep-Alive para NodeJS Lambda. 
+  Habilitar rastreamento do X-Ray
+  Definição de variáveis de ambiente:
  +  `AWS_NODEJS_CONNECTION_REUSE_ENABLED`(para funções Node 10.x e superiores)

## Architecture
<a name="architecture-24"></a>

![\[Diagram showing Amazon Simple Queue Service connecting to AWS Lambda, which interacts with CloudWatch and a Role.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-sqs-lambda.png)


## GitHub
<a name="github-24"></a>


|  **Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais:**  | 
| --- | 
|  ![\[Circular icon with a graduation cap symbol representing education or learning.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png)  |  [@aws -solutions-constructs/aws-sqs-lambda](https://github.com/awslabs/aws-solutions-constructs/tree/master/source/patterns/%40aws-solutions-constructs/aws-sqs-lambda)  | 

# core
<a name="core"></a>

![\[Two labels: "STABILITY" in gray and "EXPERIMENTAL" in orange.\]](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/experimental.png)


 Todas as classes estão em desenvolvimento ativo e estão sujeitas a alterações ou remoção não compatíveis com versões anteriores em qualquer versão futura. Estes não estão sujeitos à[Versionamento semântico](https://semver.org/)Modelo. Isso significa que, embora você possa usá-los, você pode precisar atualizar seu código-fonte ao atualizar para uma versão mais recente deste pacote. 

 A biblioteca principal inclui os blocos de construção básicos dos AWS Solutions Constructs. Ele define as classes principais que são usadas no resto dos AWS Solutions Constructs. 

## Propriedades padrão para construções CDK da AWS
<a name="default-properties-for-aws-cdk-constructs"></a>

 A biblioteca central define as propriedades padrão para as construções CDK da AWS usadas por construções de AWS Solutions Constructs. 

 Por exemplo, a seguir está o trecho de propriedades padrão para o construtor do S3 Bucket criado pelo construtor do AWS Solutions Constructs. Por padrão, ele ativará a criptografia do lado do servidor, o controle de versão do bucket, bloqueará todo o acesso público e configurará o log de acesso do S3. 

```
{
  encryption: s3.BucketEncryption.S3_MANAGED,
  versioned: true,
  blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL,
  removalPolicy: RemovalPolicy.RETAIN,
  serverAccessLogsBucket: loggingBucket
}
```

## Substituir as propriedades padrão
<a name="override-the-default-properties"></a>

 As propriedades padrão definidas pela biblioteca Core podem ser substituídas pelas propriedades fornecidas pelo usuário. Por exemplo, o usuário pode substituir a propriedade Block Public Access do Amazon S3 para atender a requisitos específicos. 

```
  const stack = new cdk.Stack();

  const props: CloudFrontToS3Props = {
    bucketProps: {
      blockPublicAccess: {
        blockPublicAcls: false,
        blockPublicPolicy: true,
        ignorePublicAcls: false,
        restrictPublicBuckets: true
      }
    }
  };

  new CloudFrontToS3(stack, 'test-cloudfront-s3', props);

  expect(stack).toHaveResource("AWS::S3::Bucket", {
    PublicAccessBlockConfiguration: {
      BlockPublicAcls: false,
      BlockPublicPolicy: true,
      IgnorePublicAcls: false,
      RestrictPublicBuckets: true
    },
  });
```

## Avisos de substituição de propriedades
<a name="property-override-warnings"></a>

 Quando uma propriedade padrão da biblioteca Core é substituída por uma propriedade fornecida pelo usuário, Constructs emitirá uma ou mais mensagens de aviso para o console destacando a (s) alteração (ões). Essas mensagens são destinadas a fornecer reconhecimento situacional ao usuário e evitar substituições não intencionais que possam criar riscos à segurança. Essas mensagens aparecerão sempre que comandos relacionados à implantação/compilação forem executados, incluindo`cdk deploy`,`cdk synth`,`npm test`, etc. 

 Exemplos de mensagem:`AWS_CONSTRUCTS_WARNING: An override has been provided for the property: BillingMode. Default value: 'PAY_PER_REQUEST'. You provided: 'PROVISIONED'.` 

### Alternar avisos de substituição
<a name="toggling-override-warnings"></a>

 As mensagens de aviso de substituição são ativadas por padrão, mas podem ser ativadas/desativadas explicitamente usando o comando`overrideWarningsEnabled`Variável shell. 
+  Para explicitamente*Desativar o*substituir avisos, executar`export overrideWarningsEnabled=false`. 
+  Para explicitamente*Ativar o*substituir avisos, executar`export overrideWarningsEnabled=true`. 
+  Para reverter para o padrão do`unset overrideWarningsEnabled`. 