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á.
Crie uma EventBridge regra para uma fonte do Amazon S3 (modelo)CloudFormation
Para usar CloudFormation para criar uma regra, atualize seu modelo conforme mostrado aqui.
Para criar uma EventBridge regra com o Amazon S3 como fonte e destino do evento e CodePipeline aplicar a política de permissões
-
No modelo, em
Resources, use oAWS::IAM::RoleCloudFormation recurso para configurar a função do IAM que permite que seu evento inicie seu pipeline. Essa entrada cria uma função que utiliza duas políticas:-
A primeira política permite que a função seja assumida.
-
A segunda política fornece permissões para iniciar o pipeline.
Por que estou fazendo essa alteração? Adicionar
AWS::IAM::Rolerecursos permite CloudFormation criar permissões para EventBridge. Esse recurso é adicionado à sua CloudFormation pilha. -
-
Use o
AWS::Events::RuleCloudFormation recurso para adicionar uma EventBridge regra. Esse padrão de evento cria um evento que monitoraCopyObject,PutObjecteCompleteMultipartUploadno bucket de origem do Amazon S3. Além disso, inclua um destino de seu pipeline. QuandoCopyObject,PutObjectouCompleteMultipartUploadocorrer, essa regra invocaStartPipelineExecutionem seu pipeline de destino.Por que estou fazendo essa alteração? Adicionar o
AWS::Events::Rulerecurso permite CloudFormation criar o evento. Esse recurso é adicionado à sua CloudFormation pilha. -
Adicione este trecho ao primeiro modelo para permitir a funcionalidade de pilha cruzada:
-
(Opcional) Para configurar um transformador de entrada com substituições de origem para um ID de imagem específico, use o trecho YAML a seguir. O exemplo a seguir configura uma substituição na qual:
-
O
actionName,Sourceneste exemplo, é o valor dinâmico, definido na criação do pipeline, não derivado do evento de origem. -
O
revisionType,S3_OBJECT_VERSION_IDneste exemplo, é o valor dinâmico, definido na criação do pipeline, não derivado do evento de origem. -
O
revisionValue, <revisionValue> neste exemplo, é derivado da variável de evento de origem.
--- Rule: my-rule Targets: - Id: MyTargetId Arn:pipeline-ARNInputTransformer: InputPathsMap: revisionValue: "$.detail.object.version-id" InputTemplate: sourceRevisions: actionName:SourcerevisionType:S3_OBJECT_VERSION_IDrevisionValue: '<revisionValue>' -
-
Salve o modelo atualizado no computador local e abra o CloudFormation console.
-
Selecione sua pilha e clique em Create Change Set for Current Stack (Criar conjunto de alterações para a pilha atual).
-
Carregue o modelo atualizado e, em seguida, visualize as alterações listadas no CloudFormation. Essas são as alterações que serão feitas na pilha. Seus novos recursos devem ser exibidos na lista.
-
Clique em Executar.
Para editar o PollForSourceChanges parâmetro do seu funil
Importante
Ao criar um pipeline com esse método, o parâmetro PollForSourceChanges é padronizado como verdadeiro se não for explicitamente definido como falso. Ao adicionar a detecção de alterações baseada em eventos, é necessário adicionar o parâmetro a sua saída e defini-lo como falso para desativar a sondagem. Caso contrário, o pipeline inicia duas vezes para uma única alteração de origem. Para obter detalhes, consulte Configurações válidas para o parâmetro PollForSourceChanges.
-
No modelo, altere
PollForSourceChangesparafalse. Se você não incluirPollForSourceChangesna sua definição de pipeline, adicione-o e configure parafalse.Por que estou fazendo essa alteração? A alteração de
PollForSourceChangesparafalsedesativa as verificações periódicas para que você possa utilizar apenas a detecção de alterações baseada em eventos.
Para criar um segundo modelo para os recursos do seu pipeline do Amazon S3 CloudTrail
-
Em um modelo separado, em
Resources, use oAWS::S3::Bucket,AWS::S3::BucketPolicy, eAWS::CloudTrail::TrailCloudFormation recursos para fornecer uma definição simples de bucket e uma trilha para CloudTrail.Por que estou fazendo essa alteração? Dado o limite atual de cinco trilhas por conta, a CloudTrail trilha deve ser criada e gerenciada separadamente. (Consulte Limites em AWS CloudTrail.) No entanto, você pode incluir vários buckets do Amazon S3 em uma única trilha, para que possa criar a trilha uma vez e adicionar buckets do Amazon S3 para outros pipelines, conforme for necessário. Cole o seguinte no arquivo do segundo modelo de exemplo.