【发布时间】:2020-03-07 01:35:29
【问题描述】:
您好,我正在 .Net 核心中编写 Lambda 函数。我的要求是 Post api 将发送员工数据。收到数据后,我想将其存储在 S3 存储桶中。我遵循的方法是每当 Api 向 lambda 发送数据时,Empid 都是唯一的。每次我想创建一个 json 文件,文件名应该等于 emp id。我正在尝试如下编写我的函数。
public async Task<string> FunctionHandler(Employee input, ILambdaContext context)
{
string bucketname = "someunquebucket";
var client = new AmazonS3Client();
bool doesBucketExists = await AmazonS3Util.DoesS3BucketExistV2Async(client,bucketname);
if(!doesBucketExists)
{
var request = new PutBucketRequest
{
BucketName = "someunquebucket",
};
var response = await client.PutBucketAsync(request);
}
using (var stream = new MemoryStream(bin))
{
var request = new PutObjectRequest
{
BucketName = bucketname,
InputStream = stream,
ContentType = "application/json",
Key = input.emp_id
};
var response = await client.PutObjectAsync(request).ConfigureAwait(false);
}
}
在上面的代码中,PutObjectRequest 用于将数据写入 s3 存储桶。我正在添加一些参数,例如 bucketname 等。在函数中,我正在接收员工数据。现在我想用emp id创建json文件。我找到了上面的代码,但我不确定用什么来代替 bin。有人可以帮我执行上述功能。任何帮助,将不胜感激。谢谢
【问题讨论】:
-
我会将 json 转换为 Base 64 字符串并发送字符串:Convert.ToBase64String("string");