【发布时间】:2018-04-26 11:57:36
【问题描述】:
我有一个 dev 和 prod 认知池,一个 dev/prod lambda 函数,它推送到 dev/prod dynamoDb 表。
是否有一种简单的方法让它知道何时使用 prod 凭据(池 ID 等)以及何时使用 dev 凭据?
与触发适当的开发/产品 API 网关 API 相同,这些 API 检查适当的池以进行身份验证,并发布到适当的 dynamoDb 表?现在我只是手动更改令牌,在 API Gateway 中,我手动切换 API 网关验证哪个认知池以及它们发布到哪些表,这不是很实用。
【问题讨论】:
-
如果您使用 API Gateway 公开您的 lambda,那么只需将其部署到两个阶段 - 一个调用 prod lambda 访问 prod Dynamodb 的 prod 阶段和一个调用 dev lambda 的 dev 阶段。在您的应用程序中,您只需要更改舞台名称即可,您可以通过 Info.plist 进行设置
-
关于如何自动获取 prod 或 dev 的令牌,这取决于您如何获取这些令牌。例如,您可以在 API Gateway 中创建一个 /login 资源,该资源将用户名 + 密码作为参数并返回令牌。同样,将其部署到在后端调用中使用不同 Cognito 池的两个阶段。现在,您也可以在应用程序中使用相同的变量/属性来获取用于获取令牌的阶段名称。因此,只需更改一个属性值,您就可以在应用中的 prod 和 dev 之间切换
-
太棒了!谢谢!将此作为答案发布,以便我接受:)
-
很高兴它成功了!
标签: xcode amazon-web-services amazon-dynamodb aws-api-gateway amazon-cognito