Amazon S3 Object Lambda

Добавляйте собственный код в запросы S3 GET, HEAD и LIST, чтобы изменять и обрабатывать данные, возвращаемые в приложение

Обзор

С помощью функции S3 Object Lambda вы сможете добавлять собственный код в запросы S3 GET, HEAD и LIST, чтобы изменять и обрабатывать данные, возвращаемые в приложение. Вы можете применить пользовательский код для изменения данных, возвращаемых запросами S3 GET, для фильтрации строк, динамического изменения размера изображений, удаления конфиденциальных данных и многого другого. Вы также можете использовать S3 Object Lambda для изменения результатов запросов S3 LIST, чтобы создать пользовательское представления объектов в корзине и запросы S3 HEAD с целью изменения метаданных объекта, таких как его имя и размер. Выполнение кодов на базе функций AWS Lambda осуществляется в инфраструктуре, полностью управляемой AWS, что устраняет необходимость в создании и хранении производных копий данных или запуске дорогостоящих прокси, при этом в приложения не нужно вносить какие-либо изменения.

В S3 Object Lambda автоматическая обработка выходных данных стандартного запроса S3 GET, HEAD и LIST осуществляется с помощью функций AWS Lambda. Чтобы начать настройку функции Lambda и прикрепить ее к точке доступа S3 Object Lambda, достаточно нескольких щелчков мышью в консоли управления AWS. С этого момента S3 будет автоматически вызывать функцию Lambda для обработки любых данных, полученных через точку доступа S3 Object Lambda, а приложение будет получать преобразованный результат. Вы сможете создавать и выполнять собственные пользовательские функции Lambda, адаптируя процесс преобразования данных S3 объекта Lambda к требованиям конкретного случая.

Преимущества

При помощи S3 Object Lambda можно легко вызывать функции Lambda непосредственно из запросов S3 GET, HEAD и LIST, чтобы обрабатываемые данные отвечали конкретным требованиям ваших приложений. S3 Object Lambda использует полностью управляемую инфраструктуру S3 и AWS Lambda, а также все их функциональные возможности. Вы можете создавать новые или использовать существующие функции AWS Lambda, чтобы обрабатывать данные (например, фильтровать, маскировать, удалять или сжимать их, изменять их формат или объекты для определенных приложений).

Выполнение кодов на базе функций AWS Lambda осуществляется в инфраструктуре, полностью управляемой AWS, что устраняет необходимость в создании и хранении производных копий данных или запуске дорогостоящих прокси, при этом не нужно вносить какие-либо изменения в приложения. Вы можете выполнять функции AWS Lambda с запросами S3 GET, HEAD и LIST для обработки объектов, обновив приложение для использования точки доступа S3 Object Lambda, при этом будет вызываться функция Lambda и предоставляться обработанный объект запрашивающим клиентам.

С помощью S3 Object Lambda можно очень просто и удобно преобразовывать данные S3 для разных приложений, при этом нет необходимости использовать сложное программное обеспечение и инфраструктуру либо создавать производные копии данных. Вы можете добавлять собственный код к данным обработки, извлеченным из S3, перед тем как передавать их приложению. S3 Object Lambda работает с существующими приложениями, и вам не нужно изменять код. Вы можете без труда отображать несколько представлений данных для различных приложений с помощью стандартного запроса S3 GET, HEAD и LIST.

Как работает объект Lambda в S3?

S3 Object Lambda: принципы работы

S3 Object Lambda позволяет легко соблюдать специфические требования любого приложения касательно формата данных без необходимости строить дополнительную инфраструктуру и управлять ею (например, уровень прокси) или создавать и обслуживать множество производных копий данных. В S3 Object Lambda автоматическая обработка выходных данных стандартного запроса S3 GET, HEAD и LIST осуществляется с помощью функций AWS Lambda. AWS Lambda — это бессерверный вычислительный сервис, выполняющий заданный пользователем код без необходимости управления базовыми вычислительными ресурсами. 

Чтобы начать настройку функции Lambda и прикрепить ее к точке доступа S3 Object Lambda, достаточно нескольких щелчков мышью в консоли управления AWS. Стандартные запросы S3 GET, HEAD и LIST отправленные через точку доступа S3 Object Lambda, теперь будут вызывать определенную функцию Lambda. С этого момента S3 будет автоматически вызывать функцию Lambda для обработки любых данных, полученных через точку доступа S3 Object Lambda, а приложение будет получать преобразованный результат. Вы сможете создавать и выполнять собственные пользовательские функции Lambda, адаптируя процесс преобразования данных S3 Object Lambda к требованиям конкретного случая. Подробности о S3 Object Lambda см. в руководстве пользователя.

Пример использования S3 Object Lambda: удаление конфиденциальных данных

S3 Object Lambda: принципы работы

С помощью S3 Object Lambda можно удалять конфиденциальную информацию из объекта в S3 для определенных приложений. При этом не нужно менять существующий объект или создавать и обслуживать множество производных копий данных. Функция Lambda извлекает объект из стандартного запроса S3 GET, обрабатывает и удаляет конфиденциальные данные, а затем возвращает обезличенный объект приложению. Подробнее о других примерах использования S3 Object Lambda см. в руководстве пользователя.

Клиенты

  • Pixieset

    Pixieset – это универсальная платформа для современных фотографов, предлагающая галереи фотоклиентов, веб-сайты, интернет-магазины и программные инструменты для управления студиями.

    Pixieset моментально выполняет преобразование изображений с помощью Объекта Lambda в Amazon S3

    Миссия Pixieset — поддерживать фотографов и креативщиков по всему миру в развитии своего бизнеса и управлении им. Наши клиенты загружают фотографии, которые затем передаются пользователям на разных устройствах просмотра, таких как смартфон, планшет или настольный компьютер. Чтобы оптимизировать распространение фотографий, в настоящее время мы создаем копии с разным разрешением вскоре после загрузки изображения в Amazon S3 с помощью AWS Lambda. Мы очень рады интеграции Объекта Lambda в Amazon S3 с Amazon CloudFront, поскольку мы можем мгновенно применять преобразования и водяные знаки при доступе к изображениям из Amazon CloudFront. Мы можем воспользоваться преимуществами глобального кэширования, избавившись от необходимости хранить несколько копий одного и того же изображения.

    Сэм Лин, руководитель инженерного отдела компании Pixieset
  • Audible

    Audible – ведущий создатель и поставщик высококачественных аудиоисторий, предлагающий клиентам новый способ ежедневно улучшать и обогащать свою жизнь. Контент Audible включает более 790 000 аудиокниг, подкастов и оригиналов Audible. У Audible миллионы пользователей по всему миру, которые подписаны на один из 10 локализованных сервисов, разработанных для клиентов в Австралии, Канаде, Франции, Германии, Индии, Италии, Японии, Испании, Великобритании и США.  

    Audible использует объект Lambda в Amazon S3 для динамического изменения манифестов, чтобы обеспечить максимальную производительность потоковой передачи.

    Блог. Как Audible использует объект Lambda в Amazon S3 для повышения производительности потокового воспроизведения.

    Пользователи получают доступ к контенту Audible и транслируют его через различные устройства в самых разных регионах, где подключение к Интернету может быть как стабильным, так и ограниченным. Мы используем Объект Lambda в Amazon S3 для динамического изменения манифестов и размеров сегментов, чтобы обеспечить пользователям максимально производительные и высококачественные потоковые и аудиоразвлечения, когда они находятся дома или в дороге. С помощью Объекта Lambda в S3 мы можем повысить эффективность воспроизведения и, в свою очередь, еще сильнее улучшить качество обслуживания клиентов за счет технологических инноваций и превосходного программирования.

    Саурабх Ганди-старший директор по разработке программного обеспечения компании Audible
  • Trend Micro

    Trend Micro, мировой лидер в области кибербезопасности, помогает сделать мир безопасным для обмена цифровой информацией. Платформа кибербезопасности Trend Micro, основанная на многолетнем опыте в области безопасности, исследованиях глобальных угроз и постоянных инновациях, защищает сотни тысяч организаций и миллионы людей в облаках, сетях, устройствах и конечных точках. Платформа кибербезопасности Trend Micro предоставляет мощный набор передовых методов защиты от угроз, оптимизированных для AWS.

    Блог. Как компания Trend Micro использует Объект Lambda в Amazon S3 для обеспечения безопасности конфиденциальных данных.

    Нам нравится, что можно так просто приступить к работе. Используя Объект Lambda в Amazon S3 в нашем решении File Storage Security, мы смогли завершить проверку концепции менее чем за день, а первая полная версия, включающая интеграцию в существующий набор плагинов, была завершена днем позже.

    Майк Милнер, директор по управлению продуктами компании Trend Micro
  • Druva

    Druva работает в области защиты данных и управления ими в конечных точках, центрах их обработки и облачных рабочих нагрузках. Задача компании – уменьшить зависимость от сложных инфраструктур и количество трудоемких задач по администрированию.

    В скором времени 4000 наших клиентов должны будут соответствовать новым мировым требованиям, связанным с защитой данных и безопасностью. Amazon S3 Object Lambda – это меняющая рынок инновация, которая сближает вычислительные ресурсы и централизованные репозитории данных, что, в свою очередь, позволяет нашим клиентам извлечь больше пользы из своих данных. Мы гордимся тем, что работа нашей компании полностью построена на базе AWS, ведь благодаря этому сервису мы можем беспрерывно пользоваться самыми новыми функциями и технологиями. Применение Druva Cloud Platform на базе AWS вместе с Объектом Lambda в Amazon S3 предоставляет компаниям ни с чем не сравнимые возможности для интеграции и анализа, а также прямой доступ, что позволяет раскрыть весь потенциал резервного копирования данных.

    Стивен Менли, технический директор компании Druva
  • Nasuni

     

    Nasuni – это файловое хранилище, работающее на базе Amazon S3, которое меняет мир и заменяет классические локальные первичные и вторичные хранилища. Nasuni являет собой платформу для хранения данных и использует хранение объектов, чтобы предоставлять более простые, доступные и эффективные облачные решения, при помощи которых можно привести в соответствие быстрорастущие неструктурированные данные и управлять ими.

    Объект Lambda в Amazon S3 — это революционная технология для Nasuni, и она будет играть ключевую роль в нашем облачном сервисе для хранения файлов на базе AWS. Мы используем Объект Lambda в Amazon S3, чтобы создавать простые и масштабируемые API для нашей системы хранения файлов на базе частного объекта. Благодаря этому наши клиенты смогут получать доступ к файлам из своей корзины S3. Им даже не понадобится использовать Nasuni Edge Appliance. Это означает, что они смогут подключить неструктурированные данные из аналитических сервисов Nasuni к AWS (например, к Macie и Kendra) и получать подробную информацию из собственных файловых данных.

    Рас Кеннеди, директор отдела контроля производства, Nasuni
  • PetaGene

    Компания PetaGene была учреждена в Кембридже, на родине геномики, в ответ на быстро растущее количество проблем с управлением данными в этой области науки. Компания PetaGene стала известна благодаря высоким производительным характеристикам и удобству в использовании решений, связанных со сжатием и шифрованием геномных данных. При помощи программного обеспечение компании теперь можно шифровать любые данные, делиться выбранными данными и проводить их аудит. Кроме того, PetaGene разработала комплексные и прозрачные методы доступа.

    PetaGene дает возможность компаниям защищать свои данные, а также контролировать и анализировать, какую информацию могут видеть разные пользователи, предоставляя в рамках каждого файла только тот контент, с которым пользователь имеет право ознакомиться. Кроме того, PetaGene использует технологию секвенирования нового поколения (NGS), чтобы уменьшить размер уже сжатых геномных данных в 11 раз без потери качества. В то же время пользователи уже могут получить прямой доступ к защищенным и / или сжатым данным в оригинальном формате, загрузив себе нашу библиотеку обратного считывания в режиме пользователя. Но благодаря S3 Object Lambda можно получить такой же доступ через стандартный запрос S3 GET, но при этом загружать библиотеку не нужно. Таким образом, нашим пользователям еще проще развертывать защиту данных PetaGene и предоставлять своим конечным пользователям инструменты для сжатия, а также соблюдать соответствующие требования.

    Ден Гринфилд, доктор наук, соучредитель и исполнительный директор компании PetaGene

Ресурсы объекта Lambda в S3

Customizing data with Amazon S3 Object Lambda (14:45)
Building Serverless, Modern Applications Using Amazon S3 or Amazon EFS (30:13)

Начало работы

Функцию S3 Object Lambda можно настроить в консоли управления S3, выполнив всего три простых действия. Во-первых, откройте в консоли вкладку точки доступа к функции Lambda для объекта. Во-вторых, создайте адрес точки доступа S3 Object Lambda и в разделе его конфигурации укажите имя для этого ресурса, вызываемую функцию Lambda на основании запросов S3 GET, HEAD или LIST и поддерживающую точку доступа S3. В документации AWS приведены примеры реализации функции Lambda, которые помогут вам начать работу с сервисом. В-третьих, обновите SDK и приложение, чтобы начать использовать новую точку доступа S3 Object Lambda для получения данных из S3 с помощью выбранного вами языка SDK. Функция S3 Object Lambda начнет обработку стандартных запросов S3 GET, HEAD и LIST.

Ознакомьтесь с руководством по началу работы с объектом Lambda в Amazon S3 и прочитайте руководство пользователя для получения дополнительной информации о том, как приступить к работе.