检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用FunctionGraph函数对MFA微服务进行Serverless化改造 使用FunctionGraph函数访问Redis数据 FunctionGraph函数的冷启动优化实践
区寻求帮助或者自行解决,华为云仅提供算力支持。 本实践仅作为简易示例供用户参考和学习,如需应用于实际生产环境,请参考镜像构建工程自行完善和优化。使用过程中遇到的函数工作流问题,可通过提交工单进行咨询。 本应用部署后会为您创建APIG网关,根据有关规定,建议在应用创建成功后根据提示
实例,由函数工作流自动为您分配执行环境。 发布区域:所有部署函数工作流服务的区域均可使用。 预留实例管理 HTTP函数 HTTP函数专注于优化 Web 服务场景,用户可以直接发送 HTTP 请求到 URL 触发函数执行。 发布区域:华北-北京四、华东-上海一、华东-上海二、华南-
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK")
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK")
使用以下触发器的函数默认为异步调用,且不可修改。 云审计服务(CTS) 文档数据库服务(DDS) 数据接入服务(DIS) 分布式消息服务 Kafka版(KAFKA) 分布式消息服务 RabbitMQ版(RABBITMQ) 开源Kafka(OPENSOURCEKAFKA) 云数据库 GeminiDB Mongo 设备接入(IoTDA)
网关服务(APIG专享版) 模拟APIG(专享版)事件,触发函数。 云审计服务(CTS) 模拟CTS事件,触发函数。 文档数据库服务(DDS) 模拟DDS事件,触发函数。 云数据库 GeminiDB Mongo 模拟GeminiDB Mongo事件,触发函数。 数据接入服务(DIS) 模拟DIS事件,触发函数。
/functions/{function_urn}/reservedinstances { "count" : 3 } 响应示例 状态码: 200 OK { "count" : 2 } SDK代码示例 SDK代码示例如下。 Java Python Go 更多 将函数预留实例数量更新为3。
的函数运行。用户可以根据需要编写函数处理这些数据。 通常该组合,可以适用于以下场景,如将设备上报的数据在处理后进行存储到如OBS;对上报的数据进行结构化,清洗然后存储到数据库;根据设备状态变化进行事件通知等。 该案例重点在如何组合IoTDA 与 FunctionGraph,关于如何在IoTDA 以及设备上进行设
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK")
函数监控指标 表1 FunctionGraph支持的监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) count 调用次数 该指标用于统计函数调用次数。 单位:次 ≥ 0 counts 函数 5分钟 failcount 错误次数 该指标用于统计函数调用错误次数。
xx:latest", "condition": "", "approximate_invoke_count": 0 }, "request_payload": "", "response_context": {
可支持多业务接口;通过独立函数方式进行改造,接口可独立发布,业务更加灵活,函数冷启动时间快。 实现流程 准备好应用程序所需的后端服务,如数据库、Redis等。 将应用代码拆分改造成serverless函数,将程序打包,您可参考构建程序。 在函数工作流服务中,创建函数,您可参考构建程序。
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK")
表10 DDS触发器数据说明 字段名称 字段说明 instance_id 文档数据库实例ID collection_name 集合名称 db_name 文档数据库名称 db_password 文档数据库用户密码 batch_size 批次大小 Kafka触发器数据如下。 {
String 文档数据库名称(DDS触发器参数)。 db_password String 文档数据库密码(DDS触发器参数)。 db_user String 文档数据库用户名(DDS触发器参数)。 instance_addrs Array of strings 文档数据库实例地址(DDS触发器参数)。
Array of ListDependenciesResult objects 依赖包列表 next_marker Long 下次读取位置 count Long 依赖包总数 表5 ListDependenciesResult 参数 参数类型 描述 id String 依赖包ID owner
String 文档数据库名称(DDS触发器参数)。 db_password String 文档数据库密码(DDS触发器参数)。 db_user String 文档数据库用户名(DDS触发器参数)。 instance_addrs Array of strings 文档数据库实例地址(DDS触发器参数)。
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK")
相较于私有依赖包,公共依赖包有以下优势: 开箱即用:免去依赖包构建和上传的步骤,直接在函数详情页添加即可使用。无需过多关注如何配置代码运行环境,使您能更专注于代码和业务逻辑的优化。 减少延迟:FunctionGraph将公共依赖缓存在平台内,相较于私有依赖包,代码冷启动时无需额外时间从存储服务获取依赖文件,减少了网络延迟。