@aws- sdk/ 客户端编码部署
说明
JavaScript CodeD 的 AWS SDK 为 Node.js 的客户端, 浏览器和 React End.
代码部署是一种部署服务,可以自动化应用程序部署 到 Amazon EC2 实例,在您自己的设施中运行的前提实例, 没有服务器的 Lambda 函数, 或 Amazon ECS 中的应用程序 服务.
您可以部署近乎无限的应用程序内容, 如更新 Lambda功能,亚马逊ECS服务中更新的应用程序, 代码、网络和配置文件、可执行文件、软件包、脚本、多媒体文件以及 诸如此类。 代码部署可以部署存储在 Amazon S3 中的应用程序内容 桶,GitHub寄存器,或Bitbucket寄存器. 您不需要更改 在使用“代码部署”之前,请先输入现有的代码.
代码部署使您更容易快速发布新功能, 帮助 ,并处理更新的复杂性 您的应用程序,没有与易出错手册相关的许多风险 部署.
代码部署组件
使用本指南中的信息帮助您使用以下代码配置组件:
-
应用: 唯一标识的名称 您想要部署的应用程序。 代码调度使用此名称, 而 作为一种容器,以确保正确结合修订, 部署配置,部署组在a 部署.
-
部署小组: 一组个人 实例,代码部署 Lambda 部署配置设置, 或 Amazon ECS 服务和网络细节。 一个Lambda部署小组具体说明如何 以到 Lambda 函数的新版本。 Amazon ECS 部署组指定在 Amazon ECS 中创建的用于部署的服务,一个负载平衡器和一个用于重排生产方向的收听器 使用更新的集装箱化应用程序。 Amazon EC2/On-promies部署组包含个别标记的实例,Amazon EC2在 Amazon EC2 自动放大组中的实例,或两者兼有。 全体 部署组可以指定可选触发、提醒和回滚 设置.
-
部署配置: 一套部署 规则和部署成功与失败条件 代号部署在部署时使用.
-
部署: 所用工艺和组件 当更新 Lambda 函数时,在 亚马逊ECS服务,或安装一个或多个内容 实例.
-
申请修订: 对于Lambda的部署,这是一个 AppSpec 文件,其中指定了 要更新的 Lambda 函数和一个或多个函数到 验证部署生命周期事件。 亚马逊ECS的部署 是指定亚马逊ECS任务定义的 AppSpec 文件, 集装箱,以及生产交通改道的港口。 EC2/关于房地 部署,这是一个包含源内容-源代码的归档文件, 网页、可执行文件以及部署脚本——与 AppSpec 文件一起. 修订被存储在亚马逊S3桶或GitHub寄存器中. 对于 Amazon S3,一个修订版被其Amazon S3对象密钥及其ETag,版本,或两者均独有地识别出. 对 GitHub 来说, 修订是独一无二的 以承诺身份识别.
本指南还包含一些信息,帮助您获得关于您在 您的部署, 用于代码部署的配置 部署,以获得Lambda函数部署的细节,并获得 关于亚马逊ECS服务部署的细节.
代码部署信息资源
安装
要安装此软件包, 请使用您最喜欢的软件包管理器的 CLI :
npm install @aws-sdk/client-codedeployyarn add @aws-sdk/client-codedeploypnpm add @aws-sdk/client-codedeploy
开始
导入
AWS SDK由客户端和命令进行调制.
要发送请求,只需导入 CodeDeployClient 财务报告和审定财务报表
例如,您需要的命令 ListApplicationsCommand数字 :
// ES5 example
const { CodeDeployClient, ListApplicationsCommand } = require("@aws-sdk/client-codedeploy");
// ES6+ example
import { CodeDeployClient, ListApplicationsCommand } from "@aws-sdk/client-codedeploy";
使用量
发出请求:
- 以配置(如证书,区域)为客户端提供证据.
- 见 文件/中心 用于配置细节.
- 见 @aws- sdk/ 配置 附加选项.
- 以输入参数证明命令 .
- 打电话
send操作客户端,以输入方式提供命令对象.
const client = new CodeDeployClient({ 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"后缀.
CodeDeploy 扩展 CodeDeployClient 并额外支持所有操作,服务员, 和活人作为方法.
这种风格可能从JavaScript v2的AWS SDK中为您所熟悉.
如果你正在捆绑 AWS SDK, 我们建议只使用赤骨客户端(CodeDeployClient) (中文(简体) ).
更多详情见博客文章:
javaScript 的 AWS SDK 模块包。 。 。 .
import { CodeDeploy } from "@aws-sdk/client-codedeploy";
const client = new CodeDeploy({ 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-codedeploy 软件包正在更新.
为了帮助客户,你可以检查我们 生成客户端脚本。 。 。 .
许可证
此 SDK 分布于 Apache 许可证,2.0版本, (中文(简体) ), 更多信息见LICENSE.