菜单
开源

SystemsManagerParameter

查询 Systems Manager Service 参数的 SystemsManagerParameter.* 方法会返回一些 SystemsManagerParameter 实例。具体来说,getParameter 方法返回一个 SystemsManagerParameter 对象数组。SystemsManagerParameter 对象描述了 Amazon Systems Manager Service 参数。

名称类型描述
SystemsManagerParameter.arnstring参数的 Amazon 资源名称 (ARN)
参数的数据类型,例如 text 或 aws:ec2:image。默认为 text。stringSystemsManagerParameter.dataType
Date the parameter was last changed or updated and the parameter version was created.number参数上次更改或更新并创建参数版本的日期。
SystemsManagerParameter.lastModifiedDatestring参数的友好名称。
SystemsManagerParameter.namestring用于检索参数值的版本号或标签
SystemsManagerParameter.selectorstring来自源的原始结果或响应。
SystemsManagerParameter.sourceResultstring参数类型
SystemsManagerParameter.typestring参数值
SystemsManagerParameter.valuestring参数版本

示例

JavaScript
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 脚本