SystemsManagerParameter
查询 Systems Manager Service 参数的 SystemsManagerParameter.*
方法会返回一些 SystemsManagerParameter
实例。具体来说,getParameter
方法返回一个 SystemsManagerParameter
对象数组。SystemsManagerParameter
对象描述了 Amazon Systems Manager Service 参数。
名称 | 类型 | 描述 |
---|---|---|
SystemsManagerParameter.arn | string | 参数的 Amazon 资源名称 (ARN) |
参数的数据类型,例如 text 或 aws:ec2:image。默认为 text。 | string | SystemsManagerParameter.dataType |
Date the parameter was last changed or updated and the parameter version was created. | number | 参数上次更改或更新并创建参数版本的日期。 |
SystemsManagerParameter.lastModifiedDate | string | 参数的友好名称。 |
SystemsManagerParameter.name | string | 用于检索参数值的版本号或标签 |
SystemsManagerParameter.selector | string | 来自源的原始结果或响应。 |
SystemsManagerParameter.sourceResult | string | 参数类型 |
SystemsManagerParameter.type | string | 参数值 |
SystemsManagerParameter.value | string | 参数版本 |
示例
import exec from 'k6/execution';
import {
AWSConfig,
SystemsManagerClient,
} from 'https://jslib.k6.io/aws/0.13.0/ssm.js';
const awsConfig = new AWSConfig({
region: __ENV.AWS_REGION,
accessKeyId: __ENV.AWS_ACCESS_KEY_ID,
secretAccessKey: __ENV.AWS_SECRET_ACCESS_KEY,
sessionToken: __ENV.AWS_SESSION_TOKEN,
});
const systemsManager = new SystemsManagerClient(awsConfig);
const testParameterName = 'jslib-test-parameter';
const testParameterValue = 'jslib-test-value';
const testParameterSecretName = 'jslib-test-parameter-secret';
// this value was created with --type SecureString
const testParameterSecretValue = 'jslib-test-secret-value';
export default async function () {
// Currently the parameter needs to be created before hand
// Let's get its value
// getParameter returns a parameter object: e.g. {name: string, value: string...}
const parameter = await systemsManager.getParameter(testParameterName);
if (parameter.value !== testParameterValue) {
exec.test.abort('test parameter not found');
}
// Let's get the secret value with decryption
// destructure the parameter object to get to the values you want
const { value: encryptedParameterValue } = await systemsManager.getParameter(
testParameterSecretName,
true
);
if (encryptedParameterValue !== testParameterSecretValue) {
exec.test.abort('encrypted test parameter not found');
}
}
一个查询用户 Systems Manager Service 参数的 k6 脚本