将临时文件存储在 .net lambda 中,然后发布到 s3 Bucket
Store temp file in .net lambda and then publish to s3Bucket
我正在生成一个 .csv 文件,以便使用 .net c# Lambda 函数进一步存储在 s3 存储桶中。
这是我遵循的流程:
生成 .csv 并将其存储在 lambda 函数执行的 /tmp/ 文件夹中。
在此步骤中,我不确定它是否真的将文件保存在该路径中。
//filepath = @"/tmp/test.csv"
try
{
using (System.IO.StreamWriter file = new System.IO.StreamWriter(@filepath, true))
{
file.WriteLine(ID + "," + workItemType + "," + title + "," + assignedTo + "," + state + "," + iterationPath);
Console.WriteLine("Successfully added");
}
}
catch (Exception ex)
{
throw new ApplicationException(" somethings wrong: ", ex);
}
将文件上传到 s3 存储桶。
try
{
await client.PutObjectAsync(new Amazon.S3.Model.PutObjectRequest
{
BucketName = "mys3bucket",
Key = "test.csv",
ContentType = @"/tmp/test.csv"
});
await Task.CompletedTask;
}
catch (Exception ex)
{
Console.WriteLine("Exception in PutS3Object:" + ex.Message); ;
}
在这最后一步中,我收到此错误消息:
Exception in PutS3Object:The format of value '\tmp\test.csv' is invalid.
我做错了什么?
您需要发送 数据 以包含在 csv 文件中:
await client.PutObjectAsync(new Amazon.S3.Model.PutObjectRequest
{
BucketName = "mys3bucket",
Key = "test.csv",
ContentBody = DATAINSTRINGFORMAT,
ContentType = @"text/csv"
});
或作为文件路径发送:
await client.PutObjectAsync(new Amazon.S3.Model.PutObjectRequest
{
BucketName = "mys3bucket",
Key = "test.csv",
FilePath = FILEPATHONYOURTEMPFOLDER,
ContentType = @"text/csv"
});
我正在生成一个 .csv 文件,以便使用 .net c# Lambda 函数进一步存储在 s3 存储桶中。
这是我遵循的流程:
生成 .csv 并将其存储在 lambda 函数执行的 /tmp/ 文件夹中。 在此步骤中,我不确定它是否真的将文件保存在该路径中。
//filepath = @"/tmp/test.csv" try { using (System.IO.StreamWriter file = new System.IO.StreamWriter(@filepath, true)) { file.WriteLine(ID + "," + workItemType + "," + title + "," + assignedTo + "," + state + "," + iterationPath); Console.WriteLine("Successfully added"); } } catch (Exception ex) { throw new ApplicationException(" somethings wrong: ", ex); }
将文件上传到 s3 存储桶。
try { await client.PutObjectAsync(new Amazon.S3.Model.PutObjectRequest { BucketName = "mys3bucket", Key = "test.csv", ContentType = @"/tmp/test.csv" }); await Task.CompletedTask; } catch (Exception ex) { Console.WriteLine("Exception in PutS3Object:" + ex.Message); ; }
在这最后一步中,我收到此错误消息:
Exception in PutS3Object:The format of value '\tmp\test.csv' is invalid.
我做错了什么?
您需要发送 数据 以包含在 csv 文件中:
await client.PutObjectAsync(new Amazon.S3.Model.PutObjectRequest
{
BucketName = "mys3bucket",
Key = "test.csv",
ContentBody = DATAINSTRINGFORMAT,
ContentType = @"text/csv"
});
或作为文件路径发送:
await client.PutObjectAsync(new Amazon.S3.Model.PutObjectRequest
{
BucketName = "mys3bucket",
Key = "test.csv",
FilePath = FILEPATHONYOURTEMPFOLDER,
ContentType = @"text/csv"
});