将 CSV 文件从 public Git 子目录复制到 S3 存储桶
Copy CSV files from a public Git subdirectory to an S3 Bucket
我看到有多种方法可以做到这一点,但我无法使用 AWS Lambda 来做到这一点(我可能在那里遗漏了一些东西)关于该方法的任何建议和最好的 link 相关实施步骤将很有用。
public Git link 很大,但是,我只需要子目录中的 csv 文件。
任何 git 存储库都会为您提供原始 link - 例如,https://github.com/thephpleague/csv/raw/master/tests/data/foo.csv
您可以在您最喜欢的运行时使用您最喜欢的 http 客户端来下载此文件。
如果觉得文件太大,512MB放不下,可以挂载一个EFS(https://aws.amazon.com/blogs/compute/using-amazon-efs-for-aws-lambda-in-your-serverless-applications/)。
如果它太大以至于您无法在 15 分钟内下载它,您可以尝试分段下载 - 跨多个 lambda 调用。您可以在 EFS 上保存简历状态。事实上,您还可以将简历信息存储在 lambda 的 /tmp 文件夹中。如果第二次 lambda 调用足够快,您将取回它。
希望这能回答您的问题。
您可以为此使用稀疏签出和浅克隆。这个例子将从 csvsubfolder
git init <repo>
cd <repo>
git remote add origin <url>
git config core.sparsecheckout true
echo "csvsubfolder/*" >> .git/info/sparse-checkout
git pull --depth=1 origin master
我看到有多种方法可以做到这一点,但我无法使用 AWS Lambda 来做到这一点(我可能在那里遗漏了一些东西)关于该方法的任何建议和最好的 link 相关实施步骤将很有用。 public Git link 很大,但是,我只需要子目录中的 csv 文件。
任何 git 存储库都会为您提供原始 link - 例如,https://github.com/thephpleague/csv/raw/master/tests/data/foo.csv 您可以在您最喜欢的运行时使用您最喜欢的 http 客户端来下载此文件。
如果觉得文件太大,512MB放不下,可以挂载一个EFS(https://aws.amazon.com/blogs/compute/using-amazon-efs-for-aws-lambda-in-your-serverless-applications/)。
如果它太大以至于您无法在 15 分钟内下载它,您可以尝试分段下载 - 跨多个 lambda 调用。您可以在 EFS 上保存简历状态。事实上,您还可以将简历信息存储在 lambda 的 /tmp 文件夹中。如果第二次 lambda 调用足够快,您将取回它。
希望这能回答您的问题。
您可以为此使用稀疏签出和浅克隆。这个例子将从 csvsubfolder
git init <repo>
cd <repo>
git remote add origin <url>
git config core.sparsecheckout true
echo "csvsubfolder/*" >> .git/info/sparse-checkout
git pull --depth=1 origin master