借助阿里云在亚洲加速迈向成功
一站式安全合规咨询服务
MLPS 2.0 一站式合规解决方案
依托我们的网络进军中国市场
提升面向互联网应用的性能和安全性
保障您的中国业务安全无忧
通过强大的数据安全框架保护您的数据资产
申请 ICP 备案的流程解读和咨询服务
面向大数据建设、管理及应用的全域解决方案
企业内大数据建设、管理和应用的一站式解决方案
将您的采购和销售置于同一企业级全渠道数字平台上
全渠道内置 AI 驱动、拟人化、多语言对话的聊天机器人
快速搭建在线教育平台
提供域名注册、分析和保护服务
云原生 Kubernetes 容器化应用运行环境
以 Kubernetes 为使用界面的容器服务产品,提供符合容器规范的算力资源
安全的镜像托管服务,支持全生命周期管理
多集群环境下微服务应用流量统一管理
提供任意基础设施上容器集群的统一管控,助您轻松管控分布式云场景
高弹性、高可靠的企业级无服务器 Kubernetes 容器产品
敏捷安全的 Serverless 容器运行服务
为虚拟机和容器提供高可靠性、高性能、低时延的块存储服务
一款海量、安全、低成本、高可靠的云存储服务
可靠、弹性、高性能、多共享的文件存储服务
全托管、可扩展的并行文件系统服务。
全托管的 NoSQL 结构化数据实时存储服务
可抵扣多种存储产品的容量包,兼具灵活性和长期成本优化
让您的应用跨不同可用区资源自动分配访问量
随时绑定和解绑 VPC ECS
云网络公网、跨域流量统一计费
高性价比,可抵扣按流量计费的流量费用
创建云上隔离的网络,在专有环境中运行资源
在 VPC 环境下构建公网流量的出入口
具备网络状态可视化、故障智能诊断能力的自助式网络运维服务。
安全便捷的云上服务专属连接
基于阿里云专有网络的私有 DNS 解析服务
保障在线业务不受大流量 DDoS 攻击影响
系统运维和安全审计管控平台
业务上云的第一个网络安全基础设施
集零信任内网访问、办公数据保护、终端管理等多功能于一体的办公安全管控平台
提供7X24小时安全运维平台
防御常见 Web 攻击,缓解 HTTP 泛洪攻击
实现全站 HTTPS,呈现可信的 WEB 访问
为云上应用提供符合行业标准和密码算法等级的数据加解密、签名验签和数据认证能力
一款发现、分类和保护敏感数据的安全服务
创建、控制和管理您的加密密钥
快速提高应用高可用能力服务
围绕应用和微服务的 PaaS 平台
兼容主流开源微服务生态的一站式平台
多集群环境下微服务应用流量统一管理
Super MySQL 和 PostgreSQL,高度兼容 Oracle 语法
全托管 MySQL、PostgreSQL、SQL Server、MariaDB
兼容 Redis® 的缓存和KV数据库
兼容Apache Cassandra、Apache HBase、Elasticsearch、OpenTSDB 等多种开源接口
文档型数据库,支持副本集和分片架构
100%兼容 Apache HBase 并深度扩展,稳定、易用、低成本的NoSQL数据库。
低成本、高可用、可弹性伸缩的在线时序数据库服务
专为搜索和分析而设计,成本效益达到开源的两倍,采用最新的企业级AI搜索和AI助手功能。
一款兼容PostgreSQL协议的实时交互式分析产品
一种快速、完全托管的 TB/PB 级数据仓库
基于 Flink 为大数据行业提供解决方案
基于Qwen和其他热门模型的一站式生成式AI平台,可构建了解您业务的智能应用程
一站式机器学习平台,满足数据挖掘分析需求
高性能向量检索服务,提供低代码API和高成本效益
帮助您的应用快速构建高质量的个性化推荐服务能力
提供定制化的高品质机器翻译服务
全面的AI计算平台,满足大模型训练等高性能AI计算的算力和性能需求
具备智能会话能力的会话机器人
基于机器学习的智能图像搜索产品
基于阿里云深度学习技术,为用户提供图像分割、视频分割、文字识别等离线SDK能力,支持Android、iOS不同的适用终端。
语音识别、语音合成服务以及自学习平台
一站式智能搜索业务开发平台
助力金融企业快速搭建超低时延、高质量、稳定的行情数据服务
帮助企业快速测算和分析企业的碳排放和产品碳足迹
企业工作流程自动化,全面提高效率
金融级云原生分布式架构的一站式高可用应用研发、运维平台
eKYC 数字远程在线解决方案
可智能检测、大数据驱动的综合性反洗钱 (AML) 解决方案
阿里云APM类监控产品
实时云监控服务,确保应用及服务器平稳运行
为系统运维人员管理云基础架构提供全方位服务的云上自动化运维平台
面向您的云资源的风险检测服务
提升分布式环境下的诊断效率
日志类数据一站式服务,无需开发就能部署
ECS 预留实例
让弹性计算产品的成本和灵活性达到最佳平衡的付费方式。云原生 AI 套件
加速AI平台构建,提高资源效率和交付速度FinOps
实时分析您的云消耗并实现节约SecOps
实施细粒度安全控制DevOps
快速、安全地最大限度提高您的DevOps优势自带IP上云
自带公网 IP 地址上云全球网络互联
端到端的软件定义网络解决方案,可推动跨国企业的业务发展全球应用加速
提升面向互联网应用的性能和安全性全球互联网接入
将IDC网关迁移到云端云原生 AI 套件
加速AI平台构建,提高资源效率和交付速度FinOps
实时分析您的云消耗并实现节约SecOps
实施细粒度安全控制DevOps
快速、安全地最大限度提高您的DevOps优势金融科技云数据库解决方案
利用专为金融科技而设的云原生数据库解决方案游戏行业云数据库解决方案
提供多种成熟架构,解决所有数据问题Oracle 数据库迁移
将 Oracle 数据库顺利迁移到云原生数据库数据库迁移
加速迁移您的数据到阿里云阿里云上的数据湖
实时存储、管理和分析各种规模和类型的数据数码信贷
利用大数据和 AI 降低信贷和黑灰产风险面向企业数据技术的大数据咨询服务
帮助企业实现数据现代化并规划其数字化未来人工智能对话服务
全渠道内置 AI 驱动、拟人化、多语言对话的聊天机器人EasyDispatch 现场服务管理
为现场服务调度提供实时AI决策支持在线教育
快速搭建在线教育平台窄带高清 (HD) 转码
带宽成本降低高达 30%广电级大型赛事直播
为全球观众实时直播大型赛事,视频播放流畅不卡顿直播电商
快速轻松地搭建一站式直播购物平台用于供应链规划的Alibaba Dchain
构建和管理敏捷、智能且经济高效的供应链云胸牌
针对赛事运营的创新型凭证数字服务数字门店中的云 POS 解决方案
将所有操作整合到一个云 POS 系统中元宇宙
元宇宙是下一代互联网人工智能 (AI) 加速
利用阿里云 GPU 技术,为 AI 驱动型业务以及 AI 模型训练和推理加速DevOps
快速、安全地最大限度提高您的DevOps优势数据迁移解决方案
加速迁移您的数据到阿里云企业 IT 治理
在阿里云上构建高效可控的云环境基于日志管理的AIOps
登录到带有智能化日志管理解决方案的 AIOps 环境备份与存档
数据备份、数据存档和灾难恢复用阿里云金融服务加快创新
在云端开展业务,提升客户满意度
为全球资本市场提供安全、准确和数字化的客户体验
利用专为金融科技而设的云原生数据库解决方案
利用大数据和 AI 降低信贷和黑灰产风险
建立快速、安全的全球外汇交易平台
新零售时代下,实现传统零售业转型
利用云服务处理流量波动问题,扩展业务运营、降低成本
快速轻松地搭建一站式直播购物平台
面向大数据建设、管理及应用的全域解决方案
全渠道内置 AI 驱动、拟人化、多语言对话的聊天机器人
以数字化媒体旅程为当今的媒体市场准备就绪您的内容
带宽成本降低高达 30%
快速轻松地搭建一站式直播购物平台
为全球观众实时直播大型赛事,视频播放流畅不卡顿
使用阿里云弹性高性能计算 E-HPC 将本地渲染农场连接到云端
构建发现服务,帮助客户找到最合适的内容
保护您的媒体存档安全
通过统一的数据驱动平台提供一致的全生命周期客户服务
在钉钉上打造一个多功能的电信和数字生活平台
在线存储、共享和管理照片与文件
提供全渠道的无缝客户体验
面向中小型企业,为独立软件供应商提供可靠的IT服务
打造最快途径,助力您的新云业务扬帆起航
先进的SD-WAN平台,可实现WAN连接、实时优化并降低WAN成本
通过自动化和流程标准化实现快速事件响应
针对关键网络安全威胁提供集中可见性并进行智能安全分析
提供大容量、可靠且高度安全的企业文件传输
用智能技术数字化体育赛事
基于人工智能的低成本体育广播服务
专业的广播转码及信号分配管理服务
基于云的音视频内容引入、编辑和分发服务
在虚拟场馆中模拟关键运营任务
针对赛事运营的创新型凭证数字服务
智能和交互式赛事指南
轻松管理云端背包单元的绑定直播流
通过数据加强您的营销工作
元宇宙是下一代互联网
利用生成式 AI 加速创新,创造新的业务佳绩
阿里云高性能开源大模型
借助AI轻松解锁和提炼文档中的知识
通过AI驱动的语音转文本服务获取洞察
探索阿里云人工智能和数据智能的所有功能、新优惠和最新产品
该体验中心提供广泛的用例和产品帮助文档,助您开始使用阿里云 AI 产品和浏览您的业务数据。
利用阿里云 GPU 技术,为 AI 驱动型业务以及 AI 模型训练和推理加速
元宇宙是下一代互联网
构建发现服务,帮助客户找到最合适的内容
全渠道内置 AI 驱动、拟人化、多语言对话的聊天机器人
加速迁移您的数据到阿里云
在阿里云上建立一个安全且易扩容的环境,助力高效率且高成本效益的上云旅程
迁移到完全托管的云数据库
将 Oracle 数据库顺利迁移到云原生数据库
自带公网 IP 地址上云
利用阿里云强大的安全工具集,保障业务安全、应用程序安全、数据安全、基础设施安全和帐户安全
保护、备份和还原您的云端数据资产
MLPS 2.0 一站式合规解决方案
快速高效地将您的业务扩展到中国,同时遵守适用的当地法规
实现对 CloudOps、DevOps、SecOps、AIOps 和 FinOps 的高效、安全和透明的管理
构建您的原生云环境并高效管理集群
快速、安全地最大限度提高您的DevOps优势
实施细粒度安全控制
提供运维效率和总体系统安全性
实时分析您的云消耗并实现节约
实时存储、管理和分析各种规模和类型的数据
登录到带有智能化日志管理解决方案的 AIOps 环境
帮助企业实现数据现代化并规划其数字化未来
帮助零售商快速规划数字化之旅
将全球知名的 CRM 平台引入中国
在线存储、共享和管理照片与文件
构建、部署和管理高可用、高可靠、高弹性的应用程序
快速、安全地最大限度提高您的DevOps优势
将您的采购和销售置于同一企业级全渠道数字平台上
企业内大数据建设、管理和应用的一站式解决方案
帮助企业简化 IT 架构、实现商业价值、加速数字化转型的步伐
快速高效地将您的业务扩展到中国,同时遵守适用的当地法规
快速搜集、处理、分析联网设备产生的数据
0.0.201
当您对函数发起异步调用时,如果需要追踪并保存异步调用各个阶段的状态,实现更丰富的任务控制和可观测能力,可以选择开启任务模式处理异步请求。本文介绍异步任务的背景信息、使用限制和常用功能。
开启异步任务后,您可以实现以下功能:
每次函数调用将详细记录调用过程中的状态转换信息,例如排队等待处理中(Enqueued)、调用执行成功(Succeeded)和调用执行失败(Failed)等。
拥有函数请求生命周期管理能力,可以主动终止执行中的异步任务。
异步任务会保存状态信息,因此,函数的调用和执行会有一定的额外延迟,该延迟不会产生额外的费用。关于函数计算计费的详细信息,请参见计费概述。
场景限制
异步任务虽然功能更丰富,但相应的系统开销更大。以下场景建议您关闭任务模式:
您对请求处理链路延时非常敏感,需要平均延时在百毫秒以下。
您需要每秒数千甚至更高的速率发起异步调用。
地域限制
异步任务支持华东1(杭州)、华东2(上海)、华北1(青岛)、华北2(北京)、华北3(张家口)、华北6(乌兰察布)、华南1(深圳)、西南1(成都)、中国香港、新加坡、英国(伦敦)、美国(硅谷)、美国(弗吉尼亚)、德国(法兰克福)、马来西亚(吉隆坡)、印度尼西亚(雅加达)、泰国(曼谷)、日本(东京)和韩国(首尔)地域。
时效限制
仅支持查询7天内的任务状态信息。
如果您需要执行异步任务,您可以使用函数计算异步任务功能,也可以使用Kubernetes的Jobs功能来实现。函数计算异步任务提供开箱即用的更高效、更可控并且更易于观测的异步任务执行平台。以下是详细功能对比。
对比项 | 函数计算异步任务 | Kubernetes的Jobs功能 |
对比项 | 函数计算异步任务 | Kubernetes的Jobs功能 |
适用场景 | 适用于任务执行时长数十毫秒的实时任务和任务执行时长数十小时的离线任务。 | 适用于任务提交速度要求不高,任务负载比较固定,任务实时性要求不高的离线任务。 |
任务可观测能力 | 支持。提供日志、任务排队数等指标和任务链路耗时、任务状态查询等丰富的可观测能力。 | 需自行整合开源软件来实现。 |
任务实例自动扩缩容 | 支持。根据任务排队数和实例资源使用率自动扩缩容。 | 需通过任务队列自行实现扩缩容和实例负载均衡,复杂度较高。 |
任务实例伸缩速度 | 毫秒级。 | 分钟级。 |
任务实例资源利用率 | 用户只需要选择合适的实例规格,实例自动伸缩,按实际处理任务的时长计量,资源利用率高。 | 需在Jobs提交时确定实例的规格和数目。实例难以自动伸缩和负载均衡,资源利用率低。 |
任务提交速度 | 单个用户支持每秒提交数万条任务。 | 整个集群每秒最多启动数百条Jobs。 |
任务定时或延时提交 | 支持。 | 支持任务定时提交,不支持任务延时提交。 |
任务去重 | 支持。 | 不支持。 |
终止指定任务 | 支持。 | 有限支持。通过终止任务实例间接实现。 |
任务流控 | 支持。可在用户或任务处理函数等不同粒度进行流控。 | 不支持。 |
任务结果自动回调 | 支持。 | 不支持。 |
开发运维成本 | 只需要实现任务的处理逻辑。 | 需维护K8s集群。 |
针对每一次任务调用,函数计算均会记录任务的状态变更过程,并提供实时的状态查询能力。您可以通过SDK或函数计算控制台查看任务的具体状态。目前任务有如下几种状态:
执行状态 | 说明 |
执行状态 | 说明 |
已入队 | 异步消息已入队,等待处理。 |
已处理 | 异步消息已出队,等待触发。 |
执行中 | 调用执行中,您的实例已经开始运行任务代码。 |
执行成功 | 调用执行成功。 |
执行失败 | 调用执行失败。 |
已停止 | 您已手动停止该次任务调用。任务已成功终止。 |
停止中 | 您手动停止了该次任务,任务尝试停止中。 |
已过期 | 您给异步消息配置了存活有效期,该消息因过期已被丢弃(未触发)。 |
无效 | 您的执行因函数或服务被删除等原因处于无效状态(未触发)。 |
重试中 | 异步调用因执行错误而进行重试中。当系统准备好重试后,您的任务将会再次变为Running状态。 |
您可以调用GetAsyncTask - 获取异步任务接口获取某次任务执行的详细信息,也可以调用ListAsyncTasks - 获取异步任务列表接口过滤指定状态的任务。
登录函数计算控制台,在左侧导航栏,单击函数。
在顶部菜单栏,选择地域,然后在函数页面,单击创建函数。
在创建函数页面,选择任务函数,根据实际需求设置配置项,然后单击创建。
关于各配置项的说明,请参见创建任务函数。
函数创建成功后,在函数详情页的配置页签的异步配置区域,您可以看到任务模式已经默认被开启。
需要先创建函数,具体操作,请参见创建函数。
登录函数计算控制台,在左侧导航栏,单击函数。
在顶部菜单栏,选择地域,然后在函数页面,单击目标函数。
在函数详情页面,选择配置页签,然后在左侧选择异步配置。
在异步配置页面的异步配置区域,单击编辑,然后在异步配置面板,任务模式选择开启后单击部署。
登录函数计算控制台,在左侧导航栏,单击函数。
在顶部菜单栏,选择地域,然后在函数页面,单击目标函数。
在函数详情页面,选择任务页签,单击提交任务,在弹出的对话框,选择任务ID生成方式和任务执行时间,然后单击确定。
您也可以单击提交任务右侧的图标,从下拉列表中选择配置测试参数,事件函数将以event的形式,HTTP函数将以HTTP参数的形式输入参数传递给函数,模拟提交任务。
您可以在下方任务列表查看任务状态、任务详情以及请求ID、实例ID或者登录实例等。
调用PutAsyncInvokeConfig - 设置函数异步配置接口,配置异步调用模式为任务模式。将asyncTask配置为如下内容,完成该配置后,该函数的所有异步调用将变为任务模式。
{
"asyncTask": true
}
您配置异步调用模式为任务模式后,仍然可以使用同步方式调用函数,但异步任务模式只针对异步调用生效。
您可以通过调用InvokeFunction - 调用函数接口,x-fc-invocation-type参数选择Async,触发一次异步调用来启动任务模式。您可以在调用时添加HTTP请求头x-fc-async-task-id来为本次调用设置任务ID,更多信息,请参见任务防重复提交。
您提交任务后,如需查询某次执行的状态或执行记录等信息,您可以调用GetAsyncTask - 获取异步任务接口进行查询。
如果您需要根据关键字或条件查询符合条件的任务执行列表,您可以调用ListAsyncTasks - 获取异步任务列表接口来实现。
您提交任务后,可根据需要停止任务。您可以调用StopAsyncTask - 停止异步任务接口执行停止任务操作。停止任务时需要提供TaskID,此ID为您提交任务时设置的TaskID,也可以是调用ListAsyncTasks - 获取异步任务列表接口查询运行中任务时,获取的ID。
您可以通过创建支持异步调用的触发器来触发异步任务,支持异步调用的触发器列表如下。
通过事件总线EventBridge实现的触发器,包括以下几种:
请确保HTTP和通过事件总线EventBridge实现的触发器的调用方式为异步调用。
为了避免任务重复执行,函数计算支持为每次提交的任务设定全局唯一的ID,当异步接口提交失败时,例如异步调用提交任务接口超时,您可以通过提交相同ID的任务进行重试。关于重试方式的介绍,请参见重试策略。
函数计算提供TaskID这一任务概念,该ID全局唯一。建议您在每次提交任务时指定该ID,并在出现超时等情况下进行重试。函数计算会对您重复提交的任务进行校验,当有相同ID进入系统时,该次请求将认为是重复提交而被拒绝,并返回错误409
。
函数计算还提供了RequestID这一概念,如果您设置了RequestID但未设置TaskID,系统将自动设置TaskID为RequestID。使用异步任务时,建议您设置TaskID,无需设置RequestID。
您可以在函数计算控制台、使用Serverless Devs或调用API提交一次任务执行。如果需要设置TaskID,请在触发函数执行时设置参数x-fc-async-task-id。
触发任务执行时设置TaskID的示例代码请参见示例代码。
您可以使用函数计算提供的任务监控指标实时获取异步任务的状态、及时发现错误和超时等异常信息。
已创建函数,详情请参见创建函数。
登录函数计算控制台,在左侧导航栏,单击函数。
在顶部菜单栏,选择地域,然后在函数页面,单击目标函数。
在目标函数的详情页面,选择监控页签,查看异步调用相关指标和异步任务实例级别的资源使用情况。关于监控指标的详细介绍,请参见监控指标。
单击函数指标页签,查看异步调用相关指标信息,如下图所示。
单击实例指标页签,查看异步任务实例级别的资源使用情况,如下图所示。
开通实例级别指标前,需先开通日志功能。具体操作,请参见配置日志。
为指标设定告警规则。
如果您想监控某个指标,如内存使用情况、vCPU使用情况等,可以单击指标右上角的,跳转到创建指标告警规则面板,根据界面提示设置告警条件和阈值,然后单击确定。
关于告警规则的设置,请参见下图。下图中参数设置值表示当函数异步调用积压数大于等于5条时,将全天候通过钉钉、邮件、电话和Webhook的方式上报中级告警到联系人。
结合云工作流,函数的异步调用可以应用于大规模复杂场景的任务流程。您可以使用顺序、分支和并行等方式来编排函数计算异步任务,云工作流会按照设定好的步骤可靠地协调任务执行,跟踪每个任务的状态转换,并在必要时执行您定义的重试逻辑,以确保任务顺利完成。更多信息,请参见集成函数计算。
创建异步任务。具体操作,请参见任务管理。
授予函数计算访问Serverless 工作流的权限。具体操作,请参见授予函数计算访问其他云服务的权限。
登录云工作流控制台,然后在顶部菜单栏,选择地域。
在左侧导航栏,选择工作流列表,然后在工作流列表页面,单击创建工作流。
在创建工作流对话框,选择创建工作流的方式,然后选择要创建的工作流的模式。
云工作流支持创建标准和快速两种模式的工作流,关于两种模式的更多信息,请参见标准工作流和快速工作流。更多操作,请参见基于空白画布创建工作流。
编辑上一步创建的工作流。
编辑流程。
您可以选择CloudFlow Studio编辑或YAML编辑两种方式,本文以YAML编辑方式为例进行介绍。
在流程详情页面右上角,单击YAML,在左侧代码编辑框内输入流程定义语言,然后单击保存。
示例如下。
Type: StateMachine
Name: MyFlow
SpecVersion: v1
StartAt: InvokeFunction
States:
- Type: Task
Name: InvokeFunction
Action: FC:InvokeFunction
TaskMode: RequestComplete
Parameters:
invocationType: Async
resourceArn: acs:fc:us-west-1:103435468****:functions/func-i1****/LATEST
End: true
配置流程角色。
在流程详情页面右上角,单击工作流配置,选择执行角色,然后单击保存。
请确保为流程配置的角色已被授予AliyunFCInvocationAccess权限策略。
在流程详情页面,您可以单击右上角的执行触发工作流任务进行测试。