Menu
Open source

AWSConfig

AWSConfig is used to configure an AWS service client instance, such as S3Client or SecretsManagerClient. It effectively allows the user to select a region they wish to interact with, and the AWS credentials they wish to use to authenticate.

AWSConfig is included in the aws.js bundle, which includes all the content of the library. It is also included in the various services clients dedicated bundles such as s3.js and secrets-manager.js.

It takes an options object as its single parameter, with the following properties:

PropertyTypeDescription
regionstringthe AWS region to connect to. As described by Amazon AWS docs
accessKeyIDstringThe AWS access key ID credential to use for authentication.
secretAccessKeystringThe AWS secret access credential to use for authentication.
sessionToken (optional)stringThe AWS secret access token to use for authentication.

Methods

NameDescription
fromEnvironment()Creates an AWSConfig using the AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and AWS_SESSION_TOKEN environment variables.

Throws

S3 Client methods will throw errors in case of failure.

ErrorCondition
InvalidArgumentExceptionwhen an invalid region name or credentials were used.

Example

JavaScript
import exec from 'k6/execution';

// Note that you AWSConfig is also included in the dedicated service
// client bundles such as `s3.js` and `secrets-manager.js`
import {
  AWSConfig,
  SecretsManagerClient,
} from 'https://jslib.k6.io/aws/0.12.3/aws.js';

const awsConfig = new AWSConfig({
  region: __ENV.AWS_REGION,
  accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
  secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
});

const secretsManager = new SecretsManagerClient(awsConfig);

export default function () {
  // ...
}

k6 will instantiate an AWSConfig object and use it to configure a SecretsManagerClient instance