@aws- sdk/ 客户端- appconfig
说明
JavaScript AppConfig 客户端的 AWS SDK 为 Node.js , 浏览器和 React Industrial .
AppConfig帮助您安全地改变生产中的应用行为,而无需重新部署代码. 使用特征旗和动态自由形式配置,可以实时控制应用程序的运行. 这种方法可以减少风险,加速释放,并能更快地应对问题。 可以向特定用户逐步推出新功能,监测其影响,并有把握地扩大可用性. 您也可以立即更新块列表,允许列表,节流限制和日志级别,从而可以在不部署的情况下缓解问题并微调性能.
AppConfig支持广泛的使用案例:
-
地标和切换 ——逐步向目标用户释放出新能力,监测影响,如果出现问题,立即回滚.
-
应用程序调谐 ——在生产上安全地引入变化,测量其效果,并完善行为而不重新部署代码.
-
允许列表或块列表 ——在不修改应用程序代码的情况下,实时控制功能访问或限制特定用户.
-
集中配置存储 管理各种工作量的配置数据。 AppConfig可以从AppConfig主机配置商店,秘密管理器,系统管理器,系统管理器参数存储器或亚马逊S3部署配置.
AppConfig 如何操作
本节对AppConfig如何工作以及AppConfig如何工作作了高级别描述 开始吧.
- 1. 确定 AppConfig 管理配置数据
-
在创建配置配置之前,请在代码中识别您想要动态使用 AppConfig 管理的配置数据. 常见的例子有地物标志、允许和块列表、伐木水平、服务限制和节流规则。 这些值往往会频繁地变化,如果配置不当可能会出问题.
如果您的配置数据已经存在于云服务中, 如系统管理器参数存储器或亚马逊 S3, 您可以使用 AppConfig 来验证、 部署和管理这些数据 .
- 2. 在 AppConfig 中创建配置配置配置
-
配置配置配置定义 AppConfig 如何定位和管理您的配置数据 。 它包括一个指向数据源的URI和一个剖面图类型.
AppConfig 支持两个配置类型
-
地物标志 - 允许控制特性释放、逐步推出和生产测试.
-
自由形式配置 – 存储并取回外部来源的配置数据,并在不重新部署代码的情况下更新.
这两种配置类型都有助于从代码中解析配置,支持连续提供,并降低部署风险.
也可以添加可选验证器,以确保配置数据在策略上和分解上都正确. 在部署期间,AppConfig对这些验证器进行评价,如果验证失败,则自动回滚更改.
每个配置配置配置都与一个应用程序相关联,该应用程序作为您配置资源的逻辑容器. 关于创建配置配置的更多信息,请参见 在 AppConfig 中创建配置配置配置 输入 AppConfig 用户指南。 。 。 .
-
- 3. 部署配置数据
-
当你开始部署时, AppConfig :
-
从配置配置配置中定义的源获取配置数据
-
使用配置的校验器验证数据
-
将已验证的配置交付给 AppConfig 代理
已交付的配置成为您应用程序使用的已部署的版本 。 关于部署配置的更多信息,请参见: 在 AppConfig 中部署特征标记和配置数据。 。 。 .
-
- 4. 获取配置数据
-
您的应用程序通过调用 AppConfig Agent 曝光的本地端点来获取配置数据, 该端点会缓存部署的配置 。 获取数据是一个计算事件。 AppConfig Agent 支持多种使用例,如 如何使用 AppConfig 代理来获取配置数据。 。 。 .
如果代理不适合您的使用大小写, 您的应用程序可以通过调用 AppConfig 直接检索配置数据 开始配置会话 财务报告和审定财务报表 获取 Latest 配置 API动作.
关于获取配置的更多信息,请参见 在 AppConfig 中获取特性标记和配置数据。 。 。 .
本提法意在与《京都议定书》 AppConfig 用户 指南。 。 。 .
安装
要安装此软件包, 请使用您最喜欢的软件包管理器的 CLI :
npm install @aws-sdk/client-appconfigyarn add @aws-sdk/client-appconfigpnpm add @aws-sdk/client-appconfig
开始
导入
AWS SDK由客户端和命令进行调制.
要发送请求,只需导入 AppConfigClient 财务报告和审定财务报表
例如,您需要的命令 ListApplicationsCommand数字 :
// ES5 example
const { AppConfigClient, ListApplicationsCommand } = require("@aws-sdk/client-appconfig");
// ES6+ example
import { AppConfigClient, ListApplicationsCommand } from "@aws-sdk/client-appconfig";
使用量
发出请求:
- 以配置(如证书,区域)为客户端提供证据.
- 见 文件/中心 用于配置细节.
- 见 @aws- sdk/ 配置 附加选项.
- 以输入参数证明命令 .
- 打电话
send操作客户端,以输入方式提供命令对象.
const client = new AppConfigClient({ region: "REGION" });
const params = { /** input parameters */ };
const command = new ListApplicationsCommand(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"后缀.
AppConfig 扩展 AppConfigClient 并额外支持所有操作,服务员, 和活人作为方法.
这种风格可能从JavaScript v2的AWS SDK中为您所熟悉.
如果你正在捆绑 AWS SDK, 我们建议只使用赤骨客户端(AppConfigClient) (中文(简体) ).
更多详情见博客文章:
javaScript 的 AWS SDK 模块包。 。 。 .
import { AppConfig } from "@aws-sdk/client-appconfig";
const client = new AppConfig({ region: "REGION" });
// async/await.
try {
const data = await client.listApplications(params);
// process data.
} catch (error) {
// error handling.
}
// Promises.
client
.listApplications(params)
.then((data) => {
// process data.
})
.catch((error) => {
// error handling.
});
// callbacks (not recommended).
client.listApplications(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-appconfig 软件包正在更新.
为了帮助客户,你可以检查我们 生成客户端脚本。 。 。 .
许可证
此 SDK 分布于 Apache 许可证,2.0版本, (中文(简体) ), 更多信息见LICENSE.