@aws-sdk/客户端-lambda-web
说明
JavaScript LambdaWeb 节点客户端的 AWS SDK,浏览器和React Industrial.
AWS Lambda Web函数是AWS Lambda的一种能力,可以用来运行web应用程序和API后端作为无服务器的HTTP服务器. 您的代码在网络端口上听取并直接处理请求. 您可以使用熟悉的Node.js网络框架,如Express,Hono,或者没有Lambda特定适配器或包装的回放路由器. 您像其他 Node.js Web app 一样在本地开发并运行您的服务器 .
Lambda 创建一个 HTTPS 端点, 管理执行环境, 并用流量缩放您的应用程序, 包括当它闲置时为零 。 为了减少全球分布用户的延迟性,您可以在单个端点后跨多个AWS区域部署.
一个Web函数有一个或多个不可变的修改(代码和配置)和一个或多个端点将其暴露在HTTPS上.
对直接接收和响应HTTP流量的工作量使用Web函数. 常用案例包括:
-
Web 应用程序 – 从单一部署中部署服务HTML,资产和API 路由的全存储或前端应用程序.
-
REST和GraphQL APIS – 构建服务于高请求量的API后端.
-
Micro services – 运行HTTP服务,随着流量的独立规模,包括闲置时为零.
-
服务器端渲染(SSR) – 服务在服务器上按请求时间而不是预建时提供页面. 一个 Web 函数直接运行您框架的制作服务器 。 这适用于根据每项请求使内容个性化或经常改变的应用程序.
-
流出响应 – 流出输出给客户端,例如来自大语言模型的响应.
用于事件驱动处理, 如处理队列信件或文件上传, 使用 Lambda 事件函数 换句话说 关于Web函数的更多信息,请参见: Lambda 网络函数 输入 AWS Lambda 开发者指南。 。 。 .
安装
要安装此软件包, 请使用您最喜欢的软件包管理器的 CLI :
npm install @aws-sdk/client-lambda-webyarn add @aws-sdk/client-lambda-webpnpm add @aws-sdk/client-lambda-web
开始
导入
AWS SDK由客户端和命令进行调制.
要发送请求,只需导入 LambdaWebClient 财务报告和审定财务报表
例如,您需要的命令 ListTagsCommand数字 :
// ES5 example
const { LambdaWebClient, ListTagsCommand } = require("@aws-sdk/client-lambda-web");
// ES6+ example
import { LambdaWebClient, ListTagsCommand } from "@aws-sdk/client-lambda-web";
使用量
发出请求:
- 以配置(如证书,区域)为客户端提供证据.
- 见 文件/中心 用于配置细节.
- 见 @aws- sdk/ 配置 附加选项.
- 以输入参数证明命令 .
- 打电话
send操作客户端,以输入方式提供命令对象.
const client = new LambdaWebClient({ region: "REGION" });
const params = { /** input parameters */ };
const command = new ListTagsCommand(params);
自动/等待
我们建议使用 等待时 运算符等待通过发送操作返回的承诺如下:
// async/await.
try {
const data = await client.send(command);
// process data.
} catch (error) {
// error handling.
} finally {
// finally.
}
承诺
您还可以使用 承诺连锁。 。 。 .
client
.send(command)
.then((data) => {
// process data.
})
.catch((error) => {
// error handling.
})
.finally(() => {
// finally.
});
合并客户端
归集客户端类别从同套件中导出,但没有"Client"后缀.
LambdaWeb 扩展 LambdaWebClient 并额外支持所有操作,服务员, 和活人作为方法.
这种风格可能从JavaScript v2的AWS SDK中为您所熟悉.
如果你正在捆绑 AWS SDK, 我们建议只使用赤骨客户端(LambdaWebClient) (中文(简体) ).
更多详情见博客文章:
javaScript 的 AWS SDK 模块包。 。 。 .
import { LambdaWeb } from "@aws-sdk/client-lambda-web";
const client = new LambdaWeb({ region: "REGION" });
// async/await.
try {
const data = await client.listTags(params);
// process data.
} catch (error) {
// error handling.
}
// Promises.
client
.listTags(params)
.then((data) => {
// process data.
})
.catch((error) => {
// error handling.
});
// callbacks (not recommended).
client.listTags(params, (err, data) => {
// process err and data.
});
解决问题
当服务返回例外时,错误将包括例外信息, 以及响应元数据(如请求编号).
try {
const data = await client.send(command);
// process data.
} catch (error) {
const { requestId, cfId, extendedRequestId } = error.$metadata;
console.log({ requestId, cfId, extendedRequestId });
/**
* The keys within exceptions are also parsed.
* You can access them by specifying exception names:
* if (error.name === 'SomeServiceException') {
* const value = error.specialKeyInException;
* }
*/
}
另见 文档/错误。 。 。 .
获取帮助
请利用这些社区资源获得帮助. 我们使用 GitHub 问题来跟踪错误和特性请求,但处理它们的带宽有限.
- 访问 开发者指南 或者说 API 参考。 。 。 .
- 看看贴有标签的博客文章
aws-sdk-jsaWS 开发者博客. - 问个问题 叠叠流 并贴上标签
aws-sdk-js。 。 。 . - 加入 AWS JavaScript 社区 发光。 。 。 .
- 如果你发现你发现了一个虫子,请 打开一个问题。 。 。 .
为了测试您在Node.js中通用的JavaScript代码,浏览器和反应本地环境, 拜访我们 代码样本 repo。 。 。 .
捐款
此客户端代码是自动生成的. 任何修改在下次修改时都会被覆盖 @aws-sdk/client-lambda-web 软件包正在更新.
为了帮助客户,你可以检查我们 生成客户端脚本。 。 。 .
许可证
此 SDK 分布于 Apache 许可证,2.0版本, (中文(简体) ), 更多信息见LICENSE.