检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
如果您选择华为云作为提供商,则服务中的events仅限于华为云API网关(APIG)和OBS,具体详情请参见事件列表。 部署后,Framework将设置您的function应该侦听的相应事件配置。
将FunctionGraph资源委托给更专业、高效的其他华为云账号或者云服务,这些账号或者云服务可以根据权限进行代运维。 如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章节,不影响您使用FunctionGraph服务的其它功能。
事件 任何触发华为云函数工作流的函数执行的事物都被Framework视为事件。事件是指华为云函数工作流上的平台事件,例如:API网关服务和API(例如,REST API)、OBS桶(例如,上传到桶中的镜像)等等。
服务韧性 华为云数据中心按规则部署在全球各地,所有数据中心都处于正常运营状态,无一闲置。数据中心互为灾备中心,如一地出现故障,系统在满足合规政策前提下自动将客户应用和数据转离受影响区域,保证业务的连续性。
APIG网关事件 华为云函数工作流可以通过API网关(APIG)创建基于函数的API终端节点。 要创建HTTP终端节点作为华为云函数工作流的事件源,请使用http事件语法。 HTTP终端节点 此设置指定当有人通过GET请求访问函数API终端节点时,应运行first函数。
运行向华为云发出请求的Serverless命令,需要在您的计算机上设置华为云凭证,具体详情请参考设置华为云凭证。
案例描述 华为云DEW通过使用硬件安全模块HSM(Hardware Security Module, HSM)保护密钥的安全,所有的用户密钥都由HSM中的根密钥保护,避免密钥泄露。
serverless create --template-url https://github.com/zy-linn/examples/tree/v3/legacy/huawei-nodejs --path my-service 选项 --template-url或-u:指向远程托管模板的
下载云端函数 前提 用户已添加获取桶对象(obs:object:GetObject)的权限。 选择您需要操作的函数,鼠标右键单击“Download...”,选择您要下载的路径,函数代码会从云端下载到本地并自动打开入口文件。
将“nextjs-node-modules.zip”上传到华为云“上海一”的任意OBS桶中,并复制其链接备用,更多详情请参见上传对象。
通过托管模式进行Serverless化改造,业务改动少,单函数可支持多业务接口;通过独立函数方式进行改造,接口可独立发布,业务更加灵活,函数冷启动时间快。 实现流程 准备好应用程序所需的后端服务,如数据库、Redis等。
部署 serverless deploy命令通过华为云API部署整个服务。当您编辑serverless.yml文件更改了服务时,请运行此命令。
如果使用非华为云注册的域名,可参考创建非华为云注册的域名进行操作。 图3 管理解析 如图4所示,在“解析记录”页签下,单击“添加记录集”。 图4 添加记录集 在右侧弹出的“添加记录集”窗口配置以下信息: 记录类型:选择“CNAME - 将域名指向另外一个域名”。
进入dew-bucket-output桶对象界面,可以看到输出的图片image.jpg.encrypt,如图2所示。单击操作列的“下载”可将文件下载至本地查看处理效果。 图2 输出文件 父主题: 使用FunctionGraph函数对OBS中的文件进行加解密
触发器类型选择“OBS应用事件源”,填写触发器配置信息,如图1所示。 触发器名称:自定义。 桶:选择创建OBS桶中创建的“hugb-bucket-input”桶。 事件类型:选择“通过页面或Put请求创建或覆盖桶对象。”、“使用Post请求创建或覆盖桶对象。”。
触发器类型选择“OBS应用事件源”,填写触发器配置信息,如图1所示。 桶选择创建OBS桶中创建的“input_bucket”桶。 事件选择“通过页面或Put请求创建或覆盖桶对象”和“使用Post请求创建或覆盖桶对象”。 图1 创建OBS应用事件源 单击“确定”,完成触发器创建。
编写函数资源脚本 华为云在Terraform已经注册了provider,函数作为资源挂在华为云的provider下。
进入hugb-bucket-output桶对象界面,可以看到输出的图片image.jpg,如图2所示。单击操作列的“下载”可将图片下载至本地查看图片处理效果,效果如图3所示。 图2 输出图片 图3 效果图 父主题: 使用FunctionGraph函数为OBS中的图片打水印
提供的接口如下: T Deserialize<T>(Stream ins):反序列化值传递到Function处理程序的对象中。 Stream Serialize<T>(T value):序列化值传递到返回的响应负载中。
上传图片 登录对象存储服务控制台,进入your-bucket-input桶对象界面,上传image.jpeg图片如图1,上传完成后如图2所示。