Amazon web services 是否可以使用AWS API为Lambda函数设置AWS API网关端点?

Amazon web services 是否可以使用AWS API为Lambda函数设置AWS API网关端点?,amazon-web-services,aws-sdk,aws-lambda,aws-api-gateway,Amazon Web Services,Aws Sdk,Aws Lambda,Aws Api Gateway,通过设置指向AWS API网关端点,我将AWS Lambda函数公开给公共HTTP请求 这有两个部分: 创建并上载我的AWS Lambda函数 设置API网关以将HTTP端点指向我的Lambda函数 我想使用API调用而不是web界面来完成这两部分。我可以使用AWS SDK和AWS CLI来完成第一部分 然而,对于第二部分,我被卡住了。我在浏览时没有发现API网关,或者 是否有方法通过编程方式使用AWS API为Lambda函数设置API网关端点?是的,可以通过AWS API为AWS Lam

通过设置指向AWS API网关端点,我将AWS Lambda函数公开给公共HTTP请求

这有两个部分:

  • 创建并上载我的AWS Lambda函数
  • 设置API网关以将HTTP端点指向我的Lambda函数
我想使用API调用而不是web界面来完成这两部分。我可以使用AWS SDK和AWS CLI来完成第一部分

然而,对于第二部分,我被卡住了。我在浏览时没有发现API网关,或者


是否有方法通过编程方式使用AWS API为Lambda函数设置API网关端点?

是的,可以通过AWS API为AWS Lambda函数设置Amazon API网关端点

虽然Node.js和AWS CLI中的AWS SDK for JavaScript还不支持Amazon API网关,但您可以在不使用官方SDK的情况下设置它们。在这种情况下,您可能会使用以下API:

  • restapi:创建
  • 资源:创建
  • 方法:将
  • 集成:put
  • 集成响应:put
  • 方法应答:put
  • 您可能希望使用第三方库将AmazonAPI网关与AWS Lambda集成,例如或。

    是的,这是可行的

    JAWS项目有一个漂亮而简单的js实现,它工作得非常好

    此外,最新的AWS CLI(版本1.99)完全支持API网关。
    是的……绝对有可能。下面是一些node.js代码,它使用了node.js的AWS-SDK。我在这里写一篇关于方法集成的帖子。现在你需要一些东西。希望这有帮助…祝你好运

    用于网关API的方法的ResourceId

    网关API Rest Id

    能够调用Lambda函数的Invoke角色的ARN

    要集成的Lambda函数的ARN


    您可以将API端点指向Lambda函数。在API网关中创建新的HTTP方法时,选择“集成类型”作为“Lambda函数”,然后选择需要调用的Lambda函数

    主要的挑战是将API输入参数映射到Lambda模型对象,您可以手动定义映射或提供模型模式(使用)

    映射示例:

    {
        "firstname" : "$input.params('firstname')",
        "lastname"  : "$input.params('lastname')"
    }
    

    有关为Java 8编写的分步教程,请参阅文章。

    CLI/SDK对
    API网关的支持尚未就绪。我个人希望有关这些功能的更多详细信息将在
    re:invent2015
    上发布。此外,
    CloudFormation
    可能对您未来的工作有很大帮助。谢谢Kevin!uri不容易理解,因此这里有一个更详细的描述,以防它对某人有所帮助:--uri arn:aws:apigateway:aws region:lambda:path/2015-03-31/functions/arn:aws:lambda:aws region:aws acct id:function:your lambda函数名/调用
    {
        "firstname" : "$input.params('firstname')",
        "lastname"  : "$input.params('lastname')"
    }