Sök…


Syntax

  • Deserialiserat JSON-baserat objekt
  • "Record" -knappen har en eller flera faktiska händelser
  • Varje subhändelseobjekt innehåller all information du behöver för att avgöra vad som har ändrats

parametrar

Parameter detaljer
Records -> [] -> s3 -> bucket -> name Namnet på S3-hinken
Records -> [] -> s3 -> object -> key Sökvägen och namnet på filen.

Anmärkningar

Filnamn

Till skillnad från de flesta $.Records[0].s3.object.key inkluderar inte S3-nyckelnamnet (JSON Schema: $.Records[0].s3.object.key ) en ledande snedstreck. Så om du har en fil i sökvägen s3://mybucket/path/file.txt kommer nyckeln att vara path/file.txt

I Python åtminstone är nyckelfältets värde UTF-8 URL-kodat. Detta märks när filnamnet innehåller mellanslag eller icke-ascii-tecken. Fältet måste avkodas URL och sedan avkodas UTF-8 - Se Hämta icke-ASCII-filnamn från S3-meddelandehändelse i Lambda

Registreringsnyckel

Det är möjligt att ha flera av samma (eller olika) åtgärder inuti händelsens "Records" -nyckel; I praktiken kommer du dock vanligtvis att se en händelse per kallelse av din Lambda-funktion.

Fler exempel och testning

Det finns faktiskt provhändelser i Lambda-konsolen, om du väljer Åtgärder -> Konfigurera testhändelse. Du kan dock se PUT-operationen i exemplen ovan.

Du kan ändra och skicka testhändelser från AWS Lambda-konsolen för att se hur din funktion svarar.

S3 PUT-drift

{
  "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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow