Если вы хотите sh скопировать весь каталог, вы можете использовать AWS Интерфейс командной строки (CLI) :
aws s3 cp --recursive s3://source-bucket/folder/* s3://destination-bucket/folder/
Однако, поскольку вы sh для выборочного копирования файлов, нет простого способа указать, какие файлы копировать (если они не имеют одинаковый префикс).
Честно говоря, когда мне нужно скопировать выборочные файлы, я фактически создаю файл Excel со списком имен файлов. Затем я создаю формулу, подобную этой:
="aws s3 cp s3://source-bucket/"&A1&" s3://destination-bucket/"
Затем просто используйте Fill Down , чтобы скопировать формулу. Наконец, скопируйте команды и вставьте их в окно терминала.
Если вы спрашиваете, существует ли способ программно копировать кратные значения между сегментами, используя один вызов API , тогда ответ будет нет, это невозможно . Каждый вызов API будет копировать только один объект. Однако вы можете одновременно запускать несколько команд копирования, чтобы ускорить процесс go.