examples/

directory
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 10, 2026 License: MIT

README

examples

每个子目录是一个可独立运行的 main。三类后端都用同一种调用模式演示,结构绝对统一:

body, err := c.Invoke(ctx, "<scheme>://"+target, []byte(`{"event":"created","id":1}`))

http:// 走 HTTP(payload 非空 -> 默认 POST)、lambda:// 走 Lambda.Invoke、sqs:// 走 SQS.SendMessage。 三者的调用、错误处理、结果打印逐行一致,只有 scheme 与客户端构造不同; err 非 nil 即失败(body 恒为 nil),成功时 body 即响应/返回 payload(发送类后端为 nil)。

目录 演示 是否需要 AWS
localdev WithLocalRedirectlambda://sqs:// 打到进程内 HTTP mock,端到端跑通 + errors.Is 哨兵判错 否(开箱即跑)
http 包级 awsease.Invoke(ctx, "http://"+target, payload) —— 方法恒为 POST、query 原样保留 否(需一个可 POST 的端点)
lambda c.Invoke(ctx, "lambda://"+target, payload)
sqs c.Invoke(ctx, "sqs://"+target, payload)

跑法

# 完全本地,无需任何凭证:
go run ./examples/localdev

# 三类后端:统一 Invoke 模式,只换 target 来源
AWS_EASE_HTTP_TARGET=httpbin.org/post            go run ./examples/http
AWS_REGION=us-east-1 AWS_EASE_LAMBDA_TARGET=my-func   go run ./examples/lambda
AWS_REGION=us-east-1 AWS_EASE_SQS_TARGET=my-queue     go run ./examples/sqs

异步 Lambda、FIFO SQS 等细控走 URL 参数,调用模式不变: lambda://fn?async=truesqs://q?group=g&dedup=d&attr.k=v(HTTP 后端恒为 POST,无特性参数)。 完整 API 与 URL 约定见 ../README.md

Directories

Path Synopsis
Command http 演示用 aws-ease 调普通 HTTP 后端。
Command http 演示用 aws-ease 调普通 HTTP 后端。
Command lambda 演示用 aws-ease 调 AWS Lambda。
Command lambda 演示用 aws-ease 调 AWS Lambda。
Command localdev 演示本地开发:用 WithLocalRedirect 把 lambda:// 与 sqs:// 打到一个 进程内的 HTTP mock,业务地址串一字不改、完全不碰真实 AWS。
Command localdev 演示本地开发:用 WithLocalRedirect 把 lambda:// 与 sqs:// 打到一个 进程内的 HTTP mock,业务地址串一字不改、完全不碰真实 AWS。
Command sqs 演示用 aws-ease 推送 SQS 消息。
Command sqs 演示用 aws-ease 推送 SQS 消息。