服务对象与地域限制
PuppyIP 仅面向海外合规企业及其授权人员提供服务,不面向中国大陆地区开放或提供代理服务。本服务仅限用于中国大陆境外的合法业务活动,严禁在中国大陆境内使用本服务。
代理 IP 或服务器位于境外,不改变上述限制。不得通过中转、转接、共享或转售向中国大陆境内的最终使用者提供本服务。使用前请阅读用户服务协议。
本文要点
- 已有 AWS SDK/CLI 可指向模拟器端点,使用模拟器提供的签名凭据;本地资源不会创建到 AWS 账号中。
- API 模型生成不等于每个操作的行为已实现;未实现的操作返回 HTTP 501,错误码为 NotImplemented。
- 每个实例有独立端口、密钥与内存状态;停止后状态清空,适合并行代理和可重建的 CI 任务。
- 资源及数据留在设备上,但使用遥测默认开启;真实 AWS 费用、安全配置和服务行为仍需另行核实。
它能替代开发流程中的哪一段?
AWS Emulator 在本机或持续集成(CI)环境中处理 AWS API 调用,供开发者和编程代理在部署前发现问题。它维护本地资源状态,能够承接创建资源、读取结果、调整代码后再测试的循环;本地使用不要求 AWS 账号或先做云端部署。
这与部署云端执行环境是不同任务:模拟器承接的是指向它的 API 请求。项目若还会调用其他外部服务,这些调用不会因为启用了模拟器就自动变成本地请求。
先列出操作,再看保真度报告
保真度(fidelity)指模拟器行为与真实 AWS 有多接近。AWS 从公开 API 模型生成服务,但具体行为仍按发布版本逐步补齐和验证。先列出项目实际调用的服务、操作与预期错误,再检查相应版本的保真度报告;服务名称出现在模型里,不足以证明全部操作可用。
目前最接近 AWS 的是创建、查询、修改、删除和列出资源等控制平面 API。对象读写等数据平面行为,以及 CloudFormation、Terraform、AWS CDK 这类基础设施即代码工具的支持,因服务而异。不能把某个创建测试通过,扩展成整个部署链已经兼容。
报告按服务给出通过测试数与总数,并注明模拟器提交及测试套件版本。比较分数时只比较同一套件版本;官方举例中的 40/50 变为 45/60,同时包含新增通过项和新增测试,不能仅凭比例降低就判定功能退步。
怎样接入 SDK、CLI 与并行任务?
第一步,按当前入门文档在本地或 CI 启动模拟器,并保留它实际给出的端点、端口与测试密钥。第二步,让该测试任务的 AWS SDK 或 CLI 指向这个端点,使用模拟器提供的凭据签名请求。这里的凭据来自模拟器,配置时不要混用生产凭据或真实 AWS 端点。
第三步,准备可重复执行的测试数据与预期结果,再运行获准的本地测试。若多个代理、测试套件或分支并行工作,为每个任务启动自己的实例,并分别传递其端点与密钥。每个实例有独立端口、密钥和内存状态;这些配置也要对应正确,避免任务误连到同一个实例。
收到 501 NotImplemented 时先判断什么?
当操作尚未实现时,AWS Emulator 返回 HTTP 501,错误码为 NotImplemented,调用该操作的测试会直接失败。先核对失败响应是否来自模拟器、所用操作和模拟器版本,再查该版本的已知覆盖范围;不能仅凭这个响应认定 AWS 账号被限流、目标区域没开通或代理网络故障。
对于已实现的操作,模拟器以匹配有效调用的结果、无效调用的错误为目标;具体差异仍以当前报告为准。例如,创建资源成功后,下一步业务数据操作仍可能未实现。这是说明检查粒度的假设例子,不是本文执行过的测试。
重启、隐私和费用有哪些容易漏掉的条件?
资源状态只存在内存中,停止模拟器就会丢失,新一次运行从空状态开始。将测试准备与清理写成可重复流程,并记录实例和版本;不能依赖上次运行遗留的表、桶或队列来证明测试稳定。
资源及其数据留在设备上,但使用遥测默认开启且可关闭。本文核实的产品页没有列出全部采集字段或关闭步骤,需在当前文档中另查;不能将“资源在本地”解读为默认没有任何对外通信。产品页提到可在无网络沙箱中运行,也不代表它会自动为项目创建网络隔离。
AWS 表示模拟器没有额外服务费;真正部署到 AWS 后,所用 AWS 资源仍按相应规则收费。本地测试不需要账号,不等于真实部署免费,也不能据此推断本机、CI 或其他外部服务没有费用。
什么时候必须回到真实 AWS 验证?
AWS 明确将模拟器限定为开发和测试用途,不提供持久性、可用性或安全保证,不应用于生产流量或生产数据。上线前仍需在获授权的真实环境核对安全设置、实际服务行为、目标区域与资源费用;模拟器测试通过只说明该测试在当时版本和配置下通过。
如发现差异,先保留脱敏的操作名称、复现步骤、模拟器响应和预期 AWS 响应,区分未实现操作与已实现行为不一致。本文依据官方公开资料整理,没有安装或运行模拟器、访问读者账号,也没有验证任何项目的兼容率。
资料来源
常见问题
目前明确了哪些本地运行方式?
产品页明确列出 Linux 原生二进制运行,无需容器运行时;Rust 测试也可使用嵌入模式,在每个测试中运行一个模拟器而不另起进程。本文核实的页面没有完整列出其他操作系统或 CPU 架构矩阵,不能据此假定都已支持。
文档里的 Oregon 和 N. Virginia 是本地运行的区域限制吗?
不是。AWS 说明,其保真度测试在 US West (Oregon,us-west-2) 核验,全局服务在 US East (N. Virginia,us-east-1) 核验。这描述的是官方测试方法;发布公告明确模拟器不依赖 AWS Region。部署到真实 AWS 时,仍需单独核对目标区域与账号条件。