Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Crear una EventBridge regla para una fuente de Amazon ECR (CLI)

Modo de enfoque
Crear una EventBridge regla para una fuente de Amazon ECR (CLI) - AWS CodePipeline

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejecute el comando put-rule especificando lo siguiente:

  • Un nombre que identifique de forma inequívoca la regla que está creando. Este nombre debe ser único en todas las canalizaciones que cree CodePipeline asociadas a su AWS cuenta.

  • El patrón de eventos para el origen y los campos de detalles utilizados por la regla. Para obtener más información, consulta Amazon EventBridge y Event Patterns.

Para crear una EventBridge regla con Amazon ECR como origen y destino CodePipeline del evento
  1. Añada los permisos EventBridge para utilizarlos CodePipeline para invocar la regla. Para obtener más información, consulta Uso de políticas basadas en recursos para Amazon. EventBridge

    1. Utilice el siguiente ejemplo para crear la política de confianza que permite que EventBridge asuma el rol de servicio. Ponga un nombre a la política de confianza trustpolicyforEB.json.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Utilice el comando para crear el rol Role-for-MyRule y asocie la política de confianza.

      aws iam create-role --role-name Role-for-MyRule --assume-role-policy-document file://trustpolicyforEB.json
    3. Cree el JSON de la política de permisos, tal y como se muestra en este ejemplo para la canalización denominada MyFirstPipeline. Ponga un nombre a la política de permisos permissionspolicyforEB.json.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codepipeline:StartPipelineExecution" ], "Resource": [ "arn:aws:codepipeline:us-west-2:80398EXAMPLE:MyFirstPipeline" ] } ] }
    4. Utilice el siguiente comando para asociar la política de permisos CodePipeline-Permissions-Policy-for-EB al rol Role-for-MyRule.

      ¿Por qué voy a hacer este cambio? Al añadir esta política al rol, se crean permisos para. EventBridge

      aws iam put-role-policy --role-name Role-for-MyRule --policy-name CodePipeline-Permissions-Policy-For-EB --policy-document file://permissionspolicyforEB.json
  2. Llame al comando put-rule e incluya los parámetros --name, --event-pattern y --role-arn.

    ¿Por qué voy a hacer este cambio? Debe crear un evento con una regla que especifique cómo se debe hacer una inserción de imagen, y un objetivo que indique el nombre de la canalización que va a iniciar el evento.

    El siguiente comando de ejemplo crea una regla llamada MyECRRepoRule.

    aws events put-rule --name "MyECRRepoRule" --event-pattern "{\"detail-type\":[\"ECR Image Action\"],\"source\":[\"aws.ecr\"],\"detail\":{\"action-type\":[\"PUSH\"],\"image-tag\":[\"latest\"],\"repository-name\":[\"eb-test\"],\"result\":[\"SUCCESS\"]}}}" --role-arn "arn:aws:iam::ACCOUNT_ID:role/Role-for-MyRule"
    nota

    Para ver el patrón de eventos completo compatible con los eventos de Amazon ECR, consulte Amazon ECR Events o EventBridge Amazon Elastic Container Registry Events.

  3. Para añadirlo CodePipeline como destino, put-targets ejecute el comando e incluya los siguientes parámetros:

    • El parámetro --rule se usa con el rule_name que creó con el comando put-rule.

    • El parámetro --targets se usa con el Id del destino de la lista de destinos y el ARN de la canalización de destino.

    El siguiente comando de muestra especifica que, para la regla denominada MyECRRepoRule, el destino Id se compone del número uno, lo que indica que, en lo que puede ser una lista de destinos de la regla, se trata del destino 1. El comando de ejemplo también especifica un Arn de ejemplo para la canalización y el RoleArn de ejemplo para la regla. La canalización se inicia cuando se produce algún cambio en el repositorio.

    aws events put-targets --rule MyECRRepoRule --targets Id=1,Arn=arn:aws:codepipeline:us-west-2:80398EXAMPLE:TestPipeline,RoleArn=arn:aws:iam::80398EXAMPLE:role/Role-for-MyRule
  4. (Opcional) Para configurar un transformador de entrada con anulaciones de fuente para un ID de imagen específico, utilice el siguiente JSON en el comando CLI. En el siguiente ejemplo, se configura una anulación en la que:

    • SourceEn este ejemploactionName, es el valor dinámico, definido en la creación de la canalización, no derivado del evento de origen.

    • IMAGE_DIGESTEn este ejemplorevisionType, es el valor dinámico, definido en el momento de la creación de la canalización, no derivado del evento de origen.

    • En este ejemplorevisionValue, < revisionValue > se deriva de la variable del evento de origen.

    { "Rule": "my-rule", "Targets": [ { "Id": "MyTargetId", "Arn": "ARN", "InputTransformer": { "InputPathsMap": { "revisionValue": "$.detail.image-digest" }, "InputTemplate": { "sourceRevisions": { "actionName": "Source", "revisionType": "IMAGE_DIGEST", "revisionValue": "<revisionValue>" } } } } ] }
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.