AWS Lambda:在哪里存储临时秘密数据?
AWS Lambda: where to store temporary secret data?
我正在使用带有 SQS 触发器的 AWS Lambda。我的 Lambda 函数正在从 SQS 获取数据并将其发送到外部源。此外部源需要身份验证。因此,在发送数据之前,我的函数将获取两个 AWS SSM 参数——密钥数据过期时间和 API 密钥。随着密钥数据过期,我对 Lambda 的理解——我们是否应该更新 API 密钥。
现在我开始收到这些错误:
[ERROR] ClientError: An error occurred (ThrottlingException) when
calling the GetParameter operation (reached max retries: 4): Rate
exceeded
我永远不知道我会在 SQS 中获取多少数据,所以,看起来有时我获取数据的频率太高了。
我的问题是 - 我该如何解决这个问题?我可以开始使用哪种 AWS 服务或方式来代替 AWS SSM?是否可以在 AWS Lamdas 之间缓存数据?
是的,您可以在 Lambda 函数中缓存数据。
创建 AWS Lambda 函数时,它是在容器中配置的。 Lambda 函数中 运行 在 处理函数之外 的任何代码在首次创建容器时都将是 运行。例如,此代码可以从 SSM 检索参数并将其存储在 Python 程序中的全局变量中。
然后,当调用Lambda函数时,调用Handler函数,它可以访问全局变量。
(或者,处理函数可以检查数据是否被提取到全局变量中,而不是在配置容器时检索数据,如果没有,它可以从 SSM 中提取参数。类似 activity,但在这种情况下,它 运行 在处理程序内而不是 在 处理程序之外。)
要了解有关此主题的更多信息,请参阅:AWS Lambda execution environment - AWS Lambda
另一种选择是为 Parameter Store 启用更高的吞吐量限制。参见:AWS Systems Manager Now Supports Use of Parameter Store at Higher API Throughput
或者,您可以考虑使用 AWS Secrets Manager。参见:AWS Secrets Manager now supports larger size for secrets and resource polices and higher request rate for GetSecretValue API
我正在使用带有 SQS 触发器的 AWS Lambda。我的 Lambda 函数正在从 SQS 获取数据并将其发送到外部源。此外部源需要身份验证。因此,在发送数据之前,我的函数将获取两个 AWS SSM 参数——密钥数据过期时间和 API 密钥。随着密钥数据过期,我对 Lambda 的理解——我们是否应该更新 API 密钥。
现在我开始收到这些错误:
[ERROR] ClientError: An error occurred (ThrottlingException) when calling the GetParameter operation (reached max retries: 4): Rate exceeded
我永远不知道我会在 SQS 中获取多少数据,所以,看起来有时我获取数据的频率太高了。
我的问题是 - 我该如何解决这个问题?我可以开始使用哪种 AWS 服务或方式来代替 AWS SSM?是否可以在 AWS Lamdas 之间缓存数据?
是的,您可以在 Lambda 函数中缓存数据。
创建 AWS Lambda 函数时,它是在容器中配置的。 Lambda 函数中 运行 在 处理函数之外 的任何代码在首次创建容器时都将是 运行。例如,此代码可以从 SSM 检索参数并将其存储在 Python 程序中的全局变量中。
然后,当调用Lambda函数时,调用Handler函数,它可以访问全局变量。
(或者,处理函数可以检查数据是否被提取到全局变量中,而不是在配置容器时检索数据,如果没有,它可以从 SSM 中提取参数。类似 activity,但在这种情况下,它 运行 在处理程序内而不是 在 处理程序之外。)
要了解有关此主题的更多信息,请参阅:AWS Lambda execution environment - AWS Lambda
另一种选择是为 Parameter Store 启用更高的吞吐量限制。参见:AWS Systems Manager Now Supports Use of Parameter Store at Higher API Throughput
或者,您可以考虑使用 AWS Secrets Manager。参见:AWS Secrets Manager now supports larger size for secrets and resource polices and higher request rate for GetSecretValue API