aws-lambda
aws-lambda geactiveerd door S3
Zoeken…
Syntaxis
- Gedeserialiseerd op JSON gebaseerd object
- "Records" -toets bevat een of meer actuele gebeurtenissen
- Elk subgebeurtenisobject bevat alle informatie die u nodig hebt om te bepalen wat er is gewijzigd
parameters
Parameter | Details |
---|---|
Records -> [] -> s3 -> bucket -> name | De naam van de S3-bucket |
Records -> [] -> s3 -> object -> key | Het pad en de naam van het bestand. |
Opmerkingen
Bestandsnamen
In tegenstelling tot de meeste bestandspaden, bevat de S3-sleutelnaam (JSON Schema: $.Records[0].s3.object.key
) geen schuine streep. Dus als u een bestand in het pad s3://mybucket/path/file.txt
, is de sleutel path/file.txt
Ten minste in Python is de sleutelveldwaarde UTF-8 URL-gecodeerd. Dit is merkbaar wanneer de bestandsnaam spaties of niet-ASCII-tekens bevat. Het veld moet URL-gedecodeerd zijn en vervolgens UTF-8 gedecodeerd - Zie Niet-ASCII-bestandsnaam ophalen van S3-meldingsgebeurtenis in Lambda
Records sleutel
Het is mogelijk om meerdere van dezelfde (of verschillende) acties te hebben binnen de "Records"
-toets van de gebeurtenis; in de praktijk ziet u echter meestal één gebeurtenis per aanroep van uw Lambda-functie.
Meer voorbeelden en testen
Er zijn eigenlijk voorbeeldgebeurtenissen in de Lambda-console, als u Acties kiest -> Testgebeurtenis configureren. U kunt de PUT-bewerking echter in de bovenstaande voorbeelden zien.
U kunt testgebeurtenissen wijzigen en verzenden vanuit de AWS Lambda-console om te zien hoe uw functie reageert.
S3 PUT-bediening
{
"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"
}
]
}