【发布时间】:2016-06-13 20:52:32
【问题描述】:
我正在设计一个具有四个端点的 API。
/shop/{shop}/payment/{env}/endpoint
{shops} 可以是:
-
alpha-one(生产) -
alpha-two(开发) -
alpha-three(暂存)
{env} 可以是:
-
test(按键) -
live(按键)
端点如下:
/shop/alpha-one/payment/live/endpoint/shop/alpha-two/payment/test/endpoint/shop/alpha-three/payment/live/endpoint/shop/alpha-three/payment/test/endpoint
在 AWS API Gateway 中使用这些端点时,我有两种选择。
选项 1。我可以像这样显式设置 api 链中的每个函数:
-
/shop-
/alpha-one-
/payment-
/live-
/endpoint-
POST>my-func-one
-
-
-
-
-
/alpha-two-
/payment-
/live-
/endpoint-
POST>my-func-two
-
-
-
-
-
/alpha-three-
/payment-
/live-
/endpoint-
POST>my-func-three
-
-
-
/test-
/endpoint-
POST>my-func-four
-
-
-
-
-
选项 2。或者,我可以这样做并让代码解决所有问题。
-
/shop-
/{shop}-
/payment-
/{env}-
/endpoint-
POST>my-func
-
-
-
-
-
问题:
- 在单独的 lambda 中运行单独的端点有什么好处?鉴于
/shop/alpha-one/payment/live/endpoint的性能和可用性是最重要的?
【问题讨论】:
-
我能想到至少 12 个后续问题,但老实说,我不确定要先回答 5 个问题中的哪一个。为获得最佳结果,我会考虑您重写或简化问题?
-
@RodrigoM gotcha,它实际上只归结为每个端点的环境变量和不同的 lambdas,但即使这两件事也相互影响。
-
好的,谢谢您的帮助 - 如果您愿意,我很乐意开始聊天。我有一些问题/想法。你可以设置一个聊天室并邀请吗?不知道它是如何工作的。
-
@RodrigoM 是的,当然!
标签: amazon-web-services environment-variables versioning api-design aws-api-gateway