Ejemplos de AWS Proton que utilizan la AWS CLI - AWS Command Line Interface

Ejemplos de AWS Proton que utilizan la AWS CLI

En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar escenarios comunes usando AWS Command Line Interface con AWS Proton.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

Acciones

En el siguiente ejemplo de código, se muestra cómo utilizar cancel-service-instance-deployment.

AWS CLI

Para cancelar una implementación de instancia de servicio

En el siguiente ejemplo de cancel-service-instance-deployment, se cancela la implementación de una instancia de servicio.

aws proton cancel-service-instance-deployment \ --service-instance-name "instance-one" \ --service-name "simple-svc"

Salida:

{ "serviceInstance": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one", "createdAt": "2021-04-02T21:29:59.962000+00:00", "deploymentStatus": "CANCELLING", "environmentName": "simple-env", "lastDeploymentAttemptedAt": "2021-04-02T21:45:15.406000+00:00", "lastDeploymentSucceededAt": "2021-04-02T21:38:00.823000+00:00", "name": "instance-one", "serviceName": "simple-svc", "spec": "proton: ServiceSpec\npipeline:\n my_sample_pipeline_optional_input: abc\n my_sample_pipeline_required_input: '123'\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": "1", "templateName": "svc-simple" } }

Para obtener más información, consulte Update a service instance en la Guía del administrador de AWS Proton o Update a service instance en la Guía del usuario de AWS Proton.

En el siguiente ejemplo de código, se muestra cómo utilizar cancel-service-pipeline-deployment.

AWS CLI

Para cancelar una implementación de canalización de un servicio

En el siguiente ejemplo de cancel-service-pipeline-deployment, se cancela la implementación de la canalización de un servicio.

aws proton cancel-service-pipeline-deployment \ --service-name "simple-svc"

Salida:

{ "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" } }

Para obtener más información, consulte Update a service pipeline en la Guía del administrador de AWS Proton o Update a service pipeline en la Guía del usuario de AWS Proton.

En el siguiente ejemplo de código, se muestra cómo utilizar create-service.

AWS CLI

Para crear un servicio

En el siguiente ejemplo de create-service, se crea un servicio con una canalización de servicios.

aws proton create-service \ --name "MySimpleService" \ --template-name "fargate-service" \ --template-major-version "1" \ --branch-name "mainline" \ --repository-connection-arn "arn:aws:codestar-connections:region-id:account-id:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" \ --repository-id "myorg/myapp" \ --spec file://spec.yaml

Contenido de spec.yaml:

proton: ServiceSpec pipeline: my_sample_pipeline_required_input: "hello" my_sample_pipeline_optional_input: "bye" instances: - name: "acme-network-dev" environment: "ENV_NAME" spec: my_sample_service_instance_required_input: "hi" my_sample_service_instance_optional_input: "ho"

Salida:

{ "service": { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService", "createdAt": "2020-11-18T19:50:27.460000+00:00", "lastModifiedAt": "2020-11-18T19:50:27.460000+00:00", "name": "MySimpleService", "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "repositoryId": "myorg/myapp", "status": "CREATE_IN_PROGRESS", "templateName": "fargate-service" } }

Para obtener más información, consulte Create a service en la Guía del administrador de AWS Proton y Create a service en la Guía del usuario de AWS Proton.

  • Para obtener información sobre la API, consulte CreateService en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-service.

AWS CLI

Eliminación de un servicio

En el siguiente ejemplo de delete-service, se elimina un servicio.

aws proton delete-service \ --name "simple-svc"

Salida:

{ "service": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc", "branchName": "mainline", "createdAt": "2020-11-28T22:40:50.512000+00:00", "description": "Edit by updating description", "lastModifiedAt": "2020-11-29T00:30:39.248000+00:00", "name": "simple-svc", "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "repositoryId": "myorg/myapp", "status": "DELETE_IN_PROGRESS", "templateName": "fargate-service" } }

Para obtener más información, consulte Delete a service en la Guía del administrador de AWS Proton.

  • Para obtener información sobre la API, consulte DeleteService en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-service-instance.

AWS CLI

Para obtener los detalles de la instancia de servicio

En el siguiente ejemplo de get-service-instance, se obtienen datos detallados de una instancia de servicio.

aws proton get-service-instance \ --name "instance-one" \ --service-name "simple-svc"

Salida:

{ "serviceInstance": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one", "createdAt": "2020-11-28T22:40:50.512000+00:00", "deploymentStatus": "SUCCEEDED", "environmentName": "simple-env", "lastDeploymentAttemptedAt": "2020-11-28T22:40:50.512000+00:00", "lastDeploymentSucceededAt": "2020-11-28T22:40:50.512000+00:00", "name": "instance-one", "serviceName": "simple-svc", "spec": "proton: ServiceSpec\npipeline:\n my_sample_pipeline_optional_input: hello world\n my_sample_pipeline_required_input: pipeline up\ninstances:\n- name: instance-one\n environment: my-simple-env\n spec:\n my_sample_service_instance_optional_input: Ola\n my_sample_service_instance_required_input: Ciao\n", "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "svc-simple" } }

Para obtener más información, consulte View service data en la View service data del administrador de AWS Proton o View service data en la Guía del usuario de AWS Proton.

  • Para obtener información sobre la API, consulte GetServiceInstance en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-service.

AWS CLI

Para obtener detalles del servicio

En el siguiente ejemplo de get-service, se obtienen datos detallados de un servicio.

aws proton get-service \ --name "simple-svc"

Salida:

{ "service": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc", "branchName": "mainline", "createdAt": "2020-11-28T22:40:50.512000+00:00", "lastModifiedAt": "2020-11-28T22:44:51.207000+00:00", "name": "simple-svc", "pipeline": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/pipeline/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "createdAt": "2020-11-28T22:40:50.512000+00:00", "deploymentStatus": "SUCCEEDED", "lastDeploymentAttemptedAt": "2020-11-28T22:40:50.512000+00:00", "lastDeploymentSucceededAt": "2020-11-28T22:40:50.512000+00:00", "spec": "proton: ServiceSpec\npipeline:\n my_sample_pipeline_required_input: hello\n my_sample_pipeline_optional_input: bye\ninstances:\n- name: instance-svc-simple\n environment: my-simple-env\n spec:\n my_sample_service_instance_required_input: hi\n my_sample_service_instance_optional_input: ho\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "svc-simple" }, "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "repositoryId": "myorg/myapp", "spec": "proton: ServiceSpec\npipeline:\n my_sample_pipeline_required_input: hello\n my_sample_pipeline_optional_input: bye\ninstances:\n- name: instance-svc-simple\n environment: my-simple-env\n spec:\n my_sample_service_instance_required_input: hi\n my_sample_service_instance_optional_input: ho\n", "status": "ACTIVE", "templateName": "svc-simple" } }

Para obtener más información, consulte View service data en la View service data del administrador de AWS Proton o View service data en la Guía del usuario de AWS Proton.

  • Para obtener información sobre la API, consulte GetService en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar list-service-instances.

AWS CLI

Ejemplo 1: enumerar todas las instancias de servicio

En el siguiente ejemplo de list-service-instances, se enumeran las instancias del servicio.

aws proton list-service-instances

Salida:

{ "serviceInstances": [ { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one", "createdAt": "2020-11-28T22:40:50.512000+00:00", "deploymentStatus": "SUCCEEDED", "environmentArn": "arn:aws:proton:region-id:123456789012:environment/simple-env", "lastDeploymentAttemptedAt": "2020-11-28T22:40:50.512000+00:00", "lastDeploymentSucceededAt": "2020-11-28T22:40:50.512000+00:00", "name": "instance-one", "serviceName": "simple-svc", "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "fargate-service" } ] }

Para obtener más información, consulte View service instance data en la Guía del administrador de AWS Proton o View service instance data en la Guía del usuario de AWS Proton.

Ejemplo 2: enumerar la instancia de servicio especificada

En el siguiente ejemplo de get-service-instance, se obtiene una instancia de servicio.

aws proton get-service-instance \ --name "instance-one" \ --service-name "simple-svc"

Salida:

{ "serviceInstance": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one", "createdAt": "2020-11-28T22:40:50.512000+00:00", "deploymentStatus": "SUCCEEDED", "environmentName": "simple-env", "lastDeploymentAttemptedAt": "2020-11-28T22:40:50.512000+00:00", "lastDeploymentSucceededAt": "2020-11-28T22:40:50.512000+00:00", "name": "instance-one", "serviceName": "simple-svc", "spec": "proton: ServiceSpec\npipeline:\n my_sample_pipeline_optional_input: hello world\n my_sample_pipeline_required_input: pipeline up\ninstances:\n- name: instance-one\n environment: my-simple-env\n spec:\n my_sample_service_instance_optional_input: Ola\n my_sample_service_instance_required_input: Ciao\n", "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "svc-simple" } }

Para obtener más información, consulte View service instance data en la Guía del administrador de AWS Proton o View service instance data en la Guía del usuario de AWS Proton.

  • Para obtener información sobre la API, consulte ListServiceInstances en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar update-service-instance.

AWS CLI

Para actualizar una instancia de servicio a una nueva versión secundaria

En el siguiente ejemplo de update-service-instance, se actualiza una instancia de servicio a una nueva versión secundaria de su plantilla de servicio que agrega una nueva instancia denominada my-other-instance con una nueva entrada obligatoria.

aws proton update-service-instance \ --service-name "simple-svc" \ --spec "file://service-spec.yaml " \ --template-major-version "1" \ --template-minor-version "1" \ --deployment-type "MINOR_VERSION" \ --name "instance-one"

Contenido de service-spec.yaml:

proton: ServiceSpec pipeline: my_sample_pipeline_optional_input: "abc" my_sample_pipeline_required_input: "123" instances: - name: "instance-one" environment: "simple-env" spec: my_sample_service_instance_optional_input: "def" my_sample_service_instance_required_input: "456" - name: "my-other-instance" environment: "simple-env" spec: my_sample_service_instance_required_input: "789"

Salida:

{ "serviceInstance": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one", "createdAt": "2021-04-02T21:29:59.962000+00:00", "deploymentStatus": "IN_PROGRESS", "environmentName": "arn:aws:proton:region-id:123456789012:environment/simple-env", "lastDeploymentAttemptedAt": "2021-04-02T21:38:00.823000+00:00", "lastDeploymentSucceededAt": "2021-04-02T21:29:59.962000+00:00", "name": "instance-one", "serviceName": "simple-svc", "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "svc-simple" } }

Para obtener más información, consulte Update a service instance en la Guía del administrador de AWS Proton o Update a service instance en la Guía del usuario de AWS Proton.

  • Para obtener información sobre la API, consulte UpdateServiceInstance en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar update-service-pipeline.

AWS CLI

Para actualizar una canalización de servicio

En el siguiente ejemplo de update-service-pipeline, se actualiza a una canalización de servicio a una nueva versión secundaria de su plantilla de servicio.

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"

Salida:

{ "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" } }

Para obtener más información, consulte Update a service pipeline en la Guía del administrador de AWS Proton o Update a service pipeline en la Guía del usuario de AWS Proton.

  • Para obtener información sobre la API, consulte UpdateServicePipeline en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar update-service.

AWS CLI

Para actualizar un servicio

En el siguiente ejemplo de update-service, se edita la descripción de un servicio.

aws proton update-service \ --name "MySimpleService" \ --description "Edit by updating description"

Salida:

{ "service": { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService", "branchName": "mainline", "createdAt": "2021-03-12T22:39:42.318000+00:00", "description": "Edit by updating description", "lastModifiedAt": "2021-03-12T22:44:21.975000+00:00", "name": "MySimpleService", "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "repositoryId": "myorg/myapp", "status": "ACTIVE", "templateName": "fargate-service" } }

Para obtener más información, consulte Edit a service en la Guía del administrador de AWS Proton o Edit a service en la Guía del usuario de AWS Proton.

  • Para obtener más información sobre la API, consulte UpdateService en la Referencia de comandos de AWS CLI.