我有以下shell脚本,用于将文件上传到我的s3存储桶。
#!/bin/sh
export AWS_ACCESS_KEY_ID="$KEY_ID"
export AWS_SECRET_ACCESS_KEY="$KEY_SECRET"
echo "[INFO] AWS_ACCESS_KEY_ID - $AWS_ACCESS_KEY_ID"
echo "[INFO] AWS_SECRET_ACCESS_KEY - $AWS_SECRET_ACCESS_KEY"
S3_URL="s3://mybucket/uploads"
aws s3 cp ../data.pdf $S3_URL/data.pdf
aws s3 cp ../data.html.zip $S3_URL/data.html.zip
echo "[INFO] Uploaded Successfully"
echo ""
当我运行此脚本时,文件会上传到S3存储桶。但是,我在键名的末尾看到了一些额外的字符。
以下是我的S3浏览器界面的截图
有人可以告诉我为什么这些角色会自动出现,当我不想让它们来的时候。
我怎样才能摆脱这些?
此外,这也为我的下载服务带来了问题,因为它无法读取这些文件,并且找不到Key not error。
答案 0 :(得分:1)
您的脚本中似乎插入了一些不可见的UTF-8代码。
请参阅:Wordpress putting %E2%80%8E at the end of my url, howcome?
另请参阅网络搜索:https://www.google.com.au/search?q=%25e2%2580%258b
确保您使用的是真正的文本编辑器(不是像MS Word那样)。应该有像 Zap Gremlins 这样的命令可以删除坏字符。
或者,只需删除并重新输入(不要复制/粘贴)其中包含import requests, lxml
url = 'http://MyWebPage:8008'
s = requests.Session()
payload = {
"j_username": "user",
"j_password": "passw00rd",
"domain": "MYDOMAIN.NET"
}
s.post(url, data=payload)
的行。