Exemplos de AWS Proton usando a AWS CLI - AWS Command Line Interface

Exemplos de AWS Proton usando a AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com o AWS Proton.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar funções de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

Tópicos

Ações

O código de exemplo a seguir mostra como usar cancel-service-instance-deployment.

AWS CLI

Para cancelar uma implantação de instância de serviço

O exemplo cancel-service-instance-deployment a seguir cancela a implantação de uma instância de serviço.

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

Saída:

{ "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 obter mais informações, consulte Atualizar uma instância de serviço no Guia do administrador do AWS Proton ou Atualizar uma instância de serviço no Guia do usuário do AWS Proton.

O código de exemplo a seguir mostra como usar cancel-service-pipeline-deployment.

AWS CLI

Para cancelar uma implantação de pipeline de serviço

O exemplo cancel-service-pipeline-deployment a seguir cancela a implantação de um pipeline de serviço.

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

Saída:

{ "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 obter mais informações, consulte Atualizar um pipeline de serviço no Guia do administrador do AWS Proton ou Atualizar um pipeline de serviço no Guia do usuário do AWS Proton.

O código de exemplo a seguir mostra como usar create-service.

AWS CLI

Para criar um serviço

O exemplo create-service a seguir cria um serviço com um pipeline de serviços.

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

Conteúdo 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"

Saída:

{ "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 obter mais informações, consulte Criar um serviço no Guia do administrador do AWS Proton ou Criar um serviço no Guia do usuário do AWS Proton.

  • Para obter detalhes da API, consulte CreateService na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar delete-service.

AWS CLI

Como excluir um serviço

O exemplo delete-service a seguir exclui um serviço.

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

Saída:

{ "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 obter mais informações, consulte Excluir um serviço no Guia do administrador do AWS Proton.

  • Para obter detalhes da API, consulte DeleteService na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-service-instance.

AWS CLI

Para obter detalhes da instância do serviço

O exemplo get-service-instance a seguir obtém dados detalhados de uma instância de serviço.

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

Saída:

{ "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 obter mais informações, consulte Visualizar dados de um serviço no Guia do administrador do AWS Proton ou Visualizar dados de um serviço no Guia do usuário do AWS Proton.

  • Para ver detalhes da API, consulte GetServiceInstance na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-service.

AWS CLI

Para obter detalhes do serviço

O exemplo get-service a seguir obtém dados detalhados de uma serviço.

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

Saída:

{ "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 obter mais informações, consulte Visualizar dados de um serviço no Guia do administrador do AWS Proton ou Visualizar dados de um serviço no Guia do usuário do AWS Proton.

  • Para ver detalhes da API, consulte GetService na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar list-service-instances.

AWS CLI

Exemplo 1: listar todas as instâncias de um serviço

O exemplo list-service-instances a seguir lista as instâncias do serviço.

aws proton list-service-instances

Saída:

{ "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 obter mais informações, consulte Visualizar dados de instâncias de um serviço no Guia do administrador do AWS Proton ou Visualizar dados de instâncias de um serviço no Guia do usuário do AWS Proton.

Exemplo 2: listar a instância especificada de um serviço

O exemplo get-service-instance a seguir obtém uma instância de um serviço.

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

Saída:

{ "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 obter mais informações, consulte Visualizar dados de instâncias de um serviço no Guia do administrador do AWS Proton ou Visualizar dados de instâncias de um serviço no Guia do usuário do AWS Proton.

O código de exemplo a seguir mostra como usar update-service-instance.

AWS CLI

Para atualizar uma instância de serviço para uma nova versão secundária

O exemplo update-service-instance a seguir atualiza uma instância de serviço para uma nova versão secundária de seu modelo de serviço que adiciona uma nova instância chamada "my-other-instance" com uma nova entrada obrigatória.

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"

Conteúdo 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"

Saída:

{ "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 obter mais informações, consulte Atualizar uma instância de serviço no Guia do administrador do AWS Proton ou Atualizar uma instância de serviço no Guia do usuário do AWS Proton.

O código de exemplo a seguir mostra como usar update-service-pipeline.

AWS CLI

Para atualizar um pipeline de serviço

O exemplo update-service-pipeline a seguir atualiza um pipeline de serviço para uma nova versão secundária de seu modelo de serviço.

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"

Saída:

{ "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 obter mais informações, consulte Atualizar um pipeline de serviço no Guia do administrador do AWS Proton ou Atualizar um pipeline de serviço no Guia do usuário do AWS Proton.

O código de exemplo a seguir mostra como usar update-service.

AWS CLI

Para atualizar um serviço

O exemplo update-service a seguir edita a descrição de um serviço.

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

Saída:

{ "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 obter mais informações, consulte Editar um serviço no Guia do administrador do AWS Proton ou Editar um serviço no Guia do usuário do AWS Proton.

  • Para obter detalhes da API, consulte UpdateService na Referência de comandos da AWS CLI.