我有一个用C#编写的Lambda函数,试图将对象上传到S3存储桶,但未成功。为了测试目的,我将输入字符串转换为字节数组,并将其作为对象内容使用。我的处理程序函数定义如下:
public void FunctionHandler(string input, ILambdaContext context)
{
IAmazonS3 client = new AmazonS3Client(Amazon.RegionEndpoint.USEast1);
byte[] bytes = new byte[input.Length * sizeof(char)];
Buffer.BlockCopy(input.ToCharArray(), 0, bytes, 0, bytes.Length);
using (MemoryStream ms = new MemoryStream())
{
foreach (Byte b in bytes)
{
ms.WriteByte(b);
}
PutObjectRequest request = new PutObjectRequest()
{
BucketName = "BUCKET_NAME",
Key = "OBJECT_KEY",
InputStream = ms
};
client.PutObjectAsync(request);
}
}
该函数运行无误,但对象未被写入S3。我认为这可能与
PutObjectAsync
方法有关,但不确定。IAmazonS3接口包括一个PutObject
方法,但当我尝试使用该方法时,收到以下错误提示:在C# Lambda函数中上传对象到S3 bucket的最佳方式是什么?“IAmazonS3”不包含“PutObject”的定义。