亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Lambda/Python 將多個文件上傳到 S3

使用 Lambda/Python 將多個文件上傳到 S3

因此,我正在編寫一個由 DynamoDB Streams 中的事件觸發的 Lambda 函數,并且我想將這些事件寫入 S3(以創建數據湖)。但此代碼僅上傳相同的 json 文件。如何將多個文件上傳到 s3 而不覆蓋這個文件?   import boto3   import json      s3 = boto3.client('s3')      def lambda_handler(event, context):            bucket ='bto-history'     dynamodb = boto3.resource('dynamodb')     tableUsers = dynamodb.Table('Users')            jsonToUpload = event['Records']        uploadFile = bytes(json.dumps(jsonToUpload).encode('UTF-8'))          jsonToUpload = "userUpdate" + ".json"        s3.put_object(Bucket=bucket, Key=jsonToUpload, Body=uploadFile)             return {       'statusCode': 200,       'body': event       }
查看完整描述

2 回答

?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

您沒有說,但我猜測您正在編寫一個由 DynamoDB Streams 中的事件觸發的 Lambda 函數,并且您希望將這些事件寫入 S3。

如果您想在 S3 中維護多個文件/對象,那么您需要為它們提供唯一的密鑰。寫入 userUpdate.json 將簡單地使用該密鑰覆蓋任何現有對象(除非您啟用了版本控制,我認為您沒有啟用版本控制)。

因此,每次都創建一個唯一的對象鍵。您可以插入以毫秒(或其他)為單位的時間戳,這可能是唯一的?;蛘吣梢圆迦?UUID。

值得一問:為什么要將 DynamoDB Streams 事件存儲在 S3 中?


查看完整回答
反對 回復 2023-10-11
?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

event['Records']是一個需要迭代的列表。

每個條目都包含有關 dynamodb 事件的信息。


查看完整回答
反對 回復 2023-10-11
  • 2 回答
  • 0 關注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號