Exemples d’utilisation de l’AWS CLI avec AWS Proton - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec AWS Proton

Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec AWS Proton.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L’exemple de code suivant montre comment utiliser cancel-service-instance-deployment.

AWS CLI

Pour annuler un déploiement d’instance de service

L’exemple cancel-service-instance-deployment suivant annule le déploiement d’une instance de service.

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

Sortie :

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

Pour plus d’informations, consultez Mettre à jour une instance de service dans le Guide de l’administrateur AWS Proton ou Mettre à jour une instance de service dans le Guide de l’utilisateur AWS Proton.

L’exemple de code suivant montre comment utiliser cancel-service-pipeline-deployment.

AWS CLI

Pour annuler un déploiement de pipeline de service

L’exemple cancel-service-pipeline-deployment suivant annule le déploiement d’un pipeline de service.

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

Sortie :

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

Pour plus d’informations, consultez Update a service pipeline dans le Guide de l’administrateur AWS Proton ou Update a service pipeline dans le Guide de l’utilisateur AWS Proton.

L’exemple de code suivant montre comment utiliser create-service.

AWS CLI

Pour créer un service

L’exemple create-service suivant crée un service avec un pipeline de services.

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

Contenu 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"

Sortie :

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

Pour plus d’informations, consultez Créer un service dans le Guide de l’administrateur AWS Proton ou Créer un service dans le Guide de l’utilisateur AWS Proton.

  • Pour plus de détails sur l’API, consultez CreateService dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser delete-service.

AWS CLI

Pour supprimer un service

L’exemple delete-service suivant supprime un service.

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

Sortie :

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

Pour plus d’informations, consultez Supprimer un service dans le Guide de l’administrateur AWS Proton.

  • Pour plus de détails sur l’API, consultez DeleteService dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-service-instance.

AWS CLI

Pour obtenir les détails de l’instance de service

L’exemple get-service-instance suivant fournit des données détaillées pour une instance de service.

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

Sortie :

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

Pour plus d’informations, consultez View service data dans le Guide de l’administrateur AWS Proton ou View service data dans le Guide de l’utilisateur AWS Proton.

  • Pour plus de détails sur l’API, consultez GetServiceInstance dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser get-service.

AWS CLI

Pour obtenir les détails du service

L’exemple get-service suivant fournit des données détaillées pour un service.

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

Sortie :

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

Pour plus d’informations, consultez View service data dans le Guide de l’administrateur AWS Proton ou View service data dans le Guide de l’utilisateur AWS Proton.

  • Pour plus de détails sur l’API, consultez GetService dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser list-service-instances.

AWS CLI

Exemple 1 : pour répertorier toutes les instances de service

L’exemple list-service-instances suivant répertorie les instances de service.

aws proton list-service-instances

Sortie :

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

Pour plus d’informations, consultez View service instance data dans le Guide de l’administrateur AWS Proton ou View service instance data dans le Guide de l’utilisateur AWS Proton.

Exemple 2 : pour répertorier l’instance de service spécifiée

L’exemple get-service-instance suivant fournit une instance de service.

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

Sortie :

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

Pour plus d’informations, consultez View service instance data dans le Guide de l’administrateur AWS Proton ou View service instance data dans le Guide de l’utilisateur AWS Proton.

  • Pour plus de détails sur l’API, consultez ListServiceInstances dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-service-instance.

AWS CLI

Pour mettre à jour une instance de service vers une nouvelle version mineure

L’exemple update-service-instance suivant met à jour une instance de service vers une nouvelle version mineure de son modèle de service qui ajoute une nouvelle instance nommée « my-other-instance » avec une nouvelle entrée obligatoire.

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"

Contenu 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"

Sortie :

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

Pour plus d’informations, consultez Mettre à jour une instance de service dans le Guide de l’administrateur AWS Proton ou Mettre à jour une instance de service dans le Guide de l’utilisateur AWS Proton.

  • Pour plus de détails sur l’API, consultez UpdateServiceInstance dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-service-pipeline.

AWS CLI

Pour mettre à jour un pipeline de service

L’exemple update-service-pipeline suivant met à jour un pipeline de service vers une nouvelle version mineure de son modèle de service.

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"

Sortie :

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

Pour plus d’informations, consultez Update a service pipeline dans le Guide de l’administrateur AWS Proton ou Update a service pipeline dans le Guide de l’utilisateur AWS Proton.

  • Pour plus de détails sur l’API, consultez UpdateServicePipeline dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser update-service.

AWS CLI

Pour mettre à jour un service

L’exemple update-service suivant modifie la description d’un service.

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

Sortie :

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

Pour plus d’informations, consultez Edit a service dans le Guide de l’administrateur AWS Proton ou Edit a service dans le Guide de l’utilisateur AWS Proton.

  • Pour plus de détails sur l’API, consultez UpdateService dans la Référence des commandes de l’AWS CLI.