Команда AWS CLI S3 COPY Ошибка FINDSTR из-за слишком длинной переменной? - PullRequest
0 голосов
/ 07 февраля 2019

Когда я копирую файл в корзину 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, поэтому любая информация будет оценена.

1 Ответ

0 голосов
/ 07 февраля 2019

Только к вашему сведению.

Все еще не ясно, почему AWS CLI его примет, но выполнение любого из обходных путей также проходит успешно.

aws s3 cp %SRC_FILENAME% s3://%S3_BUCKET%/%DEST_FILENAME% & if ErrorLevel 1 goto ERR_S3_UPLOAD

или

set S3_COMMAND_STR=aws s3 cp %SRC_FILENAME% s3://%S3_BUCKET%/%DEST_FILENAME%    
%S3_COMMAND_STR% & if ErrorLevel 1 goto ERR_S3_UPLOAD
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...