

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á.

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

![](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**  | 
| --- | --- | 
|  ![](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/python.png) Python  |  aws\_solutions\_constructs.aws\_s3\_step\_function  | 
|  ![](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/typescript.png) TypeScript  |  @aws-solutions-constructs/aws-s3-step-function  | 
|  ![](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>

![](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/aws-s3-step-function.png)


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


<table>
<thead>
  <tr><th colspan="2"> Para exibir o código desse padrão, crie/exiba problemas e solicitações pull e muito mais: </th></tr>
</thead>
<tbody>
  <tr><td> ![](http://docs.aws.amazon.com/pt_br/solutions/latest/constructs/images/GitHub-Mark-32px.png) </td><td> [@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) </td></tr>
</tbody>
</table>
