Бессерверный объект S3 Lambda

Фото Брайана Гарсеса на Unsplash

Практический пример использования AWS S3 Object Lambda для нанесения водяных знаков на изображение с метаданными «на лету» с помощью Amazon Rekognition, искусственного интеллекта и машинного обучения, включая репозиторий кода, написанный на TypeScript и Serverless Framework, а также визуальные эффекты.

Вступление

В следующей статье показан пример использования Amazon S3 Object Lambda , нанесение водяных знаков на изображения на лету с метаданными, созданными AI/ML из Amazon Rekognition .

Вы можете получить доступ к репозиторию кода здесь, который содержит подробные комментарии для ясности.

Обратите внимание, что это минимальный код и архитектура для демонстрации использования изображений с водяными знаками на лету, поэтому это не готово к производству и не соответствует передовым методам кодирования .

Что мы строим? ️

На приведенной ниже диаграмме показана архитектура, которую мы строим в репозитории:

Шаги архитектуры:

  1. Пользователь запрашивает изображение через API шлюза API по идентификатору ( 1,2 или 3 ).
  2. Шлюз API вызывает функцию Get Image Lambda .
  3. Лямбда-выражение получает доступ к соответствующему изображению с помощью точки доступа S3 Object Lambda Access Point.
  4. Генерация изображения Lambda вызывается, когда изображение запрашивается автоматически.
  5. Лямбда-выражение извлекает существующее изображение с помощью внутреннего предварительно подписанного URL-адреса в случае создания лямбда-изображения, вызывает Amazon Rekognition с изображением, а затем создает водяной знак на изображении на основе меток, возвращенных из Amazon Rekognition.
  6. Base64 обновленного образа возвращается пользователю через API Gateway в ответе.

Как выглядят изображения до и после? ‍

Ниже приведен пример изображений в том виде, в каком они находятся в корзине S3, а также то, как они выглядят после запроса с помощью команды Get Object через точку доступа S3 Object Lambda:

Как видно из приведенных выше изображений, мы пропускаем изображение через AI/ML с помощью Amazon Rekognition, чтобы извлечь соответствующие метки изображения и наложить их на изображение при запросе изображения.

«Не стесняйтесь заменять свои собственные тестовые изображения с именами 1.png, 2.png и 3.png в папке ресурсов, чтобы увидеть, как они генерируются»

Какие услуги мы используем?

Во время урока мы будем использовать следующие сервисы, которые подробно описаны ниже:

Лямбда объекта AWS S3

S3 Object Lambda позволяет нам манипулировать копией изображения, когда оно запрашивается из корзины. В нашем сценарии это означает пометить изображение водяным знаком с метаданными, но мы также можем выполнять другие действия с объектами, например, редактировать PII или возвращать изображение другого размера.

«Вы можете использовать пользовательский код для изменения данных, возвращаемых стандартными запросами S3 GET, для фильтрации строк, динамического изменения размера изображений, редактирования конфиденциальных данных и многого другого».

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

Таким образом, вы можете легко представить несколько представлений из одного и того же набора данных, и вы можете обновить функции Lambda, чтобы изменить эти представления в любое время.

Признание Амазонки

Мы используем Amazon Rekognition для автоматического распознавания метаданных ( меток ) об изображениях, которые мы передаем ему, используя AI/ML. В нашем примере изображений выше мы передаем ему изображение бульдога и возвращаем метаданные « французский бульдог, бульдог, собака, домашнее животное, собака ».

«С помощью Amazon Rekognition вы можете идентифицировать объекты, людей, текст, сцены и действия на изображениях и видео, а также обнаруживать любой неприемлемый контент».

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

Развертывание решения! ‍

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

В корне папки запустите, npm iа затем npm run deploy:developустановите все зависимости, а затем разверните на AWS.

Тестируем API!

Теперь вы можете протестировать конечную точку, используя файл Postman в файле ./postman folder, и нажав запрос « Получить изображение » с идентификатором изображения 1, 2 или 3 ( как показано на снимке экрана ниже ):

Это вернет строку base64 обработанного изображения, которую вы можете просмотреть, скопировав возвращенное значение свойства ' image ' на следующий веб-сайт:https://codebeautify.org/base64-to-image-converter

Пример использования веб-сайта https://codebeautify.org/base64-to-image-converter с выводом изображения

Подведение итогов

Я надеюсь, что вы нашли это полезным в качестве легкого примера манипулирования изображениями на лету с вашими собственными бессерверными решениями! Теперь вы можете дать волю своему воображению и манипулировать любыми объектами, возвращаемыми из S3!

Я хотел бы связаться с вами по любому из следующих вопросов:

https://www.linkedin.com/in/lee-james-gilmore/
https://twitter.com/LeeJamesGilmore

Если вы нашли статьи вдохновляющими или полезными, не стесняйтесь поддержать меня виртуальным кофе.https://www.buymeacoffee.com/leegilmoreи в любом случае позволяет подключиться и общаться! ☕️

Если вам понравились посты, пожалуйста, подпишитесь на мой профиль Lee James Gilmore для дальнейших постов/серий, и не забудьте подключиться и сказать привет

Пожалуйста, также используйте функцию «хлопать» внизу поста, если вам понравилось! ( Вы можете хлопать более одного раза!! )

Эта статья спонсируется Sedai.io

Если вам понравилась эта статья, вам также могут понравиться следующие:

Обо мне

« Здравствуйте, я Ли, сертифицированный AWS технический архитектор и ведущий инженер-программист из Великобритании, в настоящее время работаю техническим облачным архитектором и главным бессерверным разработчиком, последние 5 лет работая в основном над полным стеком JavaScript на AWS.

Я считаю себя бессерверным евангелистом, который любит все, что связано с AWS, инновациями, программной архитектурой и технологиями. ”

** Предоставленная информация является моим личным мнением, и я не несу никакой ответственности за использование информации. ***

Suggested posts

Преследование христиан: преступление на почве ненависти, о котором мы не говорим

Забудьте об исламофобии: христиане (и евреи) являются главными жертвами преступлений на почве религиозной ненависти.

Преследование христиан: преступление на почве ненависти, о котором мы не говорим

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

Медленная эрозия: раскрытие того, как люди угасают в своей карьере

Медленная эрозия: раскрытие того, как люди угасают в своей карьере

В современном быстро меняющемся и конкурентном мире карьера играет важную роль в личностном росте, финансовой стабильности и общей удовлетворенности жизнью. Однако многие люди оказываются в безжалостном цикле застоя и неудовлетворенности, постепенно угасая в своей профессиональной жизни.

Related posts

Опасные разговоры

Опасные разговоры

Если мы хотим продолжать процветать на этой планете, нам придется вести опасные разговоры. Те, которые бросают вызов тому, что мы сделали, что мы делаем и что мы в настоящее время собираемся продолжать делать (или планируем делать).

Конкурс Goodreads Reading Challenge токсичен

Конкурс Goodreads Reading Challenge токсичен

Зуд в моей руке распространился, когда я торговалась с местным книгопродавцом за еще одну книгу. Эта книга, как и остальные, которые я купил недавно, займет свое место в моей стопке «Для чтения» (TBR); и тем не менее, я купил его.

Сетевое телевидение Твиттер

Сетевое телевидение Твиттер

То, что было старым, теперь снова новое, а то, что раньше было блестящим, теперь кажется скучным. Я не говорю о джинсах JNCO, которые вернулись среди крутых парней в центре города вместе с другими моделями конца 1990-х годов.

Отслеживайте кого угодно только по номеру телефона | OSINT-расследование

Отслеживайте кого угодно только по номеру телефона | OSINT-расследование

Вы можете быть исследователем OSINT, игроком CTF или просто тем, кто получает спам-звонки. Кто-то, кто пытается проверить номер, который вы видели в рекламе.