Как я могу отредактировать файл xml, хранящийся в S3, без использования временного каталога? - PullRequest
0 голосов
/ 13 июля 2020

У меня есть файл конфигурации в сегменте S3, который нужно изменить, добавив ответ от ec2.describe_subnets и отправив его в конечную точку api. Есть ли способ автоматизировать этот процесс с помощью Lambda для получения файла из S3 без необходимости сохранять его во временном каталоге?

1 Ответ

0 голосов
/ 14 июля 2020

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

Если вы спрашиваете о изменение содержимого объекта S3 , тогда ответ отрицательный, это невозможно, потому что S3 не поддерживает такого рода операции. Единственное, что вы можете сделать, это перезаписать весь объект (ie, а не только его части).

Если вы спрашиваете о перезаписи объекта S3 новым содержимым , тогда да, это возможно сделать "без необходимости сохранять его во временную директорию", если вы делаете это, например, в памяти.

Загрузить объект из S3, не записывая его в хранилище, внесите изменения в память и повторно загрузите ее в S3. Если размер файла слишком велик для полного хранения в памяти, вы также можете сделать это в потоковом режиме (т.е. инициировать загрузку, для каждого загружаемого фрагмента вы вносите необходимые изменения и загружаете измененный фрагмент с помощью многокомпонентной загрузки. , очистите память, повторите и т.д. Это означает, что после обновления объекта при последующих чтениях может по-прежнему загружаться предыдущая версия. Если все, что потребляет файл, не может правильно с этим справиться, вам, вероятно, понадобится другой подход (т. Е. Не перезаписывать, а записывать новый объект с новым ключом и отправлять этот новый ключ потребителю; или просто используйте система хранения, которая поддерживает строгую согласованность, например DynamoDB).

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