Borislav Hadzhiev
Wed Sep 15 2021·2 min read
Photo by Aaron Burden
The "Error parsing Parameter expected = Received EOF for input" error occurs
when an local file is passed as a parameter to an AWS CLI command, without
setting the file://
prefix.
To solve the "Error parsing Parameter expected = Received EOF for input" error
prefix the parameter that takes the local file with file://
:
aws dynamodb put-item --table-name TestTable --item file://item.json
--parameter
to an AWS CLI command, prefix the filepath with file://
.In the example above, the shell is opened in the directory where the item.json
file is located. If your terminal is opened in a different directory you can
pass a local or absolute path leading to the file.
For example on linux
and macOS
you can use relative and absolute paths as
follows:
# relative path, same directory aws dynamodb put-item --table-name TestTable --item file://item.json # relative path, navigate to directory aws dynamodb put-item --table-name TestTable --item file://./item.json # absolute path aws dynamodb put-item --table-name TestTable --item file:///home/john/item.json
Note that for absolute paths on linux
and macOS
we have 3 /
(forward
slash) symbols, the first 2 being a part of the prefix and the third a part of
the absolute path.
On windows
you can specify a file://
prefix as follows:
aws dynamodb put-item --table-name TestTable --item file://C:\my-folder\item.json
In some very rare cases you might have to prefix the file parameter with
fileb://
, instead of file://
. The fileb://
prefix reads your file as
binary.
file://
prefix when passing human-readable files as --parameters
and use the fileb://
prefix when passing binary files (not human-readable) as --parameters
to an AWS CLI command.