详情页标题前

腾讯云云函数(SCF)SSE 协议支持-云淘科技

详情页1

SSE(Server-sent Events)是 WebSocket 的一种轻量代替方案,是一种服务器端到客户端(浏览器)的单向流式消息推送协议,在 AI 生成对话等场景下较为常见。Web 函数目前已经支持通过 SSE 协议在客户端和函数运行的服务端间建立连接。

协议启用方式

SSE 协议默认支持,无需在控制台进行任何配置。

SSE 连接生命周期

在 Web 函数的 SSE 支持下, SSE 一次连接的生命周期,等同于一次函数调用请求。函数实例与连接一一对应,即同一实例在某一时刻仅处理一个 SSE 连接。在有更多连接请求发起时,将启动对应数量的实例进行处理。

操作步骤

创建函数

1. 登录 Serverless 控制台,单击左侧导航栏的函数服务。2. 在主界面上方选择期望创建函数的地域和命名空间,并单击新建,进入函数创建流程。3.新建函数页面,选择使用从头开始来新建函数,函数类型选择 Web 函数。4. 本文以运行环境选择 Python 3.7 为例,在函数代码中选择在线编辑,并将以下 app.py 示例代码复制粘贴至函数代码中:

import jsonimport time
from flask import Flask, Response, stream_with_context
app = Flask(__name__)
@app.route('/stream')def stream_data(): msg = ['SSE','empowering','GPT','applications','!','Happy','chatting','!'] # 可以使用 yield 逐字返回内容 def generate_response_data(): for i,word in enumerate(msg): json_data = json.dumps( {'id': i, 'content': word}) yield f"data:{json_data}\n\n" time.sleep(1) return Response(stream_with_context(generate_response_data()), mimetype="text/event-stream")
if __name__ == '__main__': app.run(host='0.0.0.0', port=9000)

5. 单击完成。函数创建完成后,可以在函数列表中查看。

测试函数

可以在本地终端使用 curl 工具发起 SSE 连接,示例命令如下:

curl -v -H 'Accept:text/event-stream' {函数暴露的API网关地址}/stream

返回内容如下:

> GET /release/stream HTTP/1.1> Host: XXXXXXXXXXXXXXX.XX.apigw.tencentcs.com> User-Agent: curl/8.0.1> Accept: */*> 'Accept:text/event-stream'>< HTTP/1.1 200 OK< Content-Type: text/event-stream; charset=utf-8< Transfer-Encoding: chunked< Connection: keep-alive< X-Api-RequestId: 22ad36c38536ee65bd07c44cb5311e1d< Vary: Accept-Encoding<data:{"id": 0, "content": "SSE"}
data:{"id": 1, "content": "empowering"}
data:{"id": 2, "content": "GPT"}
data:{"id": 3, "content": "applications"}
data:{"id": 4, "content": "!"}
data:{"id": 5, "content": "Happy"}
data:{"id": 6, "content": "chatting"}
data:{"id": 7, "content": "!"}
* Connection #0 to host XXXXXXXXXXXXXXXXXXX.XX.apigw.tencentcs.com left intact



官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/149348.html

(0)
上一篇 2023年12月9日 下午1:17
下一篇 2023年12月9日 下午1:17
详情页2

相关推荐

  • 腾讯云云函数(SCF)WebServer 镜像函数-云淘科技

    云函数 SCF 支持开发者将容器镜像部署为函数。当前支持两种类型的镜像函数:WebServer 镜像函数:镜像中需包含 Http Server 并监听 9000 端口。实例拉起后,事件体以 Http 请求的形式传入实例。Job 镜像函数:镜像中无需包含 Http Server,不暴露任何端口。实例拉起后,将根据用户指定的 CMD和EntryPoint 执行…

    2023年12月9日
  • 腾讯云对象存储版本控制

    简介 本文档提供关于版本控制的 API 概览以及 SDK 示例代码。 API 操作名 操作描述 PUT Bucket versioning 设置版本控制 设置存储桶的版本控制功能 GET Bucket versioning 查询版本控制 查询存储桶的版本控制信息 设置版本控制 功能说明 设置指定存储桶的版本控制功能(PUT Bucket versioning…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云大数据开发治理平台 DataWorks附录:数据服务错误代码表-云淘科技

    DataWorks数据服务接收到调用API的请求后,会将请求结果信息返回给请求端,其中包含各类错误码。通过解读错误码,您可以快速定位问题并自助排错。本文为您介绍常见数据服务错误码及相应含义。 错误代码 描述 语义 0 success 数据查询及返回结果成功。 1108110583 query timeout 请求查询超时,API在数据服务和数据库中的整体执行…

  • 腾讯云对象存储POST Object

    功能描述 POST Object 接口请求可以将本地不超过5GB的对象(Object)以网页表单(HTML Form)的形式上传至指定存储桶中。该 API 的请求者需要对存储桶有写入权限。注意POST Object 接口不使用 COS 对象存储统一的请求签名,而是拥有自己的签名要求,请参见本文档的 签名保护 及相关字段的描述。如果试图添加已存在的同名对象且没…

    腾讯云 2023年12月9日
  • DataWorks您的SQL语法有错误;查看与MySQL服务器版本相对应的手册,以获得正确的语法吗?-云小二-阿里云

    DataWorks您的SQL语法有错误;在第1行的“TOPOLOGY scratching_movie_xunlei”附近,查看与MySQL服务器版本相对应的手册,以获得正确的语法?Int1isBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTi…

    阿里云 2023年12月18日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。