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"
    }
  ]
}


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow