Мне нужно написать код (python) для копирования файла S3 из одного сегмента S3 в другой. Исходная корзина находится в другой учетной записи AWS, и мы используем учетные данные пользователя IAM для чтения из этой корзины. Код выполняется с той же учетной записью, что и целевое хранилище, поэтому у него есть доступ на запись с ролью IAM. Один из способов, который я могу придумать, - это создать клиентское соединение s3 с исходной учетной записью, прочитать весь файл в память (getObject-?), А затем создать еще один клиент s3 с целевым сегментом и записать содержимое (putObject-?), Которое были ранее прочитаны в память. Но это может стать очень неэффективным, если размер файла увеличивается, поэтому задаюсь вопросом, есть ли лучший способ, предпочтительно, если boto3 предоставляет управляемый AWS способ, который передает файл без чтения содержимого в память.
PS: я не могу добавлять или изменять роли или политики в исходной учетной записи, чтобы предоставить прямой доступ для чтения к целевой учетной записи. Исходная учетная запись принадлежит кому-то другому, и они предоставляют только пользователя, который может читать из корзины.