C# AWS Lambda-发布Lambda时不上载到S3

C# AWS Lambda-发布Lambda时不上载到S3,c#,amazon-web-services,amazon-s3,.net-core,aws-lambda,C#,Amazon Web Services,Amazon S3,.net Core,Aws Lambda,我有一个AWS.NET核心lambda,在这里我上传图像到一个S3存储桶 这在使用测试工具的开发模式下工作得很好,但一旦发布,它就会超时,并且没有错误消息 下面是我的代码,在尝试上载到S3之前,我将base64映像转换为字节数组 它在上传时被卡住了。我还尝试了UploadAsync方法,该方法也有同样的效果 s3Client = new AmazonS3Client(apiKey, apiSecret, bucketRegion); var fileTransferUtility = new T

我有一个AWS.NET核心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 bucket所需的权限有关

我目前使用的是一个IAM用户,该用户使用AWS提供的密钥和机密对bucket具有写访问权限,正如前面提到的,这在开发模式下工作良好

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


有人能帮忙吗?

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

您的lambda是否在VPC中?不确定,我如何检查?lambda超时的常见原因通常是由于将其放置在VPC中。如果您没有明确地这样做,那么它可能不在VPC中。您可以在AWS lambda控制台中进行检查。在底部将有一个部分
VPC
。您可以检查两件事-是否如上面建议的那样在VPC中,并检查您的AWS Lambda函数超时(默认值为3秒,最大值为15分钟)我认为这是VPN,是否需要做些什么来修复此问题。超时时间已增加到30秒谢谢你的评论,不知道你的意思是什么,如果它卡在那个地方,我可以记录什么?