跳到正文
MarkTechPost· Asif Razzaq·· 1 小时前同事件AI 评分74

AWS 发布 AWS Emulator:覆盖 200+ 服务的本地 AWS API 模拟器,代码由 AI 智能体编写

AWS Releases AWS Emulator: A Local Copy of 200+ AWS Services Built by AI Agents

AI 导读

AWS 发布 AWS Emulator,这是一个可在笔记本、开发服务器或 CI 中运行的本地 AWS API 模拟器,无需 AWS 账号且不收费,其代码全部由自主智能体编写和审查。

同一件事,精选收录的是《AWS 发布本地模拟器 AWS Emulator》

正文 · AI 翻译

AWS 发布了 AWS Emulator,这是一个 AWS API 的本地模拟器。你可以在笔记本电脑、开发服务器或 CI 中运行它。AWS CLI 和 SDK 会与它通信,而不是与 AWS 通信。无需 AWS 账户,也不收取服务费。不同寻常之处在于:自主智能体编写并审查了它的全部代码。对于开发者和编码智能体来说,AWS Emulator 提供了一个针对 AWS 风格 API 的快速、免费的测试循环。

TL;DR

  • 规模:基于 438 个 AWS API 模型构建,覆盖 200+ 项服务。每项服务对应一个 Rust crate。
  • 运行环境:Linux x86_64/aarch64(RPM 或 Debian),或在 macOS/Windows 上使用 Docker,内存限制为 2 GiB。从源码构建需要 100 GB 可用磁盘空间。
  • 性能:在 v1.0.322 版本中,通过 42,857 项计分保真度测试中的 24,243 项(56.6%)。
  • 最佳:AWS KMS 达 93.9%(310 项测试中通过 291 项);Amazon SQS 达 89.8%。
  • 最差:AWS CloudFormation 为 15.8%(2,612 项测试中通过 414 项)。

什么是 AWS Emulator?

AWS Emulator 是 AWS 推出的一个无头本地程序,提供 AWS API 端点。你通过环境变量让 CLI 或 SDK 指向它。你的代码无需更改。资源存放在内存中,程序停止时即消失。

文档中展示了一个 DynamoDB 示例。使用 2 个字符的名称调用 CreateTable 会失败,并返回与 AWS 相同的 ValidationException 文本。

AI 智能体是如何构建 AWS Emulator 的?

该项目始于向 Kiro 输入的一条提示。它在大约 15 分钟内返回了一个尚可用的 Amazon SQS 模拟器。AWS 随后将工作分配给 3 个智能体团队:

  • 测试编写者从公开的 Smithy API 模型中推导出场景,并针对真实 AWS 逐一验证。
  • 问题发现者针对模拟器重放这些测试并提交失败项。
  • 修复者每人领取 1 个问题并提交补丁。

每个补丁都要通过合并门禁,涵盖构建、代码审查、安全性和保真度。多个安全智能体执行对抗性审查。Matthew Goldberg 报告称,数百个并发智能体每天修复数千个问题。发布流水线运行在 AWS Developer Tools 上,以 CodeCommit 作为智能体的代码仓库。代码最后才到达 GitHub。

AWS Emulator 的准确度如何?

AWS 随每个版本发布一个 scores.json 文件。我们统计了 v1.0.322 文件,评分日期为 2026 年 11 月 11 日。

  • 总体:42,857 项计分测试中通过 24,243 项(56.6%);80 项被跳过。
  • 步骤级:68,007 个单独步骤中通过 49,810 个(73.2%)。
  • 跨服务工作流:6,569 项中通过 2,752 项(41.9%)。
  • 核心服务:S3 79.1%,DynamoDB 77.3%,SNS 73.9%,Lambda 46.4%,EC2 41.5%。

根据保真度文档,控制平面 API 与 AWS 的匹配度最高。数据平面、CloudFormation、Terraform 和 CDK 的支持因服务而异。未实现的操作返回 HTTP 501 NotImplemented。测试位于 aws-emulator-evaluation-suite 中,包括失败的测试。

如何运行 AWS Emulator?

根据 README,有 4 种方式:

  1. Linux:安装 RPM 或 Debian 包并运行 aws-emulator。
  2. macOS/Windows:使用 AWS 的 Dockerfile 构建容器,内存上限为 2 GiB。
  3. Rust 嵌入式模式:将其添加为开发依赖,每个测试使用 1 个隔离实例。
  4. 编码智能体:aws agent-toolkit add-skill --skill-name aws-emulator,需要 AWS CLI 2.35.0 或更高版本。

源码构建在 127.0.0.1:9297 上使用自签名证书提供 HTTPS 服务。它需要 Rust 工具链、C 编译器以及至少 100 GB 磁盘空间。嵌入式模式在首次 cargo test 时承担相同的构建成本。

它与 LocalStack、Moto 和 Floci 相比如何?

功能AWS EmulatorLocalStackMotoFloci
许可证CC0 1.0(vendor/ Apache 2.0)商业方案Apache-2.0MIT
价格免费Hobby $0(非商业);Base $39;Ultimate $89 每许可证/月(按年)免费免费
服务覆盖200+ 项服务,438 个 API 模型按方案分为 30+ / 55+ / 110+README 中未披露README 中未汇总
是否需要厂商令牌否是(认证令牌)否未披露
默认端点HTTPS 127.0.0.1:9297端口 4566端口 5000端口 4566
进程内测试模式Rust 开发依赖未披露Python @mock_aws 装饰器未披露
资源占用AWS 指南中 Docker 限制为 2 GiB未披露未披露空闲约 13 MiB,启动约 24 ms(自述)
已发布的保真度评分是,每次发布未披露未披露未披露

AWS Emulator 有哪些局限?

AWS 明确列出了这些局限:

  • 不进行 IAM 评估。 身份和资源策略不会像 AWS 那样被评估。不要将其用于安全测试。
  • 1 个区域、1 个账户。 它接受任意 ID,但不会按这些 ID 隔离资源。
  • 仅在 us-west-2 中验证,全球性服务在 us-east-1 中检查。
  • 内存中运行且生命周期短。 未针对长时间运行或负载测试进行测试。使用 --idle-timeout 将其停止。
  • 遥测默认开启。 可通过 --telemetry off、EMULATOR_TELEMETRY=off、config.toml 或嵌入式 API 将其关闭。

发布节奏很快。版本 v1.0.265 至 v1.0.322 在 11 月 8 日至 11 日之间发布。

关键要点

  • AWS Emulator 是一个免费的、CC0 许可的本地副本,涵盖 200+ 项 AWS 服务。
  • 所有代码均由智能体编写;人类构建了测试和合并门禁。
  • 发布时,它通过了 42,857 项已发布保真度测试中的 56.6%。
  • SQS、KMS 和 S3 表现强劲;CloudFormation 和 IoT 落后。
  • 将其用于快速的本地和 CI 循环,而非安全或负载测试。

查看 GitHub 仓库、用户指南、保真度测试 以及 工程博文。另外,欢迎在 Twitter 上关注我们,别忘了加入我们的 150k+ ML SubReddit 并订阅 我们的新闻通讯。等等!你在 Telegram 上吗?现在你也可以在 Telegram 上加入我们。

需要与我们合作推广你的 GitHub 仓库、Hugging Face 页面、产品发布或网络研讨会等?联系我们

文章 AWS 发布 AWS Emulator:由 AI 智能体构建的 200+ 项 AWS 服务的本地副本 首次出现在 MarkTechPost。

来源:MarkTechPost · marktechpost.com