@aws-sdk/client-application-auto-scaling-browser
Description
With Application Auto Scaling, you can configure automatic scaling for your scalable resources. You can use Application Auto Scaling to accomplish the following tasks:
-
Define scaling policies to automatically scale your AWS or custom resources
-
Scale your resources in response to CloudWatch alarms
-
Schedule one-time or recurring scaling actions
-
View the history of your scaling events
Application Auto Scaling can scale the following resources:
-
Amazon ECS services. For more information, see Service Auto Scaling in the Amazon Elastic Container Service Developer Guide.
-
Amazon EC2 Spot fleets. For more information, see Automatic Scaling for Spot Fleet in the Amazon EC2 User Guide.
-
Amazon EMR clusters. For more information, see Using Automatic Scaling in Amazon EMR in the Amazon EMR Management Guide.
-
AppStream 2.0 fleets. For more information, see Fleet Auto Scaling for Amazon AppStream 2.0 in the Amazon AppStream 2.0 Developer Guide.
-
Provisioned read and write capacity for Amazon DynamoDB tables and global secondary indexes. For more information, see Managing Throughput Capacity Automatically with DynamoDB Auto Scaling in the Amazon DynamoDB Developer Guide.
-
Amazon Aurora Replicas. For more information, see Using Amazon Aurora Auto Scaling with Aurora Replicas.
-
Amazon SageMaker endpoint variants. For more information, see Automatically Scaling Amazon SageMaker Models.
-
Custom resources provided by your own applications or services. More information is available in our GitHub repository.
To learn more about Application Auto Scaling, including information about granting IAM users required permissions for Application Auto Scaling actions, see the Application Auto Scaling User Guide.
Installing
To install the this package using NPM, simply type the following into a terminal window:
npm install @aws-sdk/client-application-auto-scaling-browser
Getting Started
Import
The AWS SDK is modulized by clients and commands in CommonJS modules. To send a request, you only need to import the client(ApplicationAutoScalingClient
) and the commands you need, for example DeleteScalingPolicyCommand
:
//JavaScript
const {
ApplicationAutoScalingClient
} = require("@aws-sdk/client-application-auto-scaling-browser/ApplicationAutoScalingClient");
const {
DeleteScalingPolicyCommand
} = require("@aws-sdk/client-application-auto-scaling-browser/commands/DeleteScalingPolicyCommand");
//TypeScript
import { ApplicationAutoScalingClient } from "@aws-sdk/client-application-auto-scaling-browser/ApplicationAutoScalingClient";
import { DeleteScalingPolicyCommand } from "@aws-sdk/client-application-auto-scaling-browser/commands/DeleteScalingPolicyCommand";
Usage
To send a request, you:
- Initiate client with configuration (e.g. credentials, region). For more information you can refer to the API reference.
- Initiate command with input parameters.
- Call
send
operation on client with command object as input. - If you are using a custom http handler, you may call
destroy()
to close open connections.
const applicationAutoScaling = new ApplicationAutoScalingClient({region: 'region'});
//clients can be shared by different commands
const params = {
PolicyName: /**a string value*/,
ServiceNamespace: /**a string value*/,
ResourceId: /**a string value*/,
ScalableDimension: /**a string value*/,
};
const deleteScalingPolicyCommand = new DeleteScalingPolicyCommand(params);
applicationAutoScaling.send(deleteScalingPolicyCommand).then(data => {
// do something
}).catch(error => {
// error handling
})
In addition to using promises, there are 2 other ways to send a request:
// async/await
try {
const data = await applicationAutoScaling.send(deleteScalingPolicyCommand);
// do something
} catch (error) {
// error handling
}
// callback
applicationAutoScaling.send(deleteScalingPolicyCommand, (err, data) => {
//do something
});
The SDK can also send requests using the simplified callback style from version 2 of the SDK.
import * as AWS from "@aws-sdk/@aws-sdk/client-application-auto-scaling-browser/ApplicationAutoScaling";
const applicationAutoScaling = new AWS.ApplicationAutoScaling({
region: "region"
});
applicationAutoScaling.deleteScalingPolicy(params, (err, data) => {
//do something
});
Troubleshooting
When the service returns an exception, the error will include the exception information, as well as response metadata (e.g. request id).
try {
const data = await applicationAutoScaling.send(deleteScalingPolicyCommand);
// do something
} catch (error) {
const metadata = error.$metadata;
console.log(
`requestId: ${metadata.requestId}
cfId: ${metadata.cfId}
extendedRequestId: ${metadata.extendedRequestId}`
);
/*
The keys within exceptions are also parsed. You can access them by specifying exception names:
if(error.name === 'SomeServiceException') {
const value = error.specialKeyInException;
}
*/
}
Getting Help
Please use these community resources for getting help. We use the GitHub issues for tracking bugs and feature requests and have limited bandwidth to address them.
- Ask a question on StackOverflow and tag it with
aws-sdk-js
- Come join the AWS JavaScript community on gitter
- If it turns out that you may have found a bug, please open an issue
Contributing
This client code is generated automatically. Any modifications will be overwritten the next time the `@aws-sdk/@aws-sdk/client-application-auto-scaling-browser' package is updated. To contribute to SDK you can checkout our code generator package.
License
This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.