@aws-lambda-powertools/signer

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

AWS Lambda (TypeScript) 库的Powertools的签名包.

中文使用文档
文档目录14 节
  1. 介绍
  2. 主要特点
  3. 使用量
  4. 签署请求
  5. 发送签名请求
  6. 使用其他 HTTP 客户端
  7. 贡献
  8. 路线图
  9. 连接
  10. 如何支持 AWS Lambda (TypeScript) 的 Powertools ?
  11. 成为参考客户
  12. 分享你的工作
  13. 使用 Lambda 层
  14. 许可证

AWS Lambda (TypeScript) - 签名工具

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

介绍

这个工具提供了一种方式,可以使用 AWS 签名版本4(SigV4) 签名进程,因此您可以调用IAM- 认证端点, 如 Amazon API Gateway, AWS Lambda 函数 URL, 或是 AWS AppSync 从您 Lambda 函数内部调用 .

主要特点

  • 签名网络标准 Request 带有 AWS 签名版本 4 的对象
  • 已签名 fetch 在一步内发送签名请求
  • 通过曝光已签名的请求和信头与 HTTP 客户端合作
  • 默认从 Lambda 运行时间读取证书和区域, 没有额外的依赖性

使用量

要启动, 请通过运行安装库 :

npm install @aws-lambda-powertools/signer

签署请求

签名者会采用网络标准 Request (或任何你能传递给 fetch,例如 URL 字符串),并返回一个新的,已签名 Request 添加了 SigV4 标题。 它没有执行网络I/O,所以你继续控制请求的发送方式.

import { SigV4Signer } from '@aws-lambda-powertools/signer/sigv4';

const signer = new SigV4Signer({ service: 'execute-api' });

export const handler = async () => {
  const signed = await signer.sign(
    'https://example.execute-api.us-east-1.amazonaws.com/items'
  );

  const response = await fetch(signed);
  await response.json();
};

默认情况下,签名者会从Lambda运行时总是提供的环境变量中读取AWS的证书和区域,因此在Lambda运行时不需要额外的配置.

发送签名请求

如果你想签署并立即发送请求,请使用 createSignedFetcher。它消耗一个签名实例,并返回一个与全局签名相同的函数 fetch,在发送前签署每项请求.

import { createSignedFetcher } from '@aws-lambda-powertools/signer/fetch';
import { SigV4Signer } from '@aws-lambda-powertools/signer/sigv4';

const signer = new SigV4Signer({ service: 'execute-api' });
const signedFetch = createSignedFetcher(signer);

export const handler = async () => {
  const response = await signedFetch(
    'https://example.execute-api.us-east-1.amazonaws.com/items',
    {
      method: 'POST',
      body: JSON.stringify({ name: 'powertools' }),
    }
  );

  await response.json();
};

使用其他 HTTP 客户端

签名和发送被刻意分开, 这样您就可以使用 HTTP 客户端的签名请求( 例如) axios, (中文(简体) ), got,生成的SDK客户端,或请求截取器. 打电话 sign() 获得签名 Request,然后读取 url, (中文(简体) ), method,以及 headers。 。 。 .

见 文档 关于配置证书和区域、处理错误和使用其他HTTP客户端的更详细信息.

贡献

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

路线图

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/signer 共发布 4 个版本,首次发布于 2026/07/09;过去 12 个月发布了 4 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.36.0latest2026/10/061 个月前
2.35.02026/08/182 个月前
2.34.02026/07/103 个月前
0.0.0pre2026/07/094 个月前

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

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

AWS Lambda (TypeScript) 库的Powertools的签名包.

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

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

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

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

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

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

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

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

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

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

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

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