amazon-web-services - 将文件直接从远程 url 传输到 S3 Bucket
问题描述
我正在使用提供许多 .gz 文件的服务,我想将它们传输到我的 S3 存储桶。客户端每天更新这些文件。我必须与他的服务器和我的 S3 存储桶保持同步。
它们为存储这些文件的所有端点提供了一个 API。
{
fileName: "xxxxx",
url: "https://domaine.com/file.gz"
}
这个想法是创建一个 Lambda(每天调用),负责将这些 .gz 文件直接从他的服务器传输到我的存储桶。
我不知道该怎么做。
你有关于这个用例的文章或文档吗?
解决方案
最后,我所做的非常简单......我创建了一个 EC2 Ubuntu 实例,在该实例上我运行了一个我调整的 bash 脚本......这个脚本负责下载提要、解析 URL 并下载相应的文件到每个 URL。
wget -O feed.csv https://feed.com/datafeed/list/apikey/xxx
IFS=','
while read f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13; do
if [[ $f4 =~ "active" ]]; then
echo "remove quote from url..."
url="${f12%\"}"
url="${url#\"}"
echo "remove quote from id..."
name="${f5%\"}"
name="${name#\"}"
echo "download from url...${name}"
wget -O "${name}".csv.gz "${url}"
echo "upload to S3 from url...${name}"
aws s3 cp "${name}".csv.gz s3://mybucket/data/
fi
done < feed.csv
推荐阅读
- python - 追加到python中的空列表
- angular - ng 测试:找到合成侦听器@transform.start。请在您的应用程序中包含“BrowserAnimationsModule”或“NoopAnimationsModule”
- visual-studio-code - 将光标移动到vscode中选择的另一侧?
- javascript - 简单的计数器不适用于 React 上下文
- vb.net - vb.net 中的 XML 结构和写入 XML:输出始终为空白
- javascript - Python 访问 Menards 网站上的特定元素
- mysql - MYSQL - 根据另一个表中的条件对一个表中的行的值求和
- flutter - 适用于 Android 和 iOS 上的前台任务的 Flutter 插件
- python - 使用带有 Seaborn 的箱线图搞砸了地块
- csv - 使用谷歌应用脚本导入 csv