Esempi per AWS Proton con AWS CLI - Esempi di codice per SDK AWS

Sono disponibili altri esempi per SDK AWS nel repository GitHub della documentazione degli esempi per SDK AWS.

Esempi per AWS Proton con AWS CLI

Gli esempi di codice seguenti mostrano come eseguire operazioni e implementare scenari comuni utilizzando AWS Command Line Interface con AWS Proton.

Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

L’esempio di codice seguente mostra come utilizzare cancel-service-instance-deployment.

AWS CLI

Come annullare l’implementazione di un’istanza di servizio

L’esempio cancel-service-instance-deployment seguente annulla l’implementazione di un’istanza di servizio.

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

Output:

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

Per ulteriori informazioni, consulta Aggiornare l’istanza di un servizio nella Guida per l’amministratore di AWS Proton o Aggiornare l’istanza di un servizio nella Guida per l’utente di AWS Proton.

L’esempio di codice seguente mostra come utilizzare cancel-service-pipeline-deployment.

AWS CLI

Come annullare l’implementazione di una pipeline di servizio

L’esempio cancel-service-pipeline-deployment seguente annulla l’implementazione di una pipeline di servizio.

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

Output:

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

Per ulteriori informazioni, consulta Aggiornare una pipeline del servizio nella Guida per l’amministratore di AWS Proton o Update a service pipeline nella Guida per l’utente di AWS Proton.

L’esempio di codice seguente mostra come utilizzare create-service.

AWS CLI

Come creare un servizio

L’esempio create-service seguente crea un servizio con una pipeline di servizi.

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

Contenuto di 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"

Output:

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

Per ulteriori informazioni, consulta Creazione di un servizio nella Guida per l’amministratore di AWS Proton o Creazione di un servizio nella Guida per l’utente di AWS Proton.

  • Per informazioni dettagliate sull’API, consulta CreateService nella documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare delete-service.

AWS CLI

Come eliminare un servizio

L’esempio delete-service seguente elimina un segreto.

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

Output:

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

Per ulteriori informazioni, consulta Eliminazione di un servizio nella Guida per l’amministratore di AWS Proton.

  • Per informazioni dettagliate sull’API, consulta DeleteService nella documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare get-service-instance.

AWS CLI

Come ottenere dettagli sull’istanza del servizio

L’esempio get-service-instance seguente ottiene dati di dettaglio per un’istanza di servizio.

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

Output:

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

Per ulteriori informazioni, consulta Visualizzare i dati del servizio nella Guida per l’amministratore di AWS Proton o Visualizzare i dati del servizio nella Guida per l’utente di AWS Proton.

  • Per informazioni dettagliate sull’API, consulta GetServiceInstance nella documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare get-service.

AWS CLI

Come ottenere i dettagli del servizio

L’esempio get-service seguente ottiene dati di dettaglio per un servizio.

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

Output:

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

Per ulteriori informazioni, consulta Visualizzare i dati del servizio nella Guida per l’amministratore di AWS Proton o Visualizzare i dati del servizio nella Guida per l’utente di AWS Proton.

  • Per informazioni dettagliate sull’API, consulta GetService nella documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare list-service-instances.

AWS CLI

Esempio 1: come elencare tutte le istanze del servizio

L’esempio list-service-instances seguente elenca le istanze del servizio.

aws proton list-service-instances

Output:

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

Per ulteriori informazioni, consulta Visualizzare i dati dell’istanza del servizio nella Guida per l’amministratore di AWS Proton o View service instance data nella Guida per l’utente di AWS Proton.

Esempio 2: come elencare l’istanza del servizio specificata

L’esempio get-service-instance seguente ottiene un’istanza di servizio.

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

Output:

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

Per ulteriori informazioni, consulta Visualizzare i dati dell’istanza del servizio nella Guida per l’amministratore di AWS Proton o View service instance data nella Guida per l’utente di AWS Proton.

  • Per informazioni dettagliate sull’API, consulta ListServiceInstances nella documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare update-service-instance.

AWS CLI

Come aggiornare un’istanza del servizio a una nuova versione secondaria

L’esempio update-service-instance seguente aggiorna un’istanza del servizio a una nuova versione secondaria del relativo modello di servizio che aggiunge una nuova istanza denominata “my-other-instance” con un nuovo input richiesto.

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"

Contenuto di 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"

Output:

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

Per ulteriori informazioni, consulta Aggiornare l’istanza di un servizio nella Guida per l’amministratore di AWS Proton o Aggiornare l’istanza di un servizio nella Guida per l’utente di AWS Proton.

  • Per informazioni dettagliate sull’API, consulta UpdateServiceInstance nella documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare update-service-pipeline.

AWS CLI

Come aggiornare una pipeline di servizi

L’esempio update-service-pipeline seguente aggiorna una pipeline di servizi con una nuova versione secondaria del relativo modello di servizio.

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"

Output:

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

Per ulteriori informazioni, consulta Aggiornare una pipeline del servizio nella Guida per l’amministratore di AWS Proton o Update a service pipeline nella Guida per l’utente di AWS Proton.

  • Per informazioni dettagliate sull’API, consulta UpdateServicePipeline nella documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare update-service.

AWS CLI

Come aggiornare un servizio

L’esempio update-service seguente modifica una descrizione del servizio.

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

Output:

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

Per ulteriori informazioni, consulta Modificare un servizio nella Guida per l’amministratore di AWS Proton o Modificare un servizio nella Guida per l’utente di AWS Proton.

  • Per informazioni dettagliate sull’API, consulta UpdateService nella documentazione di riferimento dei comandi della AWS CLI.