首页 > 解决方案 > AWS Lambda - 当我发布 lambda 时不上传到 S3

问题描述

我有一个 AWS .NET Core lambda,我正在将图像上传到 S3 存储桶。

这在使用测试工具的开发模式下工作正常,但是一旦我发布,它就会超时并且没有错误消息。

这是我在尝试上传到 S3 之前将 base64 图像转换为字节数组的代码。

它在上传时卡住了。我也尝试过UploadAsync同样的方法。

s3Client = new AmazonS3Client(apiKey, apiSecret, bucketRegion);
var fileTransferUtility = new TransferUtility(s3Client);
var bytes = Convert.FromBase64String(body.ImgB64.Split(',')[1]);
using var contents = new MemoryStream(bytes);
fileTransferUtility.Upload(contents, bucketName, filePath + "/" + keyName);

我想知道这是否与将对象上传到 S3 存储桶所需的权限有关?

我目前正在使用一个 IAM 用户,该用户使用 AWS 提供的密钥和秘密对存储桶具有写访问权限,如前所述,这在开发模式下工作正常。

我还授予了用于 lambda S3 完全访问权限的 IAM 角色。

在此处输入图像描述

任何人都可以帮忙吗?

标签: c#amazon-web-servicesamazon-s3.net-coreaws-lambda

解决方案


记录正在发生的事情 - 使用 Lambda,您可以打印到stdout它,它将被 CloudWatch 日志拾取。之后分析 CloudWatch 日志并从那里开始。


推荐阅读