检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
ven项目) 开发Java函数,以下给出Demo示例步骤: 创建函数工程 配置idea,创建maven工程,如图1所示。 图1 创建工程 添加工程依赖。 根据Java SDK下载提供的SDK地址,下载JavaRuntime SDK到本地开发环境解压,如图2所示。 图2 下载SDK解压
Python SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Python SDK信息说明 SDK信息 说明 安装 pip install huaweicloudsdkfunctiongraph 相关链接
在跳转界面“主机信息”页签下,单击“导入ECS”。 将部署环境准备的ECS云服务器导入,输入该服务器的用户名、密码、ssh端口号22、勾选《隐私政策声明》,完成后单击“添加”。 图2 导入ECS “连通性验证”显示“验证成功”。 图3 连通性验证成功 父主题: 使用CodeArts托管函数代码
如何配置外网访问? 部署在VPC中的函数默认是和外网隔离开的,如果您想让函数同时具备内网访问和外网访问能力,您可以选择给VPC添加公网NAT网关。 前提条件: 已创建虚拟私有云和子网,请参考创建虚拟私有云基本信息及默认子网。 已申请弹性云公网IP,请参考申请弹性公网IP。 创建公网NAT网关步骤如下:
变量 Serverless Framework提供了一个强大的变量系统,您可以将动态数据添加到serverless.yml中。使用Serverless变量,您将能够执行以下操作: 引用并加载环境变量中的变量。 引用并加载CLI选项中的变量。 递归引用同一serverless.yml文件中的任何类型的属性。
说明 依赖包名称 自定义的依赖包名称,用于识别不同的依赖包。 代码上传方式 分为上传ZIP文件和从OBS上传文件。 上传ZIP文件:需单击“添加文件”,上传ZIP文件。 OBS链接URL:需填写“OBS链接URL”,OBS存储链接获取方法请参见OBS对象存储服务。 运行时语言 选择运行时语言。
Java SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Java SDK信息说明 SDK信息 说明 安装 <dependency> <groupId>com.huaweicloud.sdk</groupId>
Node.js SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Node.js SDK信息说明 SDK信息 说明 安装 npm i @huaweicloud/huaweicloud-sdk-functiongraph
际上传的文件包为准。) 图3 获取OBS存储链接 图4 设置依赖包 进入函数详情页面,在“代码”页签,单击“添加依赖包”,选择4中创建的依赖包,单击“确定”。 图5 添加依赖包 各个依赖包和代码包之间尽量不要有相同的目录或文件,比如依赖包depends.zip,里面有index.
Go SDK使用范例 以同步执行函数为例,提供封装后的SDK。为了保证您成功使用以下示例代码,您需要先添加对应语言的SDK依赖。 表1 Go SDK信息说明 SDK信息 说明 安装 go get -u github.com/huaweicloud/huaweicloud-sdk-go-v3
测试函数 测试托管方式改造函数,调用方法如图1所示。 图1 测试函数调用的方法 调用时,遵循原来的请求方法。 请求url为添加事件源创建的APIG触发器地址。 需要在headers里配置requestPath,值为图1中的@Path(可能会包含一些服务前缀,对应微服务改造之前的请求Path即可),如图2所示。
选择依赖包。 在“代码”页签,添加“huaweicloudsdk_ecs_core_py3.6”依赖包。 添加依赖包详细操作请参见配置函数依赖。 如果您所在区域无法添加“huaweicloudsdk_ecs_core_py3.6”依赖包,请联系客服具体咨询。 添加事件源 创建TIMER触发器,TIMER触发器配置如图4所示。
准备 创建函数及添加事件源之前,需要创建两个OBS桶,分别用来保存用户上传的图片和压缩处理后的图片。 OBS桶创建以后,需要创建“委托”,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源。 创建OBS桶 注意事项 上传图片的源桶、输出图片的目标桶和函数必须处于同一个区域下。
构建程序 创建API分组 创建函数及添加事件源之前,需要先创建一个API分组,API分组是API的管理单元,用来存放API。 您需要拥有一个APIG实例后才能开启API网关服务相关功能,具体请参见购买实例。 登录APIG控制台,在左侧导航栏选择“API管理 > API分组”,单击“创建API分组”。
准备 创建函数及添加事件源之前,需要创建两个OBS桶,分别用来保存用户上传的图片和打水印后输出的图片。 OBS桶创建以后,需要创建委托,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源。 创建OBS桶 注意事项 上传图片的源桶、输出图片的目标桶和函数必须处于同一个区域下。
案例概述 本章节作为最佳实践的整体介绍,包含以下内容: 场景介绍和案例价值点 准备 构建程序 添加事件源 处理结果 应用扩展 场景介绍 通过云日志服务LTS,快速完成ECS等服务器的任务运行日志的采集、加工和转换。 通过函数工作流服务中的函数创建LTS触发器获取日志数据,经由自定
domain_names String 函数配置的需要支持域名解析的内网域名。 is_return_stream Boolean 是否返回流式数据(已废弃) enable_auth_in_header Boolean 是否允许在请求头中添加鉴权信息,只支持自定义镜像函数 表5 FuncVpc
下一个游标 Records 消息记录(DISRecord结构) MillisBehindLatest 保留字段 表6 DISRecord相关字段说明 字段名 字段描述 PartitionKey 数据分区 Data 数据 SequenceNumber 序列号(每个记录的唯一标识) KAFKA触发器相关字段说明
enable_auth_in_header Boolean 是否允许在请求头中添加鉴权信息,只支持自定义镜像函数 is_stateful_function Boolean 是否支持有状态,v2版本支持 domain_names String 函数配置的需要支持域名解析的内网域名。 enable_auth_in_header
String 起始位置(DIS触发器参数)。 TRIM_HORIZON:从最早被存储至分区的有效记录开始读取。 LATEST:从分区中的最新记录开始读取,此设置可以保证总是读到分区中最新记录。 枚举值: TRIM_HORIZON LATEST polling_unit String 拉取周期单位(DIS触发器参数)。