AWS Lambda .NET Core部署至S3失败问题求助
解决Azure DevOps流水线LambdaNETCoreDeploy任务S3签名不匹配问题
可能的原因及修复步骤
更新
dotnet-lambda工具版本dotnet-lambda.exe依赖的AWS组件可能因版本过旧不兼容最新签名规则,执行命令更新工具:dotnet tool update -g Amazon.Lambda.Tools校验S3路径格式
确认任务配置中存储桶名是riyo-serverless-code,busTokens为桶内前缀,避免路径出现多余斜杠或格式错误。同步代理服务器系统时间
AWS签名验证对时间精度要求高,若代理服务器时间与NTP同步偏差超5分钟会触发签名不匹配:# Windows代理 w32tm /resync # Linux代理 sudo timedatectl set-ntp true确认凭据实际生效状态
在任务前添加调试步骤,验证AWS_ACCESS_KEY_ID等环境变量是否正确注入,或用AWS CLI测试上传:aws s3 cp ./your-package.zip s3://riyo-serverless-code/busTokens/强制指定签名版本为V4
在LambdaNETCoreDeploy任务的附加参数中添加:--s3-signer-version v4
问题日志
Lambda项目打包成功,尝试上传指定ZIP包至S3存储桶riyo-serverless-code/busTokens时出现错误:请求签名不匹配,请检查密钥和签名方法,工具dotnet-lambda.exe退出码为4294967295,任务执行失败。
内容的提问来源于stack exchange,提问作者ICICI81
相关产品推荐
相关产品推荐

