我正在尝试从S3导入数据并使用下面描述的脚本(我继承了这种脚本)。这有点长......问题是我一直收到以下输出:
The config profile (importer) could not be found
我不是一个狂热的人 - 所以要温柔,拜托。在本地计算机上配置“importer”似乎缺少某些凭据或其他错误。
在S3 configs(控制台)中 - 有一个名称相同的用户,根据权限可以执行访问存储桶和下载数据。
我尝试在亚马逊控制台中为用户更改访问密钥并创建文件,在home/.aws
中命名为“凭据”(默认情况下,在主目录中没有.aws
文件夹创建它),包括新密钥在文件中,尝试使用pip升级AWS CLI - 没有任何帮助
然后我修改了“凭据”,将[importer]作为配置文件名称,因此它看起来像:
[importer]
aws_access_key = xxxxxxxxxxxxxxxxx
aws_secret+key = xxxxxxxxxxxxxxxxxxx
看来,我已经完成了“错过配置”:
A client error (InvalidAccessKeyId) occurred when calling the ListObjects operation: The AWS Access Key Id you provided does not exist in our records.
Completed 1 part(s) with ... file(s) remaining
这就是我被卡住了的部分...我把钥匙放在了亚马逊的那个配置文件中。双重检查......有什么建议吗?我不能再生成密钥 - aws quota / user。以下是该脚本的一部分:
#!/bin/sh
echo "\n$0 started at: `date`"
incomming='/Database/incomming'
IFS='
';
mkdir -p ${incomming}
echo "syncing files from arrivals bucket to ${incomming} incomming folder"
echo aws --profile importer \
s3 --region eu-west-1 sync s3://path-to-s3-folder ${incomming}
aws --profile importer \
s3 --region eu-west-1 sync s3://path-to-s3-folder ${incomming}
count=0
echo ""
echo "Searching for zip files in ${incomming} folder"
for f in `find ${incomming} -name '*.zip'`;
do
echo "\n${count}: ${f} --------------------"
count=$((count+1))
name=`basename "$f" | cut -d'.' -f1`
dir=`dirname "$f"`
if [ -d "${dir}/${name}" ]; then
echo "\tWarning: directory "${dir}/${name}" already exist for file: ${f} ... - skipping - not imported"
continue
fi