首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terraform提供的API网关触发器上的内部服务器错误

Terraform提供的API网关触发器上的内部服务器错误
EN

Stack Overflow用户
提问于 2022-02-09 06:10:47
回答 2查看 354关注 0票数 0

我使用Terraform来分配由请求触发的Lambda函数到AWS上的API网关。这是我的.tf文件:

代码语言:javascript
复制
dsf

这正确地设置了Lambda函数,但是API网关有一些问题。当我使用输出URL (https://cqsso4fw67.execute-api.us-east-1.amazonaws.com)时,它给出了以下内容:

代码语言:javascript
复制
curl https://cqsso4fw67.execute-api.us-east-1.amazonaws.com/
{"message":"Internal Server Error"}%  

如果我手动删除这个API网关,并在Lambda函数中从AWS控制台创建一个新的API网关,并再次运行curl,我将获得“成功!”(这就是我的兰博达应该做的事)。

代码语言:javascript
复制
smf        

有什么想法吗?如何修复.tf文件以正确设置API触发器?

以下是AWS中创建的和Terraform中提供的不同之处。Terraform one在顶端。

EN

回答 2

Stack Overflow用户

发布于 2022-02-09 06:38:54

您显示的TF代码是正确的。失败的最可能原因是您的lambda函数,您还没有显示它。您必须检查lambda函数日志中的CloudWatch,以检查其失败的原因。

编辑:

该职能应返回:

代码语言:javascript
复制
    return {                                                                                                                                                                                                  
        'statusCode': 200,                                                                                                                                                                                    
        'body': 'SUCCESS'                                                                                                                                                                                     
    } 
票数 1
EN

Stack Overflow用户

发布于 2022-02-09 07:20:07

如果有人遇到这个问题,我设法通过大大简化事情来解决它。我用以下内容切换了Terraform文件中的所有API Gateway子句:

代码语言:javascript
复制
resource "aws_apigatewayv2_api" "apigw-terraform" {
    name          = "terraform-api"
    protocol_type = "HTTP"
    target        = aws_lambda_function.w-scan-terraform.arn
}

我所遵循的教程实现了一些比我需要的更复杂的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71044759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档