Насколько велик предел размера файла s3, если я перевожу службу Google App Engine в функцию Amazon Lambda? - PullRequest
1 голос
/ 28 октября 2019

В целом, я пытаюсь ответить на вопрос: «Должен ли я перестроить свое приложение на платформе Amazon Web Service (AWS)?»

Как описано в другой пост , у меня есть служба php55 google app engine (GAE) (которую я сейчас собираюсь перенести на AWS), которая периодически проверяет общедоступный веб-сервер и загружает файл непосредственно в корзину Google Cloud Storage. Этот файл обычно небольшой (<1 МБ), но иногда превышает <a href="https://cloud.google.com/appengine/docs/standard/php/outbound-requests#quotas_and_limits_for_url_fetch" rel="nofollow noreferrer"> ограничение размера отдельного ответа 32 МБ для GAE . Мое простое приложение основано на следующем:

<?php
$strSource = 'https://example.com/file.zip';

$strBucket = 'bucket-1234';
$strDirectory = '/path/to/file/'; // Google Cloud Storage directory
$strName = 'file.zip';
$strDestination = 'gs://' . $strBucket . '.appspot.com' . $strDirectory . $strName;

copy($strSource,$strDestination);
?>

Мой сервис должен запускаться примерно 100 раз в день;часто файлы, загружаемые моей службой, составляют << 1 МБ, и только около 1% времени это файл превышает текущий предел размера ответа 32 МБ Google. Мне нужно, чтобы корзина содержала <1 ТБ данных. </p>

Я не решаюсь реализовать рекомендованное Google решение (которое заключается в запуске виртуальной машины Google Compute Engine), потому что я хотел бы сохранить все без сервера.

Если я перестрою эту службу в качестве лямбда-функции AWS (вместо GAE), увеличит ли это сразу максимальный размер отдельного файла моего приложения до 512 МБ?

(Примечание. Файл 512 МБпредельное значение размера предполагает, что моя лямбда-функция сначала загружает файл в /tmp, , если я достаточно усерден, чтобы очистить содержимое этого каталога после передачи каждого файла в корзину s3 .)

Или предел размера ответа функции Lambda еще выше и зависит только от того, что функция Lambda может загрузить в 15-минутное ограничение времени выполнения , если я загружаю напрямую в корзину s3?

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

Также кажется, что мне, вероятно, потребуется переписать большую часть моего текущего приложения на python, чтобы оно изначально поддерживалось в AWS. Я правильно понимаю эти проблемы? Существуют ли какие-либо другие квоты или ограничения, ограничивающие размер файла, который я мог бы перенести с общедоступного веб-сервера в мое хранилище s3 с помощью функции Lambda? Можно ли обойти ограничение в 512 МБ, сохранив файл непосредственно в корзину s3?

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