@aws-lambda-powertools/parameters

中文文档
2.36.0发布于 2026/10/06MIT-0TypeScriptESM + CJS构建来源已验证近 30 天下载 117.6万

AWS Lambda (TypeScript) 库的 Powertools 参数包

中文使用文档
文档目录15 节
  1. 介绍
  2. 使用量
  3. 从 AWS SSM 参数存储获取参数
  4. 从亚马逊秘密管理器获取秘密
  5. 从 Amazon DynamoDB 获取值
  6. 从 AWS appConfig 获取配置
  7. 从 AWS appConfig 代理获取配置
  8. 贡献
  9. 路线图
  10. 连接
  11. 如何支持 AWS Lambda (TypeScript) 的 Powertools ?
  12. 成为参考客户
  13. 分享你的工作
  14. 使用 Lambda 层
  15. 许可证

AWS Lambda 的动力工具( TypeScript)

用于 AWS Lambda (TypeScript) 的 Powertools 是用于执行无服务器的开发者工具包 最佳做法和增加开发者的速度。 。 。 .

您可以在 TypeScript 和 JavaScript 代码基础中使用软件包.

介绍

参数工具提供高级功能,从中获取一个或多个参数值

使用量

从 AWS SSM 参数存储获取参数

要启动, 请为 JavaScript v3 安装库和相应的 AWS SDK :

npm install @aws-lambda-powertools/parameters @aws-sdk/client-ssm

接下来审查您 AWS Lambda 函数所附带的 IAM 权限,并确保您允许 详细行动 在工具文档中.

您可以使用 getParameter 高级职务.

import { getParameter } from '@aws-lambda-powertools/parameters/ssm';

export const handler = async (): Promise<void> => {
  // Retrieve a single parameter
  const parameter = await getParameter('/my/parameter');
  console.log(parameter);
};

对于多个参数,您可以使用 getParameters 在路径下连续获取所有参数:

import { getParameters } from '@aws-lambda-powertools/parameters/ssm';

export const handler = async (): Promise<void> => {
  /**
   * Retrieve multiple parameters from a path prefix recursively.
   * This returns an object with the parameter name as key
   */
  const parameters = await getParameters('/my/path/prefix');
  for (const [key, value] of Object.entries(parameters || {})) {
    console.log(`${key}: ${value}`);
  }
};

要使用全名获取不同的参数,请使用 getParametersByName 函数 :

import { Transform } from '@aws-lambda-powertools/parameters';
import { getParametersByName } from '@aws-lambda-powertools/parameters/ssm';
import type { SSMGetParametersByNameOptions } from '@aws-lambda-powertools/parameters/ssm/types';

const props: Record<string, SSMGetParametersByNameOptionsInterface> = {
  '/develop/service/commons/telemetry/config': {
    maxAge: 300,
    transform: Transform.JSON,
  },
  '/no_cache_param': { maxAge: 0 },
  '/develop/service/payment/api/capture/url': {}, // When empty or undefined, it uses default values
};

export const handler = async (): Promise<void> => {
  // This returns an object with the parameter name as key
  const parameters = await getParametersByName(props, { maxAge: 60 });
  for (const [key, value] of Object.entries(parameters)) {
    console.log(`${key}: ${value}`);
  }
};

检查 文档 更多实例,以及 高级科 详细关于缓冲,变形,定制 基础SDK,等等.

从亚马逊秘密管理器获取秘密

要启动, 请为 JavaScript v3 安装库和相应的 AWS SDK :

npm install @aws-lambda-powertools/parameters @aws-sdk/client-secrets-manager

接下来审查您 AWS Lambda 函数所附带的 IAM 权限,并确保您允许 详细行动 在工具文档中.

您可以使用 getSecret 函数 :

import { getSecret } from '@aws-lambda-powertools/parameters/secrets';

export const handler = async (): Promise<void> => {
  // Retrieve a single secret
  const secret = await getSecret('my-secret');
  console.log(secret);
};

检查 文档 更多实例,以及 高级科 详细关于缓冲,变形,定制 基础SDK,等等.

从 Amazon DynamoDB 获取值

要启动, 请为 JavaScript v3 安装库和相应的 AWS SDK :

npm install @aws-lambda-powertools/parameters @aws-sdk/client-dynamodb @aws-sdk/util-dynamodb

接下来审查您 AWS Lambda 函数所附带的 IAM 权限,并确保您允许 详细行动 在工具文档中.

您可以使用 DynamoDBProvider.get() 方法 :

import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const dynamoDBProvider = new DynamoDBProvider({ tableName: 'my-table' });

export const handler = async (): Promise<void> => {
  // Retrieve a value from DynamoDB
  const value = await dynamoDBProvider.get('my-parameter');
  console.log(value);
};

为获取多个参数, 您可以使用 DynamoDBProvider.getMultiple() 方法代替:

import { DynamoDBProvider } from '@aws-lambda-powertools/parameters/dynamodb';

const dynamoDBProvider = new DynamoDBProvider({ tableName: 'my-table' });

export const handler = async (): Promise<void> => {
  /**
   * Retrieve multiple values by performing a Query on the DynamoDB table.
   * This returns a dict with the sort key attribute as dict key.
   */
  const values = await dynamoDBProvider.getMultiple('my-hash-key');
  for (const [key, value] of Object.entries(values || {})) {
    // key: param-a
    // value: my-value-a
    console.log(`${key}: ${value}`);
  }
};

检查 文档 更多实例,以及 高级科 详细关于缓冲,变形,定制 基础SDK,等等.

从 AWS appConfig 获取配置

要启动, 请为 JavaScript v3 安装库和相应的 AWS SDK :

npm install @aws-lambda-powertools/parameters @aws-sdk/client-appconfigdata

接下来审查您 AWS Lambda 函数所附带的 IAM 权限,并确保您允许 详细行动 在工具文档中.

您可以使用 AWS AppConfig 获取应用程序配置 getAppConfig 函数 :

import { getAppConfig } from '@aws-lambda-powertools/parameters/appconfig';

export const handler = async (): Promise<void> => {
  // Retrieve a configuration, latest version
  const config = await getAppConfig('my-configuration', {
    environment: 'my-env',
    application: 'my-app',
  });
  console.log(config);
};

检查 文档 更多实例,以及 高级科 详细关于缓冲,变形,定制 基础SDK,等等.

从 AWS appConfig 代理获取配置

如果你使用 AWS appConfig 代理蓝巴达扩展,您可以从代理商本地 HTTP 端点获取应用程序配置 getConfig 函数 :

import { getConfig } from '@aws-lambda-powertools/parameters/appconfig-agent';

// Retrieve a configuration from the AppConfig Agent Lambda extension
const config = await getConfig('my-configuration', {
  environment: 'my-env',
  application: 'my-app',
  transform: 'json',
});

export const handler = async (): Promise<void> => {
  console.log(config);
};

由于缓冲,投票, 和先发制人由特工处理, getConfig 总是从代理的本地端取出,不需要AWS SDK. 检查 文档 更多细节.

贡献

如果你有兴趣为这个项目捐款,请参见我们 贡献准则。 。 。 .

路线图

AWS Lambda(英语:TypeScript)的"Powertools"行进图受顾客需求所驱动.
帮助我们确定未来功能或公用事业的优先次序 更新现有 RFC 和功能请求,或 创建新的,在此 GitHub 仓库中.

连接

如何支持 AWS Lambda (TypeScript) 的 Powertools ?

成为参考客户

了解哪些公司正在使用这个图书馆对于帮助在内部确定项目的优先次序很重要。 如果你的同伴们 正在对 AWS Lambda (TypeScript) 使用 Powertools , 您可以请求将您的姓名和标志添加到 README 文件 提高a AWS Lambda( TypeScript) 的辅助电源工具(成为参考) 问题.

除其他外,下列公司使用Powertools:

分享你的工作

分享您为 AWS Lambda (TypeScript) 所做的 Powertools 。 看看社区有什么 已经共享 关于AWS Lambda的Powertools (TypeScript).

使用 Lambda 层

这帮助我们了解谁用Powertools为AWS Lambda(英语:TypeScript (TypeScript))以非侵入性的方式使用Powertools,并帮助我们获得未来对其他AWS Lambda语言的Powertool的投资. 何时 使用图层,您可以添加Powertools作为dev的依赖性,以不影响开发过程.

许可证

这个图书馆根据MIT-0许可证获得许可. 见LICENSE文件.

版本与发布记录

@aws-lambda-powertools/parameters 共发布 74 个版本,首次发布于 2023/03/21;过去 12 个月发布了 11 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.36.0latest2026/10/061 个月前
2.35.02026/08/182 个月前
2.34.02026/07/103 个月前
2.33.12026/05/255 个月前
2.33.02026/04/146 个月前
2.32.02026/03/197 个月前

其他发布通道:next → 2.0.0-alpha.2。

关于 @aws-lambda-powertools/parameters 的常见问题

@aws-lambda-powertools/parameters 是什么?

AWS Lambda (TypeScript) 库的 Powertools 参数包

如何安装 @aws-lambda-powertools/parameters?

在项目目录运行 npm install @aws-lambda-powertools/parameters,或使用 pnpm add / yarn add / bun add。

@aws-lambda-powertools/parameters 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aws-lambda-powertools/parameters 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@aws-lambda-powertools/parameters 可以商用吗?

@aws-lambda-powertools/parameters 使用 MIT-0 许可。声明的许可为 MIT-0,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@aws-lambda-powertools/parameters 的下载量有多少?

根据 npm 官方下载统计,@aws-lambda-powertools/parameters 在 2026/10/08 – 2026/11/06 这 30 天内被下载 1,176,158 次,日均约 39,205 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aws-lambda-powertools/parameters 还在维护吗?

最新版本 2.36.0 发布于 2026/10/06(1 个月前);至今共发布 74 个版本,其中过去 12 个月发布了 11 个;首次发布于 2023/03/21。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。