开发者社区 > 云原生 > Serverless > 正文

这两个有什么不同吗,用url调用htpp的时候是用哪个啊。。

handler(environ, start_response)和hanlder(event, context)这两个有什么不同吗,用url调用htpp的时候是用哪个啊。。

展开
收起
大圣东游 2023-05-23 21:05:43 5833 0
3 条回答
写回答
取消 提交回答
  • handler(environ, start_response)和handler(event, context)是两种不同的函数签名,分别对应着WSGI接口和Serverless云函数接口。在使用不同的Web框架或部署方案时,需要选择对应的函数签名来实现相应的HTTP请求处理功能。

    具体来说,handler(environ, start_response)是WSGI标准接口中定义的函数签名,用于处理Web服务器与Web应用程序之间的交互。当您使用类似于Flask、Django等Python Web框架时,通常会通过该函数来接收HTTP请求,并将处理结果返回给服务器。

    而handler(event, context)则是Serverless平台(如AWS Lambda、腾讯云函数等)中定义的函数签名,用于处理由云服务提供商传递过来的事件(Event)。当您将Web应用程序部署到Serverless平台上时,通常会通过该函数来处理HTTP请求并返回响应。

    在使用URL调用HTTP请求时,具体使用哪个函数签名取决于您的部署方案和代码实现。如果是部署在传统的Web服务器上,通常使用WSGI接口;如果是部署在Serverless平台上,则使用Serverless云函数接口。需要注意的是,使用不同的函数签名可能需要进行不同的参数解析和响应格式转换等操作,需要根据具体情况进行调整。

    2023-05-24 10:46:51
    赞同 展开评论 打赏
  • 不一样的 一个是事件函数 一个是 http 函数。控制台创建个hello world 再玩吧

    此答案来自钉钉群“阿里函数计算官网客户"

    2023-05-24 09:16:03
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    handler(event, context)handler(environ, start_response)分别是阿里云函数计算在不同语言时进行处理请求的入口参数。其中,eventcontext是通用的入口参数,适用于 Node.js、Python、PHP、Ruby 等多种编程语言,它们包含了函数运行所需的请求参数和环境上下文等信息。而environstart_response是 Python 特有的入口参数,用于处理 Python 程序接收和响应 HTTP 请求,并可以与 WSGI 兼容的 Web 框架一起使用。

    当使用 HTTP 触发器调用阿里云函数计算服务时,您需要使用handler(event, context)来处理请求。HTTP 触发器会将请求信息以 JSON 格式放在event参数中,包括 HTTP 请求的方法(GET/POST 等)、URL 参数、请求头和正文等信息。context参数包含了函数计算执行的上下文信息,如执行超时时间配置、内存配置等。

    如果您要使用 Python 编写一个具有 HTTP 能力的阿里云函数,可以采用 Python 的 Web 框架(如 Flask、Django 等)和environstart_response入口参数。此时,environ参数包含了 HTTP 请求的各种信息,start_response则可以用于设置 HTTP 响应的头部信息和状态码等。

    当您使用 HTTP 触发器调用阿里云函数计算时,应使用handler(event, context),而使用handler(environ, start_response)通常是为了对接已有的 Flask/Django Web 应用等 Python Web 框架。

    2023-05-23 22:34:25
    赞同 展开评论 打赏
问答地址:

快速交付实现商业价值。

热门讨论

热门文章

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载