Buscar..


Sintaxis

  • Deserializado objeto basado en JSON
  • La tecla "Registros" tiene uno o más eventos reales
  • Cada objeto de evento secundario contiene toda la información que necesita para determinar qué ha cambiado

Parámetros

Parámetro Detalles
Records -> [] -> s3 -> bucket -> name El nombre del cubo S3.
Records -> [] -> s3 -> object -> key La ruta y el nombre del archivo.

Observaciones

Nombres de archivos

A diferencia de la mayoría de las rutas de archivo, el nombre de la clave S3 (esquema JSON: $.Records[0].s3.object.key ) no incluye una barra diagonal $.Records[0].s3.object.key . Por lo tanto, si tiene un archivo en la ruta s3://mybucket/path/file.txt , la clave será path/file.txt

Al menos en Python, el valor del campo clave es la URL UTF-8 codificada. Esto se nota cuando el nombre de archivo contiene espacios o caracteres que no son ASCII. El campo debe ser una URL decodificada, luego UTF-8 decodificada - Ver Obtener nombre de archivo no ASCII del evento de notificación S3 en Lambda

Clave de registros

Es posible tener múltiples acciones iguales (o diferentes) dentro de la tecla "Records" del evento; sin embargo, en la práctica, generalmente verá un evento por invocación de su función Lambda.

Más ejemplos y pruebas

En realidad, hay eventos de muestra en la consola Lambda, si selecciona Acciones -> Configurar evento de prueba. Sin embargo, puede ver la operación PUT en los ejemplos anteriores.

Puede modificar y enviar eventos de prueba desde la consola de AWS Lambda para ver cómo responde su función.

Operación 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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow