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.
-
Para ver detalhes da API, consulte CancelServiceInstanceDeployment
na Referência de comandos da AWS CLI.
-
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.
-
Para ver detalhes da API, consulte CancelServicePipelineDeployment
na Referência de comandos da AWS CLI.
-
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"
\ --specfile://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.
-
Para ver detalhes da API, consulte ListServiceInstances
na Referência de comandos da AWS CLI.
-
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.
-
Para ver detalhes da API, consulte UpdateServiceInstance
na Referência de comandos da AWS CLI.
-
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.
-
Para ver detalhes da API, consulte UpdateServicePipeline
na Referência de comandos da AWS CLI.
-
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.
-