수색…


통사론

  • 비 직렬화 JSON 기반 객체
  • "레코드"키에 하나 이상의 실제 이벤트가 있습니다.
  • 각 하위 이벤트 객체에는 변경된 사항을 결정하는 데 필요한 모든 정보가 들어 있습니다.

매개 변수

매개 변수 세부
Records -> [] -> s3 -> bucket -> name S3 버킷의 이름
Records -> [] -> s3 -> object -> key 파일의 경로와 이름.

비고

파일 이름

대부분의 파일 경로와 달리 S3 키 이름 (JSON 스키마 : $.Records[0].s3.object.key )에는 슬래시가 없습니다. 따라서 경로 s3://mybucket/path/file.txt 파일이 있으면 키는 path/file.txt

적어도 파이썬에서 키 필드 값은 인코딩 된 UTF-8 URL입니다. 파일 이름에 공백이나 ASCII가 아닌 문자가 포함되어 있으면 눈에.니다. 필드를 URL 디코딩 한 다음 UTF-8 디코딩해야합니다. - 람다의 S3 알림 이벤트에서 비 ASCII 파일 이름 가져 오기를 참조 하십시오.

레코드 키

이벤트의 "Records" 키 내에 여러 개의 동일한 (또는 다른) 액션을 가질 수 있습니다. 그러나 실제로는 람다 함수를 호출 할 때마다 하나의 이벤트가 표시됩니다.

더 많은 예제 및 테스트

작동 -> 테스트 이벤트 구성을 선택하면 람다 콘솔에 실제로 샘플 이벤트가 있습니다. 그러나 위의 예에서 PUT 작업을 볼 수 있습니다.

함수가 응답하는 방식을 보려면 AWS Lambda 콘솔에서 테스트 이벤트를 수정하고 제출할 수 있습니다.

S3 PUT 작동

{
  "Records": [
    {
      "eventVersion": "2.0",
      "eventTime": "1970-01-01T00:00:00.000Z",
      "requestParameters": {
        "sourceIPAddress": "127.0.0.1"
      },
      "s3": {
        "configurationId": "testConfigRule",
        "object": {
          "eTag": "0123456789abcdef0123456789abcdef",
          "sequencer": "0A1B2C3D4E5F678901",
          "key": "HappyFace.jpg",
          "size": 1024
        },
        "bucket": {
          "arn": "arn:aws:s3:::mybucket",
          "name": "sourcebucket",
          "ownerIdentity": {
            "principalId": "EXAMPLE"
          }
        },
        "s3SchemaVersion": "1.0"
      },
      "responseElements": {
        "x-amz-id-2": "EXAMPLE123/5678abcdefghijklambdaisawesome/mnopqrstuvwxyzABCDEFGH",
        "x-amz-request-id": "EXAMPLE123456789"
      },
      "awsRegion": "us-east-1",
      "eventName": "ObjectCreated:Put",
      "userIdentity": {
        "principalId": "EXAMPLE"
      },
      "eventSource": "aws:s3"
    }
  ]
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow