将文件直接从远程URL传输到S3存储桶

时间:2020-03-17 08:55:34

标签: amazon-web-services

我正在使用提供许多.gz文件的服务,并且想将它们传输到我的S3存储桶中。客户端每天更新这些文件。我必须与他的服务器和我的S3存储桶保持同步。

它们为存储这些文件的所有端点提供了API。

{
fileName: "xxxxx",
url: "https://domaine.com/file.gz"
}

想法是创建一个Lambda(每天调用一次),该Lambda负责将这些.gz文件直接从他的服务器传输到我的存储桶。

我不知道该怎么做。

您有关于此用例的文章或文档吗?

1 个答案:

答案 0 :(得分:0)

最后,我所做的非常简单...我创建了一个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