异步调用
异步调用指的是客户端触发函数后,FunctionGraph持久化请求并立即返回,客户端不等待请求最终处理完成,用户无法实时感知请求处理结果。FunctionGraph最终将异步请求排队,在服务端空闲的情况下逐个处理。如果您希望获取异步请求结果通知或者设置异步请求失败重试,请参见配置函数异步。
- 以下触发器:默认异步调用,用户不可修改。
表1 调用方式 事件源
调用方式
消息通知服务SMN
异步调用
对象存储服务OBS
异步调用
数据接入服务DIS
异步调用
定时器TIMER
异步调用
云日志服务LTS
异步调用
云审计服务CTS
异步调用
文档数据库服务DDS
异步调用
分布式消息服务Kafka版
异步调用
分布式消息服务RabbitMQ版
异步调用
云数据库GeminiDB Mongo
异步调用
- 以下触发器:API网关APIG、API网关APIG(专享版)、服务集成APIC可以在触发器对应服务页面配置成异步触发方式。您也可以使用异步执行函数API接口异步触发函数。异步调用场景下,函数最大运行时长限制为12小时(通过白名单配置)。
如果函数执行端到端时延超过90s,建议使用异步不使用同步,否则会因为网关限制,超过90s后无法收到同步响应。
示例
在已创建函数并配置APIG触发器的前提下,以APIG触发器为例,配置异步触发。
- 在函数列表中打开函数,单击“设置 > 触发器”。
- 单击已配置的APIG触发器名称,跳转到APIG服务页面。
图1 单击触发器名称
- 单击右上角的”编辑”。
图2 单击“编辑”
- 单击“下一步”到“定义后端服务”页面,修改调用类型为“Asynchronous”。
图3 修改调用类型
- 单击“立即完成”,进行保存。