簡體   English   中英

AWS Lambda S3 觸發多次上傳

[英]AWS Lambda S3 trigger on multiple uploads

我正在尋找實現由音頻文件輸入到我的 s3 存儲桶觸發的 AWS Lambda function,然后將此文件與先前上傳的文件(已存儲在存儲桶中)連接起來,並將此連接文件輸出回桶。 我對 Lambda 很陌生,我想知道,是否可以將文件名列表傳遞給 Lambda function 進行轉碼? 還是 Lambda 一次只接受一次讀取?

當 S3 直接調用 Lambda 時,它將從文檔中獲得一個與此類似的事件:

{
  "Records": [
    {
      "eventVersion": "2.1",
      "eventSource": "aws:s3",
      "awsRegion": "us-east-2",
      "eventTime": "2019-09-03T19:37:27.192Z",
      "eventName": "ObjectCreated:Put",
      "userIdentity": {
        "principalId": "AWS:AIDAINPONIXQXHT3IKHL2"
      },
      "requestParameters": {
        "sourceIPAddress": "205.255.255.255"
      },
      "responseElements": {
        "x-amz-request-id": "D82B88E5F771F645",
        "x-amz-id-2": "vlR7PnpV2Ce81l0PRw6jlUpck7Jo5ZsQ"
      },
      "s3": {
        "s3SchemaVersion": "1.0",
        "configurationId": "828aa6fc-f7b5-4305-8584-487c791949c1",
        "bucket": {
          "name": "lambda-artifacts-deafc19498e3f2df",
          "ownerIdentity": {
            "principalId": "A3I5XTEXAMAI3E"
          },
          "arn": "arn:aws:s3:::lambda-artifacts-deafc19498e3f2df"
        },
        "object": {
          "key": "b21b84d653bb07b05b1e6b33684dc11b",
          "size": 1305107,
          "eTag": "b21b84d653bb07b05b1e6b33684dc11b",
          "sequencer": "0C0F6F405D6ED209E1"
        }
      }
    }
  ]
}

它為您提供有關已上傳的 object 的基本元信息。 無法自定義此事件,但 Lambda function 可以查詢外部資源以獲取更多信息。


您也可以使用 S3-Batching,但這可能不是為您的用例設計的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM