Когда я копирую файл в корзину S3 с переменными через CLI AWS, я получаю ошибку.
- команда с переменными
aws s3 cp %SRC_FILENAME% s3://%S3_BUCKET%/%DEST_FILENAME%
- сообщение об ошибке
FINDSTR: 1 行目は長すぎます。 (original)
FINDSTR: TOO LONG 1st.line (translated)
Если я задаю имя файла корзины S3 источника и получателя без какой-либо переменной, оно заканчиваетсяуспешно, как обычно.И команда 'aws s3api put-object', обозначенная той же логикой (переменными), никогда не сталкивалась с одной и той же проблемой.
- команда без переменных
aws s3 cp G:\XXX\XXX\XXX\XXX.bak s3://<S3_bucketname>/<TAG>/<FILENAME>
- команда s3api с переменными
set S3API_COMMAND_STR=aws s3api put-object --bucket %S3_BUCKET% --key %DEST_FILENAME% --body %SRC_FILENAME% --metadata md5chksum=%SRC_HASH% --content-md5 %SRC_HASH%
Я думаю, что команда aws s3api лучше, но иногда мне нужно отправить файл размером более 5 ГБ, поэтому предварительно нужно выбрать команду aws cp.
Я думал, что эта проблема может быть вызванаиз-за ограничения длины переменных Windows команда s3api с переменными должна быть более длинной, хотя переменные ...
Если кто-то сталкивался с той же проблемой, пожалуйста, дайте мне знать, как вы справились.Буду признателен за любой совет.
С уважением.
<Дополнительная информация> Только предварительный обходной путь, один раз выведите командную строку и выполните ее, затем она сработала успешно.
echo %S3_COMMAND_STR% > temp_cmd.bat
call temp_cmd.bat
Но все еще не уверен, почему эта ошибка findstr произошла в aws cli, поэтому любая информация будет оценена.