【问题标题】:AWS Lambda: Unique Key generator for s3 filesAWS Lambda:s3 文件的唯一密钥生成器
【发布时间】:2020-03-06 07:04:27
【问题描述】:

我有一个 AWS lambda 函数运行一些代码,然后将 json 保存到 s3 存储桶。

目前,我的格式是使用 datetime 包来获取当前日期。

now = str(datetime.today())

然后我将 csv 格式化为 'payrollcompensation_streams/{}_{}.json'.format('pega_payrollcompensation_raw',now))

我想要做的是每次运行此 AWS Lambda 函数时都会生成一个整数的唯一键,而不是日期时间。

而不是这个:pega_payrollcompensation_raw_2020-03-05 00:00:00.0000 这个:pega_payrollcompensation_raw_1

那么下次

pega_payrollcompensation_raw_2

【问题讨论】:

  • 唯一名称需要是连续的吗?否则,您可以简单地使用 UUID。当前使用的时间戳命名方法有什么特别“错误”的地方?
  • 每个 lambda 函数都会提取系统中表的原始 json。有时该表会发生变化,我试图捕捉最新数据拉取与之前的数据之间的“增量/偏移”,以计算差异。我打算使用计数器来获取当前数字 -1 以在 s3 中获取正确的文件。

标签: python amazon-web-services aws-lambda


【解决方案1】:

使用timestamp() 方法作为您的唯一密钥怎么样?

例如:

>>> datetime.today().timestamp()
1583449231.642402

【讨论】:

  • 我正在尝试测量两个 api pull 之间的差异大约一天。测量每天之间的偏移量,然后将其保存为文件。
【解决方案2】:

如果使用 Lambda 执行此任务,您需要在某处保存状态。最适合您的情况是 DynamoDB。您需要在那里设置某种计数器并首先从计数器接收值。小心并发。

【讨论】:

    猜你喜欢
    • 2013-07-18
    • 2010-09-08
    • 2023-04-04
    • 2012-04-09
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多