aws-lambda
S3에 의해 트리거 된 aws-lambda
수색…
통사론
- 비 직렬화 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