

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 da ação de origem do Amazon S3
<a name="action-reference-S3"></a>

Aciona o pipeline quando um novo objeto é carregado no bucket e na chave do objeto.

**nota**  
Este tópico de referência descreve a ação de origem do Amazon S3 para CodePipeline onde o local de origem é um bucket do Amazon S3 configurado para versionamento. Para obter informações de referência sobre a ação de implantação do Amazon S3 em CodePipeline, consulte. [Referência da ação de implantação do Amazon S3](action-reference-S3Deploy.md)

Você pode criar um bucket do Amazon S3 para usar como local de origem dos arquivos da sua aplicação.

**nota**  
Ao criar seu bucket de origem, certifique-se de ativar o versionamento no bucket. Para usar um bucket existente do Amazon S3, consulte [Usar o versionamento](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) para habilitar o versionamento em um bucket existente.

Se você usa o console para criar ou editar seu pipeline, CodePipeline cria uma EventBridge regra que inicia seu pipeline quando ocorre uma alteração no bucket de origem do S3.

**nota**  
Para Amazon ECR, Amazon S3 CodeCommit ou fontes, você também pode criar uma substituição de origem usando a entrada de transformação de entrada para usar `revisionValue` o EventBridge in para seu evento de pipeline, onde `revisionValue` o é derivado da variável de evento de origem para sua chave de objeto, confirmação ou ID de imagem. Para saber mais, consulte a etapa opcional da entrada da transformação de entrada incluída nos procedimentos em [Recursos e ações de origem do Amazon ECR EventBridge](create-cwe-ecr-source.md), [Conexão a ações de origem do Amazon S3 com uma fonte habilitada para eventos](create-S3-source-events.md) ou [CodeCommit ações de origem e EventBridge](triggering.md).

Você já deve ter criado um bucket de origem do Amazon S3 e carregado os arquivos de origem como um único arquivo ZIP antes de conectar o pipeline por meio de uma ação do Amazon S3.

**nota**  
Quando o Amazon S3 é o provedor de origem do pipeline, é possível compactar o(s) arquivo(s) de origem em um único .zip e fazer upload do .zip para o bucket de origem. Também é possível fazer upload de um único arquivo descompactado; no entanto, ocorrerão falha nas ações downstream que aguardam um arquivo .zip.

**Topics**
+ [Tipo de ação](#action-reference-S3-type)
+ [Parâmetros de configuração](#action-reference-S3-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-S3-input)
+ [Artefatos de saída](#action-reference-S3-output)
+ [Variáveis de saída](#action-reference-S3-variables)
+ [Permissões do perfil de serviço: ação de origem do S3](#edit-role-s3source)
+ [Declaração de ação](#action-reference-S3-example)
+ [Consulte também](#action-reference-S3-links)

## Tipo de ação
<a name="action-reference-S3-type"></a>
+ Categoria: `Source`
+ Proprietário: `AWS`
+ Fornecedor: `S3`
+ Versão: `1`

## Parâmetros de configuração
<a name="action-reference-S3-config"></a>

**S3 Bucket**  
Obrigatório: Sim  
O nome do bucket do Amazon S3 em que as alterações na origem devem ser detectadas.

**S3 ObjectKey**  
Obrigatório: Sim  
O nome da chave de objeto do Amazon S3 em que as alterações na origem devem ser detectadas.

**AllowOverrideForS3ObjectKey**  
Obrigatório: não  
`AllowOverrideForS3ObjectKey` controla se as substituições de origem de `StartPipelineExecution` podem substituir a `S3ObjectKey` que já está configurada na ação de origem. Para ter mais informações sobre substituições de origem com a chave de objeto do S3, consulte [Iniciar um pipeline com uma substituição da revisão de origem](pipelines-trigger-source-overrides.md).  
Se você omitir`AllowOverrideForS3ObjectKey`, CodePipeline assume como padrão a capacidade de substituir o S3 ObjectKey na ação de origem definindo esse parâmetro como. `false`
Os valores válidos para esse parâmetro:  
+ `true`: se definido, a chave de objeto do S3 pré-configurada poderá ser substituída por revisões de origem durante a execução de um pipeline.
**nota**  
Se você pretende permitir que todos os CodePipeline usuários substituam a chave de objeto S3 pré-configurada ao iniciar a execução de um novo pipeline, defina como. `AllowOverrideForS3ObjectKey` `true`
+ `false`: 

  Se definido, não CodePipeline permitirá que a chave de objeto do S3 seja substituída usando substituições de revisão de origem. Esse também é o valor padrão para este parâmetro.

**PollForSourceChanges**  
Obrigatório: não  
`PollForSourceChanges`controla se CodePipeline pesquisa o bucket de origem do Amazon S3 em busca de alterações na fonte. Em vez disso, recomendamos que você use CloudWatch Eventos e CloudTrail detecte alterações na fonte. Para obter mais informações sobre a configuração de CloudWatch eventos, consulte [Migre os pipelines de votação com uma fonte e trilha CloudTrail (CLI) do S3](update-change-detection.md#update-change-detection-cli-S3) ou[Migre os pipelines de votação com uma fonte e CloudTrail uma trilha do S3 (modelo)CloudFormation](update-change-detection.md#update-change-detection-cfn-s3).  
Se você pretende configurar CloudWatch Eventos, deve definir `PollForSourceChanges` `false` para evitar execuções duplicadas no pipeline.
Os valores válidos para esse parâmetro:  
+ `true`: se definido, CodePipeline pesquisa sua localização de origem em busca de alterações na fonte.
**nota**  
Se você omitir`PollForSourceChanges`, o CodePipeline padrão é pesquisar seu local de origem para verificar as alterações na fonte. Esse comportamento será o mesmo quando o `PollForSourceChanges` estiver incluído e definido como `true`.
+ `false`: se definido, CodePipeline não pesquisa o local de origem em busca de alterações na fonte. Use essa configuração se você pretende configurar uma regra de CloudWatch Eventos para detectar alterações na origem.

## Input artifacts (Artefatos de entrada)
<a name="action-reference-S3-input"></a>
+ **Número de artefatos:** `0`
+ **Descrição:** os artefatos de entrada não se aplicam a esse tipo de ação.

## Artefatos de saída
<a name="action-reference-S3-output"></a>
+ **Número de artefatos:** `1` 
+ **Descrição:** fornece os artefatos disponíveis no bucket de origem configurado para conectar-se ao pipeline. Os artefatos gerados no bucket são os artefatos de saída para a ação do Amazon S3. Os metadados do objeto Amazon S3 (ETag e o ID da versão) são exibidos CodePipeline como a revisão de origem para a execução do pipeline acionado.

## Variáveis de saída
<a name="action-reference-S3-variables"></a>

Quando configurada, essa ação produz variáveis que podem ser referenciadas pela configuração de ação de uma ação downstream no pipeline. Esta ação produz variáveis que podem ser visualizadas como variáveis de saída, mesmo que a ação não tenha um namespace. Configure uma ação com um namespace a fim de disponibilizar as variáveis para a configuração de ações downstream.

Para obter mais informações sobre variáveis em CodePipeline, consulte[Referência de variáveis](reference-variables.md).

**BucketName**  
O nome do bucket do Amazon S3 relacionado à alteração de origem que acionou o pipeline.

**ETag**  
A tag de entidade do objeto relacionado à alteração na origem que acionou o pipeline. ETag É um MD5 hash do objeto. ETag reflete somente as alterações no conteúdo de um objeto, não em seus metadados.

**ObjectKey**  
O nome da chave de objeto do Amazon S3 relacionada à alteração de origem que acionou o pipeline.

**VersionId**  
O ID da versão do objeto relacionado à alteração na origem que acionou o pipeline.

## Permissões do perfil de serviço: ação de origem do S3
<a name="edit-role-s3source"></a>

Para suporte à ação de origem do S3, adicione o seguinte à declaração da política:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:GetBucketVersioning",
        "s3:GetBucketAcl",
        "s3:GetBucketLocation",
        "s3:GetObjectTagging",
        "s3:GetObjectVersionTagging"
      ],
      "Resource": [
        "arn:aws:s3:::[[S3Bucket]]",
        "arn:aws:s3:::[[S3Bucket]]/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": "111122223333"
        }
      }
    }
  ]
}
```

------

## Declaração de ação
<a name="action-reference-S3-example"></a>

------
#### [ YAML ]

```
Name: Source
Actions:
  - RunOrder: 1
    OutputArtifacts:
      - Name: SourceArtifact
    ActionTypeId:
      Provider: S3
      Owner: AWS
      Version: '1'
      Category: Source
    Region: us-west-2
    Name: Source
    Configuration:
      S3Bucket: amzn-s3-demo-source-bucket
      S3ObjectKey: my-application.zip
      PollForSourceChanges: 'false'
    InputArtifacts: []
```

------
#### [ JSON ]

```
{
    "Name": "Source",
    "Actions": [
        {
            "RunOrder": 1,
            "OutputArtifacts": [
                {
                    "Name": "SourceArtifact"
                }
            ],
            "ActionTypeId": {
                "Provider": "S3",
                "Owner": "AWS",
                "Version": "1",
                "Category": "Source"
            },
            "Region": "us-west-2",
            "Name": "Source",
            "Configuration": {
                "S3Bucket": "amzn-s3-demo-source-bucket",
                "S3ObjectKey": "my-application.zip",
                "PollForSourceChanges": "false"
            },
            "InputArtifacts": []
        }
    ]
},
```

------

## Consulte também
<a name="action-reference-S3-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [Tutorial: Criar um pipeline simples (bucket do S3)](tutorials-simple-s3.md)— Este tutorial fornece um exemplo de arquivo de especificação do aplicativo e um exemplo de grupo de implantação e CodeDeploy aplicativo. Use este tutorial para criar um pipeline com uma origem do Amazon S3 implantada em instâncias do Amazon EC2.