
aws-kinesis-local 发布:本地运行 Kinesis Data Streams API 供开发和 CI 使用
来源标题:Show HN: Kinesis API for Tests and CI
aws-kinesis-local 可在本机提供 Amazon Kinesis Data Streams API,用于开发和 CI。它实现了全部 45 项 Kinesis 操作(含 enhanced fan-out),在同一端口上支持 HTTP/1.1 和 HTTP/2 的 JSON 与 CBOR,并提供 npm 包、Docker 镜像和 Helm chart。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
aws-kinesis-local 在你的机器上提供 Amazon Kinesis Data Streams API,用于开发和 CI。它实现了全部 45 个 Kinesis 操作,包括 enhanced fan-out,并在同一端口上通过 HTTP/1.1 和 HTTP/2 提供 JSON 和 CBOR,因此 AWS CLI 和 AWS SDK 都能以默认设置直接使用。它以 npm 包、Docker 镜像和 Helm chart 的形式发布。
npx @saidsef/aws-kinesis-local --port 4567
使用 Docker:
docker run -d -p 4567:4567 docker.io/saidsef/aws-kinesis-local:latest
然后将任意 AWS 客户端指向它:
export AWS_ACCESS_KEY_ID=test AWS_SECRET_ACCESS_KEY=test AWS_REGION=eu-west-1 aws --endpoint-url http://localhost:4567 kinesis list-streams
Node.js 测试套件
在测试套件内启动一个服务器,使用空闲端口,并在之后停止它:
import { start } from '@saidsef/aws-kinesis-local' const kinesis = await start({ port: 0 }) console.log(kinesis.endpoint) await kinesis.close()
Kubernetes
helm repo add kinesis https://saidsef.github.io/aws-kinesis-local/ helm upgrade --install kinesis kinesis/kinesis --namespace kinesis --create-namespace
API 覆盖范围
aws-kinesis-local 会根据 AWS 为 Kinesis 发布的 Smithy 模型校验每个请求。它覆盖 streams、records、shards、UpdateShardCount、retention、tags、on-demand capacity、warm throughput、record distribution、enhanced fan-out、encryption、enhanced monitoring、account settings、resource policies 和 channels。Supported operations 列出了每个操作以及 aws-kinesis-local 与 AWS 的差异。
Read the Docs 使用 MkDocs Material 在 aws-kinesis-local.readthedocs.io 上发布 docs/ 下的页面。
阅读贡献指南,然后提交 pull request。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。