gpt4 book ai didi

amazon-web-services - 如何使用 C# 从 S3 存储桶中读取和处理大型文本/CSV 文件?

转载 作者:行者123 更新时间:2023-12-05 03:25:52 27 4
gpt4 key购买 nike

我正在尝试使用以下代码从 s3 存储桶中读取 15 MB CSV 文件。

ListObjectsResponse object1 = await S3Client.ListObjectsAsync("mybucket");
foreach (S3Object s3File in object1.S3Objects)
{
var response = await S3Client.GetObjectAsync("mybucket", s3File.Key);

var request = new GetObjectRequest()
{
BucketName = "mybucket",
Key = files.Key
};

using (var res = S3Client.GetObjectAsync(request))
{
StreamReader sReader = new StreamReader(res.Result.ResponseStream); //Time out here
string? line = sReader.ReadLine();
}
}

以上代码适用于较小的文件。但如果文件有超过 100K+ 行,则 lambda 函数在 aws 控制台中超时。我想处理 s3 存储桶文件中的所有行。

能否让我知道实现这个的最佳方法?

最佳答案

增加您的 Lambda 超时,它(目前)的硬限制为 15 minutes .

如果您的 CSV 处理时间超过 15 分钟,Lambda 函数不是适合您的工作的解决方案 - 它们旨在快速处理。

什么是正确的解决方案超出了范围,但您或许可以利用现场 EC2 实例、步骤函数、在 Fargate 上运行容器等。

相关:为了加快您当前的流程,在开始时向 S3 发出并行请求,然后一次性处理,即创建任务,然后立即await

关于amazon-web-services - 如何使用 C# 从 S3 存储桶中读取和处理大型文本/CSV 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71902888/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com