繁体   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