Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Création d'une EventBridge règle pour une source Amazon S3 (AWS CloudFormation modèle)
AWS CloudFormation Pour créer une règle, mettez à jour votre modèle comme indiqué ici.
Pour créer une EventBridge règle avec Amazon S3 comme source d'événement et CodePipeline comme cible et appliquer la politique d'autorisations
-
Dans le modèle, ci-dessous
Resources, utilisez laAWS::IAM::RoleAWS CloudFormation ressource pour configurer le rôle IAM qui permet à votre événement de démarrer votre pipeline. Cette entrée crée un rôle qui utilise deux stratégies :-
La première stratégie autorise le rôle à être endossé.
-
La deuxième stratégie fournit des autorisations pour démarrer le pipeline.
Pourquoi est-ce que j'effectue cette modification ? L'ajout
AWS::IAM::Rolede ressources AWS CloudFormation permet de créer des autorisations pour EventBridge. Cette ressource est ajoutée à votre AWS CloudFormation pile. -
-
Utilisez la
AWS::Events::RuleAWS CloudFormation ressource pour ajouter une EventBridge règle. Ce modèle d'événement crée un événement qui surveilleCopyObjectPutObjectetCompleteMultipartUploadsur votre compartiment source Amazon S3. En outre, incluez une cible de votre pipeline. LorsqueCopyObject,PutObjectouCompleteMultipartUploadse produit, cette règle appelleStartPipelineExecutionsur votre pipeline cible.Pourquoi est-ce que j'effectue cette modification ? L'ajout de la
AWS::Events::Ruleressource AWS CloudFormation permet de créer l'événement. Cette ressource est ajoutée à votre AWS CloudFormation pile. -
Ajoutez cet extrait à votre premier modèle pour autoriser les fonctionnalités entre piles :
-
(Facultatif) Pour configurer un transformateur d'entrée avec des remplacements de source pour un ID d'image spécifique, utilisez l'extrait de code YAML suivant. L'exemple suivant configure une dérogation dans laquelle :
-
SourceDans cet exempleactionName, il s'agit de la valeur dynamique, définie lors de la création du pipeline, qui n'est pas dérivée de l'événement source. -
S3_OBJECT_VERSION_IDDans cet exemplerevisionType, il s'agit de la valeur dynamique, définie lors de la création du pipeline, qui n'est pas dérivée de l'événement source. -
Dans cet exemple
revisionValue, le, <revisionValue> est dérivé de la variable d'événement source.
--- Rule: my-rule Targets: - Id: MyTargetId Arn:pipeline-ARNInputTransformer: InputPathsMap: revisionValue: "$.detail.object.version-id" InputTemplate: sourceRevisions: actionName:SourcerevisionType:S3_OBJECT_VERSION_IDrevisionValue: '<revisionValue>' -
-
Enregistrez le modèle mis à jour sur votre ordinateur local et ouvrez la AWS CloudFormation console.
-
Choisissez votre pile, puis Créer un jeu de modifications pour la pile actuelle.
-
Chargez votre modèle mis à jour, puis affichez les modifications répertoriées dans AWS CloudFormation. Il s'agit des modifications qui seront apportées à la pile. Vos nouvelles ressources doivent figurer dans la liste.
-
Sélectionnez Execute (Exécuter).
Pour modifier le PollForSourceChanges paramètre de votre pipeline
Important
Lorsque vous créez un pipeline avec cette méthode, le paramètre PollForSourceChanges prend la valeur Vrai par défaut s'il n'est pas explicitement défini sur Faux. Lorsque vous ajoutez la détection des modifications basée sur les événements, vous devez ajouter le paramètre à votre sortie et le configurer sur Faux pour désactiver l'interrogation. Sinon, votre pipeline démarre deux fois pour une seule modification de source. Pour en savoir plus, consultez Réglages valides pour le PollForSourceChanges paramètre.
-
Dans le modèle, remplacez la valeur du paramètre
PollForSourceChangesparfalse. Si vous n'avez pas inclusPollForSourceChangesdans votre définition de pipeline, ajoutez ce paramètre et définissez-le surfalse.Pourquoi est-ce que j'effectue cette modification ? Le remplacement de la valeur du paramètre
PollForSourceChangesparfalsedésactive les vérifications périodiques, ce qui vous permet d'utiliser la détection des modifications basée sur les événements uniquement.
Pour créer un deuxième modèle pour les CloudTrail ressources de votre pipeline Amazon S3
-
Dans un modèle distinct, sous
Resources, utilisez lesAWS::CloudTrail::TrailAWS CloudFormation ressourcesAWS::S3::BucketAWS::S3::BucketPolicy, et pour fournir une définition de compartiment et un suivi simples pour CloudTrail.Pourquoi est-ce que je fais ce changement ? Compte tenu de la limite actuelle de cinq sentiers par compte, le CloudTrail sentier doit être créé et géré séparément. (Voir Limites dans AWS CloudTrail.) Cependant, vous pouvez inclure de nombreux compartiments Amazon S3 sur un seul parcours, de sorte que vous pouvez créer le suivi une seule fois, puis ajouter des compartiments Amazon S3 pour d'autres pipelines si nécessaire. Collez ce qui suit dans votre deuxième exemple de fichier de modèle.