Поиск…


Синтаксис

  • Дессериализованный объект на основе JSON
  • Ключ «Записи» содержит одно или несколько фактических событий
  • Каждый объект вспомогательного события содержит всю информацию, необходимую для определения того, что изменилось

параметры

параметр подробности
Records -> [] -> s3 -> bucket -> name Название ведра S3
Records -> [] -> s3 -> object -> key Путь и имя файла.

замечания

Имена файлов

В отличие от большинства путей к файлам, имя ключа S3 (JSON Schema: $.Records[0].s3.object.key ) не содержит ведущей косой черты. Итак, если у вас есть файл в пути s3://mybucket/path/file.txt , ключ будет path/file.txt

По крайней мере, на Python значение поля ключа является URL-адресом UTF-8. Это заметно, когда имя файла содержит пробелы или символы, отличные от ascii. Поле должно быть декодировано URL-адресом, а затем декодировано UTF-8 - см. « Получить имя не-ASCII-файла из события уведомления S3 в Лямбда

Записи

Внутри клавиши "Records" может быть несколько одинаковых (или разных) действий; однако на практике вы обычно видите одно событие за вызов вашей лямбда-функции.

Дополнительные примеры и тестирование

На консоли Lambda на самом деле есть примеры событий, если вы выберете «Действия» -> «Настроить тестовое событие». Однако вы можете увидеть операцию 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