RESTFUL API с AWS S3 - PullRequest
       5

RESTFUL API с AWS S3

0 голосов
/ 07 октября 2019

Поэтому мой «технический руководитель» хотел, чтобы моя команда создала REST API с SpringBoot, используя AWS DynamoDB в качестве базы данных, и нам удалось это реализовать. Но теперь он хочет заменить AWS DynamoDB на AWS S3, что для меня не имеет смысла. Как это будет работать? Сохранить вызовы API в виде текстового файла, а затем сохранить его в S3? Как, черт возьми, я должен это делать? Скажем, я могу сделать POST-запрос, и в S3 их 5 в файле, затем, как мне удалить или обновить, просто скажите там 2 записи? У кого-нибудь есть опыт, который может пролить здесь свет? Кроме того, прежде чем спросить: «Почему ты не спрашиваешь?»мы так и сделали, и он сказал «разберись сам» тот же ответ, когда мы спросили, как использовать DynamoDB

Ответы [ 2 ]

0 голосов
/ 07 октября 2019

Один из вариантов использования DynamoDB - использовать его как хранилище значений ключей. Например, вы можете создать простую вики и сохранить документы, используя в качестве ключа имя документа.

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

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

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

Большой вопрос: почему вы меняете хранилища данных? Если у вас есть проблемы с «Динамо», лучше спросить об этих проблемах. Там очень хорошо могут быть решения.

0 голосов
/ 07 октября 2019

Вы должны иметь возможность использовать шлюз AWS API (который позволяет создавать API REST) ​​для интеграции с S3 примерно так. Или разверните свой собственный API, который использует AWS SDK для отправки запросов на S3. S3 - это хранилище объектов, а не база данных, вы можете использовать API-интерфейсы REST для хранения отдельных объектов, поэтому вместо одного «файла», как вы положили в него две записи, у вас есть объект для каждой записи.

AWS предоставляет пример для интеграции шлюза API с S3 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...