首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS --如何在lambda进程之间共享访问令牌?

AWS --如何在lambda进程之间共享访问令牌?
EN

Stack Overflow用户
提问于 2018-12-03 16:59:42
回答 1查看 3.4K关注 0票数 5

首先,我有一个关于Lambda工作方式的问题:

如果它只由一个SQS队列触发,并且该队列现在包含100条消息,那么它会按顺序创建和删除100个lambda进程吗?还是它会并行地做呢?

我的第二个问题是主要的问题: lambda的工作是请求一个每小时到期的访问令牌(对于外部服务),并使用它,对该外部服务执行一些操作。

现在,我希望能够缓存该令牌,并且只每1小时请求一次,而不是每次使用lambda请求时。

考虑到Lambda的工作方式,是否有一种通过代码来实现它的方法?如何确保所有Lambdas进程使用相同的访问令牌?(我知道我可以创建一个新的Redis实例并让它们都指向它,但是我正在寻找一个“更简单”的解决方案)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-03 18:05:40

您可以将令牌填充到SSM参数存储中。你可以加密这个值。Lambda可以检查值上的最后修改日期,以监视过期何时挂起和续订。没有要维护的Redis实例,该值将被加密。

https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-paramstore.html

您还可以使用DynamoDB进行此操作。比Redis低,因为它没有服务器。如果您有很多并发Lambda,这可能比SSM更好,因为您可能会遇到API上的速率限制。因为您必须设置一个DynamoDB表,所以需要做更多的工作。

另一个选项是有一个“父”Lambda函数,它获取API令牌并调用“worker”Lambda,并将令牌作为参数传递。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53598379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档