【发布时间】:2021-08-22 00:20:25
【问题描述】:
此代码在我本地机器上的 .net 核心控制台中运行
await S3Client.GetObjectAsync(new GetObjectRequest { BucketName = bucketName, Key = key });
但同一行在 aws 中的 Lambda 函数中不起作用,它超时并显示“任务在 30.03 秒后超时”
我已经关注了
- 将 lambda 函数的超时时间增加到 5 分钟。
- 增加了 lambda 函数的内存使用限制。
- 将策略“AmazonS3FullAccess”附加到 lambda 函数 IAMRole。 还将策略“AmazonS3ReadOnlyAccess”附加到同一角色(绝望措施)
- 向所有人公开存储桶。
- 确保存储桶和函数位于同一区域。
仍然没有运气,我在这里做错了什么?谢谢
【问题讨论】:
-
lambda 是否在 vpc 中?
-
正如@Marcin 所指出的,VPC 配置可能确实与它相关。但是,只是为了方便起见,您能否将 lambda 函数的基本配置发送给我们,并将来自 lambda 执行的 cloudwatch 日志中有关内存使用量 + 总运行时间的部分也作为问题的一部分? 95% 的时间都归结为内存消耗或超时。让我们首先尝试确认是这种情况还是其他 5%(例如 VPC)的其他情况。干杯,
-
感谢@Marcin 和 Lucas Barbosa。是的,问题确实与 VPC 有关。
标签: amazon-web-services amazon-s3 .net-core aws-lambda