

Aviso de fin del soporte: el 7 de octubre de 2026 AWS finalizará el soporte para AWS Proton. Después del 7 de octubre de 2026, ya no podrás acceder a la AWS Proton consola ni a AWS Proton los recursos. La infraestructura implementada permanecerá intacta. Para obtener más información, consulte la [Guía AWS Proton de obsolescencia y migración del servicio](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html).

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.

# Actualización de una canalización de servicios
<a name="ag-svc-pipeline-update"></a>

Aprenda a actualizar una canalización AWS Proton de servicios y a cancelar la actualización.

Una canalización de servicios pertenece a un servicio. Solo puede crear o eliminar una canalización en el contexto de las acciones de [creación](ag-create-svc.md) y [eliminación](ag-svc-delete.md) de servicios.

Existen cuatro modos de actualizar una canalización de servicios, tal y como se describe en la siguiente lista. Al usar el AWS CLI, el `deployment-type` campo define el modo. Cuando se utiliza la consola, estos modos se asignan a las opciones **Editar canalización** y **Actualizar a la versión recomendada**.

  
`NONE`  
En este modo, *no* se produce ninguna implementación. Solo se actualizan los parámetros de metadatos solicitados.

  
`CURRENT_VERSION`  
En este modo, la canalización de servicio se implementa y actualiza con la nueva especificación que se proporcione. Solo se actualizan los parámetros solicitados. *No* incluya parámetros de versiones principales o secundarias cuando utilice este `deployment-type`.

  
`MINOR_VERSION`  
En este modo, la canalización de servicio se implementa y actualiza con la versión secundaria recomendada (más reciente) publicada de la versión principal actual que se utiliza de forma predeterminada. También puede especificar una versión secundaria diferente de la versión principal que se está utilizando actualmente.

  
`MAJOR_VERSION`  
En este modo, la canalización de servicios se implementa y actualiza con la versión principal y secundaria publicada y recomendada (más reciente) de la plantilla actual de forma predeterminada. También puede especificar una versión principal diferente que sea superior a la versión principal en uso y una versión secundaria (opcional).

Si es así, puede intentar cancelar el despliegue de una actualización de la `deploymentStatus` canalización de servicios`IN_PROGRESS`. AWS Proton intenta cancelar el despliegue. No se garantiza que la cancelación se realice correctamente.

Cuando se cancela un despliegue de actualización, se AWS Proton intenta cancelar el despliegue tal y como se indica en los pasos siguientes.
+ Establece el estado de la implementación en `CANCELLING`.
+ Detiene la implementación en curso y elimina cualquier recurso nuevo que haya creado dicha implementación cuando está `IN_PROGRESS`.
+ Establece el estado de la implementación en `CANCELLED`.
+ Revierte el estado del recurso al que tenía antes de que se iniciara la implementación.

Para obtener más información sobre cómo cancelar el despliegue de una canalización de servicios, consulta [CancelServicePipelineDeployment](https://docs.aws.amazon.com/proton/latest/APIReference/API_CancelServicePipelineDeployment.html)la *referencia de la AWS Proton API*.

**Usa la consola o AWS CLI para realizar actualizaciones o cancelar las implementaciones de actualizaciones.**

------
#### [ Consola de administración de AWS ]

**Actualice una canalización de servicio mediante la consola tal y como se describe en los pasos siguientes.**

1. En la [consola de AWS Proton](https://console.aws.amazon.com//proton/), seleccione **Configuración**.

1. En la lista de servicios, elija el nombre del servicio cuya canalización desee actualizar.

1. Hay dos pestañas en la página de detalles del servicio: **Información general** y **Canalización**. Elija **Canalización**.

1. Si desea actualizar las especificaciones, seleccione **Editar canalización**, rellene cada formulario y seleccione **Siguiente** hasta completar el formulario final y, a continuación, seleccione **Actualizar canalización**.

   Si desea actualizar a una nueva versión y hay un **Icono de información** que indica que hay una nueva versión disponible en la **Plantilla de canalización**, elija el nombre de la nueva versión de la plantilla.

   1. Seleccione **Actualizar a la versión recomendada**.

   1. Rellene cada formulario y elija **Siguiente** hasta que complete el formulario final y seleccione **Actualizar**.

------
#### [ AWS CLI ]

**Actualice una canalización de servicio a una nueva versión secundaria, como se muestra en los siguientes comandos y respuestas de ejemplo de la CLI.**

Al actualizar la canalización de servicio con una `spec` modificada, puede utilizar `"${Proton::CURRENT_VAL}"` para indicar qué valores de parámetros desea conservar de la `spec` original, siempre y cuando dichos valores existan en la `spec`. Utilice `get-service` para ver la `spec` original de una canalización de servicio, tal y como se describe en [Visualización de datos de servicio](ag-svc-view.md).

El siguiente ejemplo muestra cómo puede utilizar `"${Proton::CURRENT_VAL}"` en una `spec`.

Especificación:

```
proton: ServiceSpec

pipeline:
  my_sample_pipeline_optional_input: "${Proton::CURRENT_VAL}"
  my_sample_pipeline_required_input: "${Proton::CURRENT_VAL}"

instances:
  - name: "my-instance"
    environment: "simple-env"
    spec:
      my_sample_service_instance_optional_input: "${Proton::CURRENT_VAL}"
      my_sample_service_instance_required_input: "${Proton::CURRENT_VAL}"
  - name: "my-other-instance"
    environment: "simple-env"
    spec:
      my_sample_service_instance_required_input: "789"
```

Comando: actualizar

```
$ aws proton update-service-pipeline \
    --service-name "{{simple-svc}}" \
    --spec "{{file://service-spec.yaml}}" \
    --template-major-version "{{1}}" \
    --template-minor-version "{{1}}" \
    --deployment-type "{{MINOR_VERSION}}"
```

Respuesta:

```
{
    "pipeline": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "createdAt": "2021-04-02T21:29:59.962000+00:00",
        "deploymentStatus": "IN_PROGRESS",
        "lastDeploymentAttemptedAt": "2021-04-02T21:39:28.991000+00:00",
        "lastDeploymentSucceededAt": "2021-04-02T21:29:59.962000+00:00",
        "spec": "proton: ServiceSpec\n\npipeline:\n  my_sample_pipeline_optional_input: \"abc\"\n  my_sample_pipeline_required_input: \"123\"\n\ninstances:\n  - name: \"my-instance\"\n    environment: \"MySimpleEnv\"\n    spec:\n      my_sample_service_instance_optional_input: \"def\"\n      my_sample_service_instance_required_input: \"456\"\n  - name: \"my-other-instance\"\n    environment: \"MySimpleEnv\"\n    spec:\n      my_sample_service_instance_required_input: \"789\"\n",
        "templateMajorVersion": "1",
        "templateMinorVersion": "0",
        "templateName": "svc-simple"
    }
}
```

Comando: obtener y confirmar el estado

```
$ aws proton get-service \
    --name "{{simple-svc}}"
```

Respuesta:

```
{
    "service": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc",
        "branchName": "main",
        "createdAt": "2021-04-02T21:29:59.962000+00:00",
        "lastModifiedAt": "2021-04-02T21:30:54.364000+00:00",
        "name": "simple-svc",
        "pipeline": {
            "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline",
            "createdAt": "2021-04-02T21:29:59.962000+00:00",
            "deploymentStatus": "SUCCEEDED",
            "lastDeploymentAttemptedAt": "2021-04-02T21:39:28.991000+00:00",
            "lastDeploymentSucceededAt": "2021-04-02T21:39:28.991000+00:00",
            "spec": "proton: ServiceSpec\n\npipeline:\n  my_sample_pipeline_optional_input: \"abc\"\n  my_sample_pipeline_required_input: \"123\"\n\ninstances:\n  - name: \"instance-one\"\n    environment: \"simple-env\"\n    spec:\n      my_sample_service_instance_optional_input: \"def\"\n      my_sample_service_instance_required_input: \"456\"\n  - name: \"my-other-instance\"\n    environment: \"simple-env\"\n    spec:\n      my_sample_service_instance_required_input: \"789\"\n",
            "templateMajorVersion": "1",
            "templateMinorVersion": "1",
            "templateName": "svc-simple"
        },
        "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "repositoryId": "repo-name/myorg-myapp",
        "spec": "proton: ServiceSpec\n\npipeline:\n  my_sample_pipeline_optional_input: \"abc\"\n  my_sample_pipeline_required_input: \"123\"\n\ninstances:\n  - name: \"instance-one\"\n    environment: \"simple-env\"\n    spec:\n      my_sample_service_instance_optional_input: \"def\"\n      my_sample_service_instance_required_input: \"456\"\n  - name: \"my-other-instance\"\n    environment: \"simple-env\"\n    spec:\n      my_sample_service_instance_required_input: \"789\"\n",
        "status": "ACTIVE",
        "templateName": "svc-simple"
    }
}
```

------

------
#### [ Consola de administración de AWS ]

**Cancele la implementación de una canalización de servicio mediante la consola, tal y como se muestra en los pasos siguientes.**

1. En la [consola de AWS Proton](https://console.aws.amazon.com//proton/), elija **Servicios** en el panel de navegación.

1. En la lista de servicios, elija el nombre del servicio que contenga la canalización con la actualización de implementación que desee cancelar.

1. En la página de detalles del servicio, elija la pestaña **Canalización**.

1. Si el estado de la implementación de la actualización está **En curso**, en la página de detalles de la canalización de servicios, seleccione **Cancelar implementación**.

1. Un modal le pedirá que confirme la cancelación. Seleccione **Cancelar implementación**.

1. El estado de la implementación de la actualización se establece en **Cancelando** y, a continuación, en **Cancelado** para completar la cancelación.

------
#### [ AWS CLI ]

**Cancele la actualización de implementación de una canalización de servicio con estado IN\_PROGRESS a la versión secundaria 2, como se muestra en los siguientes comandos y respuestas de ejemplo de la CLI.**

En la plantilla utilizada en este ejemplo se incluye una condición de espera para que la cancelación comience antes de que la implementación de la actualización se complete correctamente.

Comando: cancelar

```
$ aws proton cancel-service-pipeline-deployment \
    --service-name "{{simple-svc}}"
```

Respuesta:

```
{
    "pipeline": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline",
        "createdAt": "2021-04-02T21:29:59.962000+00:00",
        "deploymentStatus": "CANCELLING",
        "lastDeploymentAttemptedAt": "2021-04-02T22:02:45.095000+00:00",
        "lastDeploymentSucceededAt": "2021-04-02T21:39:28.991000+00:00",
        "templateMajorVersion": "1",
        "templateMinorVersion": "1",
        "templateName": "svc-simple"
    }
}
```

Comando: obtener y confirmar el estado

```
$ aws proton get-service \
    --name "{{simple-svc}}"
```

Respuesta:

```
{
    "service": {
        "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc",
        "branchName": "main",
        "createdAt": "2021-04-02T21:29:59.962000+00:00",
        "lastModifiedAt": "2021-04-02T21:30:54.364000+00:00",
        "name": "simple-svc",
        "pipeline": {
            "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline",
            "createdAt": "2021-04-02T21:29:59.962000+00:00",
            "deploymentStatus": "CANCELLED",
            "deploymentStatusMessage": "User initiated cancellation.",
            "lastDeploymentAttemptedAt": "2021-04-02T22:02:45.095000+00:00",
            "lastDeploymentSucceededAt": "2021-04-02T21:39:28.991000+00:00",
            "spec": "proton: ServiceSpec\n\npipeline:\n  my_sample_pipeline_optional_input: \"abc\"\n  my_sample_pipeline_required_input: \"123\"\n\ninstances:\n  - name: \"instance-one\"\n    environment: \"simple-env\"\n    spec:\n      my_sample_service_instance_optional_input: \"def\"\n      my_sample_service_instance_required_input: \"456\"\n  - name: \"my-other-instance\"\n    environment: \"simple-env\"\n    spec:\n      my_sample_service_instance_required_input: \"789\"\n",
            "templateMajorVersion": "1",
            "templateMinorVersion": "1",
            "templateName": "svc-simple"
        },
        "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "repositoryId": "repo-name/myorg-myapp",
        "spec": "proton: ServiceSpec\n\npipeline:\n  my_sample_pipeline_optional_input: \"abc\"\n  my_sample_pipeline_required_input: \"123\"\n\ninstances:\n  - name: \"instance-one\"\n    environment: \"simple-env\"\n    spec:\n      my_sample_service_instance_optional_input: \"def\"\n      my_sample_service_instance_required_input: \"456\"\n  - name: \"my-other-instance\"\n    environment: \"simple-env\"\n    spec:\n      my_sample_service_instance_required_input: \"789\"\n",
        "status": "ACTIVE",
        "templateName": "svc-simple"
    }
}
```

------