

D'autres exemples de AWS SDK sont disponibles dans le référentiel [AWS Doc SDK Examples](https://github.com/awsdocs/aws-doc-sdk-examples) GitHub .

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation de `PutScalingPolicy` avec une CLI
<a name="application-auto-scaling_example_application-auto-scaling_PutScalingPolicy_section"></a>

Les exemples de code suivants illustrent comment utiliser `PutScalingPolicy`.

------
#### [ CLI ]

**AWS CLI**  
**Exemple 1 : pour appliquer une politique de suivi des objectifs et d’échelonnement avec une spécification de métrique prédéfinie**  
L’exemple `put-scaling-policy` suivant applique une politique de suivi des cibles et d’échelonnement avec une spécification de métrique prédéfinie sur un service Amazon ECS appelé web-app dans le cluster par défaut. La politique maintient l’utilisation moyenne de l’UC du service à 75 %, avec des temps de stabilisation de montée en puissance et de mise à l’échelle horizontale de 60 secondes. La sortie contient les noms ARNs et les noms des deux CloudWatch alarmes créées en votre nom.  

```
aws application-autoscaling put-scaling-policy --service-namespace {{ecs}} \
--scalable-dimension {{ecs:service:DesiredCount}} \
--resource-id {{service/default/web-app}} \
--policy-name {{cpu75-target-tracking-scaling-policy}} --policy-type {{TargetTrackingScaling}} \
--target-tracking-scaling-policy-configuration {{file://config.json}}
```
Cet exemple suppose que le répertoire en cours contient un fichier config.json dont le contenu est le suivant :  

```
{
     "TargetValue": 75.0,
     "PredefinedMetricSpecification": {
         "PredefinedMetricType": "ECSServiceAverageCPUUtilization"
     },
     "ScaleOutCooldown": 60,
    "ScaleInCooldown": 60
}
```
Sortie :  

```
{
    "PolicyARN": "arn:aws:autoscaling:us-west-2:012345678910:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/ecs/service/default/web-app:policyName/cpu75-target-tracking-scaling-policy",
    "Alarms": [
        {
            "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/default/web-app-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca",
            "AlarmName": "TargetTracking-service/default/web-app-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca"
        },
        {
            "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/default/web-app-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d",
            "AlarmName": "TargetTracking-service/default/web-app-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d"
        }
    ]
}
```
**Exemple 2 : pour appliquer une politique de suivi des objectifs et d’échelonnement avec une spécification de métrique personnalisée**  
L’exemple `put-scaling-policy` suivant applique une politique de suivi des cibles et d’échelonnement avec un type de métrique personnalisé à un service ECS appelé web-app dans le cluster par défaut. La politique maintient l’utilisation moyenne du service à 75 %, avec des temps de stabilisation de montée en puissance et de mise à l’échelle horizontale de 60 secondes. La sortie contient les noms ARNs et les noms des deux CloudWatch alarmes créées en votre nom.  

```
aws application-autoscaling put-scaling-policy --service-namespace {{ecs}} \
--scalable-dimension {{ecs:service:DesiredCount}} \
--resource-id {{service/default/web-app}} \
--policy-name {{cms75-target-tracking-scaling-policy}}
--policy-type {{TargetTrackingScaling}} \
--target-tracking-scaling-policy-configuration {{file://config.json}}
```
Cet exemple suppose que le répertoire en cours contient un fichier config.json dont le contenu est le suivant :  

```
{
    "TargetValue":75.0,
    "CustomizedMetricSpecification":{
        "MetricName":"MyUtilizationMetric",
        "Namespace":"MyNamespace",
        "Dimensions": [
            {
                "Name":"MyOptionalMetricDimensionName",
                "Value":"MyOptionalMetricDimensionValue"
            }
        ],
        "Statistic":"Average",
        "Unit":"Percent"
    },
    "ScaleOutCooldown": 60,
    "ScaleInCooldown": 60
}
```
Sortie :  

```
{
    "PolicyARN": "arn:aws:autoscaling:us-west-2:012345678910:scalingPolicy: 8784a896-b2ba-47a1-b08c-27301cc499a1:resource/ecs/service/default/web-app:policyName/cms75-target-tracking-scaling-policy",
    "Alarms": [
        {
            "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/default/web-app-AlarmHigh-9bc77b56-0571-4276-ba0f-d4178882e0a0",
            "AlarmName": "TargetTracking-service/default/web-app-AlarmHigh-9bc77b56-0571-4276-ba0f-d4178882e0a0"
        },
        {
            "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/default/web-app-AlarmLow-9b6ad934-6d37-438e-9e05-02836ddcbdc4",
            "AlarmName": "TargetTracking-service/default/web-app-AlarmLow-9b6ad934-6d37-438e-9e05-02836ddcbdc4"
        }
    ]
}
```
**Exemple 3 : pour appliquer une politique de suivi des objectifs et d’échelonnement uniquement en vue d’une évolutivité horizontale**  
L’exemple `put-scaling-policy` suivant applique une politique de suivi des cibles et d’échelonnement sur un service Amazon ECS appelé `web-app` dans le cluster par défaut. La politique est utilisée pour augmenter horizontalement le service ECS lorsque la métrique `RequestCountPerTarget` de l’Application Load Balancer dépasse le seuil. La sortie contient l'ARN et le nom de l' CloudWatch alarme créée en votre nom.  

```
aws application-autoscaling put-scaling-policy \
    --service-namespace {{ecs}} \
    --scalable-dimension {{ecs:service:DesiredCount}} \
    --resource-id {{service/default/web-app}} \
    --policy-name {{alb-scale-out-target-tracking-scaling-policy}} \
    --policy-type {{TargetTrackingScaling}} \
    --target-tracking-scaling-policy-configuration {{file://config.json}}
```
Contenu de `config.json` :  

```
{
     "TargetValue": 1000.0,
     "PredefinedMetricSpecification": {
         "PredefinedMetricType": "ALBRequestCountPerTarget",
         "ResourceLabel": "app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d"
     },
     "ScaleOutCooldown": 60,
    "ScaleInCooldown": 60,
    "DisableScaleIn": true
}
```
Sortie :  

```
{
    "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/ecs/service/default/web-app:policyName/alb-scale-out-target-tracking-scaling-policy",
    "Alarms": [
        {
            "AlarmName": "TargetTracking-service/default/web-app-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca",
            "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-service/default/web-app-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca"
        }
    ]
}
```
Pour plus d’informations, consultez [Politique de suivi des cibles et d’échelonnement pour Application Auto Scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) dans le *AWS Guide de l’utilisateur Application Auto Scaling*.  
+  Pour plus de détails sur l'API, reportez-vous [PutScalingPolicy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/application-autoscaling/put-scaling-policy.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : cette applet de commande crée ou met à jour une politique pour une cible évolutive Application Auto Scaling. Chaque cible évolutive est identifiée par un espace de noms de service, un ID de ressource et une dimension évolutive.**  

```
Set-AASScalingPolicy -ServiceNamespace AppStream -PolicyName ASFleetScaleInPolicy -PolicyType StepScaling  -ResourceId fleet/MyFleet -ScalableDimension appstream:fleet:DesiredCapacity -StepScalingPolicyConfiguration_AdjustmentType ChangeInCapacity -StepScalingPolicyConfiguration_Cooldown 360 -StepScalingPolicyConfiguration_MetricAggregationType Average -StepScalingPolicyConfiguration_StepAdjustments @{ScalingAdjustment = -1; MetricIntervalUpperBound = 0}
```
**Sortie** :  

```
Alarms    PolicyARN
------    ---------
{}        arn:aws:autoscaling:us-west-2:012345678912:scalingPolicy:4897ca24-3caa-4bf1-8484-851a089b243c:resource/appstream/fleet/MyFleet:policyName/ASFleetScaleInPolicy
```
+  Pour plus de détails sur l'API, reportez-vous [PutScalingPolicy](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : cette applet de commande crée ou met à jour une politique pour une cible évolutive Application Auto Scaling. Chaque cible évolutive est identifiée par un espace de noms de service, un ID de ressource et une dimension évolutive.**  

```
Set-AASScalingPolicy -ServiceNamespace AppStream -PolicyName ASFleetScaleInPolicy -PolicyType StepScaling  -ResourceId fleet/MyFleet -ScalableDimension appstream:fleet:DesiredCapacity -StepScalingPolicyConfiguration_AdjustmentType ChangeInCapacity -StepScalingPolicyConfiguration_Cooldown 360 -StepScalingPolicyConfiguration_MetricAggregationType Average -StepScalingPolicyConfiguration_StepAdjustments @{ScalingAdjustment = -1; MetricIntervalUpperBound = 0}
```
**Sortie** :  

```
Alarms    PolicyARN
------    ---------
{}        arn:aws:autoscaling:us-west-2:012345678912:scalingPolicy:4897ca24-3caa-4bf1-8484-851a089b243c:resource/appstream/fleet/MyFleet:policyName/ASFleetScaleInPolicy
```
+  Pour plus de détails sur l'API, reportez-vous [PutScalingPolicy](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------