AWS 云层
这个包提供了代理工具,可以部署S3站点和放大应用,管理Lightsail事件和Route53 DNS,创建CloudFront分布,并部署或引用Lambda函数. 它使用SigV4签名的直接AWS REST API呼叫.
安装
npm install @framers/agentos-ext-cloud-aws
同伴依赖 : @framers/agentos 有范围 >=0.10.40。 。 。 .
使用量
import { AgentOS } from '@framers/agentos';
const agentos = await AgentOS.create({
extensionManifest: {
packs: [
{
package: '@framers/agentos-ext-cloud-aws',
options: {
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
region: process.env.AWS_REGION,
},
},
],
},
});
配置
| 选项 | 秘密编号 | 环境变量 | 需求 | 默认 |
|---|---|---|---|---|
accessKeyId | aws.accessKeyId | AWS_ACCESS_KEY_ID | 对 | 空字符串 |
secretAccessKey | aws.secretAccessKey | AWS_SECRET_ACCESS_KEY | 对 | 空字符串 |
region | aws.region | AWS_REGION | 没有 | us-east-1 |
secrets | 没有 | context.secrets,则 {} |
明确选项优先于秘密,然后是环境变量. options.secrets 优先于 context.secrets。 。 。 .
工具
| 工具 | 它会做什么 |
|---|---|
awsDeployS3Site | 将本地的静态网站部署到一个S3桶,并设有网站主机和公众阅读权限. |
awsCreateLightsail | 创建、列表或删除 Lightsail 实例. |
awsDeployAmplify | 从 Git 寄存器创建 Amplify 应用程序, 设置分支, 并启动部署 . |
awsManageRoute53 | 添加,去除,提升,或列出Route53 DNS记录并列出主机区. |
awsConfigureCloudFront | 为 S3 桶或自定义来源创建 CloudFront 分布 . |
awsConfigureLambda | 部署、更新、援引或检查Lambda函数. |
awsDeployS3Site
| 参数 | 类型 | 需求 | 说明 |
|---|---|---|---|
bucketName | 字符串 | 对 | S3桶名,全球独有. |
sourceDir | 字符串 | 对 | 包含静态站点文件的本地目录路径 . |
indexDocument | 字符串 | 没有 | 默认索引文档文件名 index.html。 。 。 . |
errorDocument | 字符串 | 没有 | 文档文件名出错, 默认 error.html。 。 。 . |
region | 字符串 | 没有 | Bucket 区域,如果省略则使用已配置的默认值 . |
awsCreateLightsail
| 参数 | 类型 | 需求 | 说明 |
|---|---|---|---|
action | 字符串 : create, (中文(简体) ), list, (中文(简体) ), delete | 没有 | 要执行的动作, 默认 create。 。 。 . |
instanceName | 字符串 | 没有 | 实例名称,用于创建和删除. |
blueprintId | 字符串 | 没有 | 操作或应用程序图像, 默认 ubuntu_22_04。 。 。 . |
bundleId | 字符串 | 没有 | 实例大小, 默认 nano_3_0。 。 。 . |
availabilityZone | 字符串 | 没有 | 可用区,默认值 {region}a。 。 。 . |
userData | 字符串 | 没有 | 用户数据脚本运行于实例启动 . |
tags | 对象[] | 没有 | 用于实例的标记 . |
tags[].key | 字符串 | 是的, 在每个标签内 | |
tags[].value | 字符串 | 是的, 在每个标签内 |
awsDeployAmplify
| 参数 | 类型 | 需求 | 说明 |
|---|---|---|---|
appName | 字符串 | 对 | 在 Amplify 中的应用程序名称 . |
repository | 字符串 | 对 | Git 仓库 URL . |
branch | 字符串 | 没有 | 要部署的分支, 默认 main。 。 。 . |
oauthToken | 字符串 | 没有 | OAuth或个人访问令牌 私人寄存器. |
framework | 字符串 | 没有 | 框架预设,如果省略则自动检测. |
buildSpec | 字符串 | 没有 | 放大建筑规格, amplify.yml 内容. |
environmentVariables | 对象 | 没有 | 环境变量作为键值对. |
stage | 字符串 | 没有 | 部署阶段,默认 PRODUCTION。 。 。 . |
awsManageRoute53
| 参数 | 类型 | 需求 | 说明 |
|---|---|---|---|
action | 字符串 : add, (中文(简体) ), remove, (中文(简体) ), upsert, (中文(简体) ), list, (中文(简体) ), list-zones | 对 | 行动. |
hostedZoneId | 字符串 | 没有 | 托管区ID, 需要添加, 删除, 上升, 和列表 . |
recordName | 字符串 | 没有 | DNS唱片名. |
recordType | 字符串 : A, (中文(简体) ), AAAA, (中文(简体) ), CNAME, (中文(简体) ), MX, (中文(简体) ), TXT, (中文(简体) ), NS, (中文(简体) ), SOA, (中文(简体) ), SRV, (中文(简体) ), CAA | 没有 | DNS唱片类型. |
values | 字符串 [] | 没有 | 记录值. |
ttl | 编号 | 没有 | TTL以秒计,默认为300. |
aliasTarget | 对象 | 没有 | 53号公路的异名记录. |
aliasTarget.hostedZoneId | 字符串 | 对,在 aliasTarget | 主办区代名词标识. |
aliasTarget.dnsName | 字符串 | 对,在 aliasTarget | DNS别名目标. |
aliasTarget.evaluateTargetHealth | 布尔 | 没有 | 是否评估目标健康, 默认 false。 。 。 . |
awsConfigureCloudFront
| 参数 | 类型 | 需求 | 说明 |
|---|---|---|---|
originDomainName | 字符串 | 对 | 出处域名. |
originId | 字符串 | 没有 | 自定义源代码, 如果省略则自动生成 . |
isS3Origin | 布尔 | 没有 | 来源是否是 S3 桶, 默认 true; 使用 false 用于自定义来源. |
enabled | 布尔 | 没有 | 是否启用发行, 默认 true。 。 。 . |
defaultRootObject | 字符串 | 没有 | 默认根对象, 默认 index.html。 。 。 . |
comment | 字符串 | 没有 | 分发意见或说明. |
priceClass | 字符串 : PriceClass_100, (中文(简体) ), PriceClass_200, (中文(简体) ), PriceClass_All | 没有 | 价格等级控制边缘位置. |
aliases | 字符串 [] | 没有 | 自定义域别名或 CNAME. |
viewerProtocolPolicy | 字符串 : redirect-to-https, (中文(简体) ), allow-all, (中文(简体) ), https-only | 没有 | 查看器协议政策, 默认 redirect-to-https。 。 。 . |
originProtocolPolicy | 字符串 : https-only, (中文(简体) ), http-only, (中文(简体) ), match-viewer | 没有 | 自定义来源协议政策, 默认 https-only。 。 。 . |
awsConfigureLambda
| 参数 | 类型 | 需求 | 说明 |
|---|---|---|---|
action | 字符串 : deploy, (中文(简体) ), invoke, (中文(简体) ), get | 没有 | 要执行的动作, 默认 deploy。 。 。 . |
functionName | 字符串 | 对 | Lambda 函数名 . |
runtime | 字符串 | 没有 | 部署所需的运行时间. |
handler | 字符串 | 没有 | 掌上电脑进入点,部署所需. |
roleArn | 字符串 | 没有 | IAM执行角色ARN,部署需要. |
zipFilePath | 字符串 | 没有 | 用于部署的包含函数代码的zip文件路径 . |
memorySize | 编号 | 没有 | MB中的内存,默认为128,最高为10240. |
timeout | 编号 | 没有 | 超时数以秒计,默认为30分,最高为900分. |
environment | 对象 | 没有 | 环境变量作为键值对. |
description | 字符串 | 没有 | 函数描述. |
invokePayload | 没有 | 发送请求的有效载荷 . |
页:1
缺少证书并验证通过STS提供的证书时启动失败 GetCallerIdentity。 。 。 .
S3部署移除了桶的公用访问屏蔽,允许网站托管,应用公用阅读政策,并递相上传本地文件. 服务发送文件缓冲器作为基数64文本并返回一个HTTP网站URL.
光帆创建和删除, DNS 更改, 放大部署, CloudFront 创建, 和 Lambda 部署或引用更改远程资源. 需要灯帆 instanceName 用于创建和删除。 需要更改路线53 hostedZoneId, (中文(简体) ), recordName, (中文(简体) ), recordType,或者非空 values 或者说 aliasTarget。 。 。 .
放大部署创建了应用程序并启动部署,无需等待完成。 CloudFront 为 CNAME 记录和ACM 证书提供返回指令 us-east-1;该工具不提供该证书.
Lambda的部署读取了本地的zip档案并需要 runtime, (中文(简体) ), handler, (中文(简体) ), roleArn,以及 zipFilePath。一个现有函数已更新其代码和配置。 计划描述中的内存和超时最大值不在当地执行.
许可证
阿帕奇 - 2.0