У меня есть функция лямбда, которая читает из DynamoDB и создает большой файл (~ 500M) в/tmp, который, наконец, загружен на s3. После загрузки лямбда удаляет файл из/tmp (поскольку существует высокая вероятность повторного использования экземпляра)Как масштабировать Лямбда, когда/tmp повторно используется?
Эта функция занимает около 1 минуты для выполнения, даже если вы игнорируете задержки.
В этом случае, когда я пытаюсь вызвать функцию снова, в < 1m, у меня нет контроля, если у меня будет достаточно места для записи в/tmp. Моя функция не работает.
Вопросы: 1. Какая известная работа вокруг этого сценария? (Потенциально дайте больше места в/tmp или убедитесь, что для каждого нового исполнения задано чистое/tmp) 2. Каковы наилучшие методы создания и управления файлами в Lambda? 3. Могу ли я подключить другое EBS или другое хранилище к Lambda для выполнения? 4. Есть ли способ иметь файловую систему, такую как доступ к s3, чтобы моя функция вместо использования/tmp могла писать непосредственно на s3?
Я не понимаю, зачем вам нужен файл (или файловая система), особенно учитывая, что вы используете FaaS/Amazon Lambda. Не могли бы вы переписать свой код так, чтобы выход DynamoDB передавался на S3 без записи на диск? –
Существует много обработки, которая должна быть выполнена. Не просто простой свалка от dynamo до s3 – sandeepzgk
Возможно, вы просто нажмете лимит (512M)? https://docs.aws.amazon.com/lambda/latest/dg/limits.html Это может помочь работать в памяти или добавить третью службу для временного хранения между ними. –