使用华为云云函数functiongraph

之前使用腾讯云serverless,但是突然开始收费了。所以改用functiongraph

首先登陆华为云。

目录

1.登录华为云

2.在控制台找到functiongraph并开通

3.添加依赖包:

3.1 制作依赖包

3.2引入依赖包

4.发送请求

4.1直接发送

4.1.1uri

4.1.2 请求头

4.1.3 body

4.1.4 Endpoint

4.1.5 测试请求

4.2 通过api网关请求


1.登录华为云

 

2.在控制台找到functiongraph并开通

这里参考这篇博客:

腾讯云函数收费了 改用免费华为云函数 ------以每日签到打卡类、北京某高校每日上报为例_免费云函数-CSDN博客

3.添加依赖包:

3.1 制作依赖包

python参考这个网址:

制作依赖包_函数工作流 FunctionGraph_开发指南_Python (huaweicloud.com)

node.js参考这个网址:

制作依赖包_函数工作流 FunctionGraph_开发指南_Node.js (huaweicloud.com)

3.2引入依赖包

将制作好的zip包上传:

然后就会创建好依赖包,比如我起名为node_mysql的依赖包创建后如图

然后到函数代码页面添加依赖包:

这样就添加成功了。

然后直接在代码中就可以引入:

4.发送请求

4.1直接发送

参考这里:

同步执行函数_函数工作流 FunctionGraph_API参考_API_函数调用 (huaweicloud.com)

4.1.1uri

project_id获取:

这一列就是project_id,选择对应位置的即可。

function_urn:

4.1.2 请求头

这里有一个必要参数:

这里使用iam获取。

参考这里:

获取IAM用户Token(使用密码)_统一身份认证服务 IAM_API参考_API_Token管理 (huaweicloud.com)

IAMDomain获取:

至于IAMPassword就是IAMuser的password

project.name获取:

这里就是前面获取project_id的那张图对应地区的英文名。

然后通过postman发送请求:

这个就是token。

这里需要注意的scope下必须使用project,不然获取的token不能用于连接云函数服务。

4.1.3 body

这个视具体情况而定。

4.1.4 Endpoint

参考这里:

构造请求_函数工作流 FunctionGraph_API参考_如何调用API (huaweicloud.com)

上面的uri只是resource-path,前面还需要endpoint.

上面的例子iam服务的endpoint,functiongraph的endpoint可以在这里获取:

地区和终端节点_OpenAPI_开发者中心-华为云 (huaweicloud.com)

这个就是。前面的区域不固定,例如上海一是cn-east-3也可以使用。

4.1.5 测试请求

这里我在上海一创建一个python函数。

代码:

就是返回请求内容。

这里替换endpoint,project_id, function_urn后完整的url:

https://functiongraph.cn-east-3.myhuaweicloud.com/v2/221028919ee2453b97bdec80a452d4e8/fgs/functions/urn:fss:cn-east-3:221028919ee2453b97bdec80a452d4e8:function:default:test1:latest/invocations

然后还要添加headers中的token:

填入之前获取的token。

然后设置一下body

注意发送post请求,(functiongraph的api好像只支持post)

结果:

请求成功。

4.2 通过api网关请求

由于我之前做过一个小项目需要在浏览器请求云函数。但是涉及到跨域问题。会先发一个prelight request。但是是OPTIONS类型的请求。由于这个functiongraph的api不支持OPTIONS。所以导致prelight request 一直失败。一直提示response中没有"access-contral-all-origin"。但是我的云函数代码中是设置了response中的这个参数的。实际上就是api根本没有返回response,因为它根本不支持options类型的请求。

例如我只改变请求类型:

解决方法就是使用api网关。

这里为function绑定api网关。

这里随便起个名字,如果之前没有创建过分组,就创建一个,这个貌似没啥影响。

然后就创建好了。直接调用那个url就可以请求了。

可以看到返回的内容还是很复杂的,可能通过api后请求event变复杂了吧。

这里我们改一下代码:

好了。

这样就解决了请求方式限制的问题了。同时也可以解决跨域的问题了。

而且通过api网关请求有一个好处,就是url直接给了,不用改project_id等参数了。

而且如果在创建网关时选择安全认证为不认证,甚至不需要token.

例如删掉Header中的token。

然后修改一下网关设置:

点击这里:

之前默认是iam认证,这里改为无认证。然后一直下一步

点击完成

再测试:

成功。

但是这种方式降低了安全性。

这里测试完毕,销毁云函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/718997.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“找不到msvcr90.dll无法启动软件如何解决

msvcr90.dll 是一个属于 Microsoft Visual C 2008 Redistributable Package 的动态链接库(DLL)文件。在Windows操作系统中,许多应用程序特别是那些使用Visual Studio 2008编译器开发的程序,在运行时可能需要调用这个库中的函数和资…

lua调用C++函数

第一步搭建lua的环境. win10 lua环境搭建-CSDN博客 我使用的环境是win10vs2015lua54 先来个最简单的lua调用C函数, 无参数无返回值的 第一步:定义C函数. int CTest(lua_State* L) // 返回值是固定的int类型,返回0表示没有返回参数,返回1表示有一个返回参数 {std::cout &l…

K8S高级篇:138页经典实战案例,图文并茂代码齐全,仅限3天分享

相信很多朋友都听过云原生和容器技术,当然也少不了K8S的大名,在“容器技术革命”中,K8S俨然已经成为容器技术的事实标准,各个知名互联网企业前仆后继地拥抱云原生,争先恐后地把容器和K8S作为战略重心之一。 容器技术发…

WordPress上传图片错误:不是合法的JSON响应

最近在进行WordPress迁移至新服务器的过程中,遭遇到一个棘手的问题,即在编辑文章并上传图片时,不断遭遇“此响应不是合法的JSON响应”的错误。经过多次验证和搜索,最终确定问题的根本原因并不在于禁用 Gutenberg 编辑器或安装经典…

CSS变量和@property

CSS变量 var() CSS 变量是由CSS作者定义的实体,其中包含要在整个文档中重复使用的特定值。使用自定义属性来设置变量名,并使用特定的 var() 来访问。(比如 color: var(--main-color);)。 基本用法 CSS变量定义的作用域只在定义该…

【Kotlin】函数

1 常规函数 1.1 无参函数 fun main() {myFun() }fun myFun() {println("myFun") // 打印: myFun } 1.2 有参函数 1)常规调用 fun main() {myFun("myFun") // 打印: myFun }fun myFun(str: String) {println(str) } 2)形参指定默…

23.基于springboot + vue实现的前后端分离-在线旅游网站系统(项目 + 论文PPT)

项目介绍 本旅游网站系统采用的数据库是MYSQL ,使用 JSP 技术开发,在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。 技术选型 后端: SpringBoot Mybatis 数据库 : MyS…

机器学习:原理、应用与未来展望

第一章 是什么 机器学习(Machine Learning)是一门跨学科的学科,它使用计算机模拟或实现人类学习行为,通过不断地获取新的知识和技能,重新组织已有的知识结构,从而提高自身的性能。机器学习涉及多个学科&am…

wordpress 开源主题

海外就医wordpress主题 出国看病、海外就医是越来越多中产家庭的选择,此wordpress主题适合做相关业务的公司官网。 https://www.jianzhanpress.com/?p5220 防护wordpress外贸主题 个人防护器具wordpress外贸主题,适合做劳动保护的外贸公司使用。 ht…

微信小程序中使用特使字体

1、首先下载字体文件 推荐几个常用下载字体的网站 https://font.chinaz.com/zhongwenziti.html https://www.hellofont.cn/ 2、转换字体 使用下面这个网站进行字体转换 https://transfonter.org/ 点击add fonts 按钮进行上传刚刚下载的字体文件选择formats格式:可…

【生活】程序人生之日常生活篇(附塑料分类标志 常用日常好物)

程序员生活指南之 【生活】程序人生之日常生活篇(附塑料分类标志 & 常用日常好物) 文章目录 1、关于本文2、居家相关2.1 蟑螂大战2.2 房间收纳(寝室,租房,家里)2.3 智能家居2.4 台灯选购2.5 塑料分类标…

教师观包括哪些内容是什么

站在讲台上的老师,除了教你知识,还有哪些不为人知的角色和面孔?让我们一起揭开教师观的神秘面纱,看看老师们的“千面人生”。 现代教师已不再是单纯的知识传递者,他们更像是学习旅程中的导游和指南针。他们引导学生发现…

嵌入式Qt 对话框及其类型 QDialog

一.对话框的概念 对话框是与用户进行简短交互的顶层窗口。 QDialog是Qt中所有对话框窗口的基类。 QDialog继承与QWidfet是一种容器类型的组件。 QDialog的意义: QDialog作为一种专业的交互窗口而存在。 QDialog不能作为子部部件嵌入其他容器中。 QDialog是定制…

反函数的理解|反函数到底“反”的是什么?什么是反函数?

理解 将 yex 函数图像连同整个坐标系绕着 yx 旋转 180 度,会变成下面的图像 只是把图像转了一下,函数还是那个函数,还是 yex ,此时横轴变成了 y 轴,纵轴变成了 x 轴 根据习惯,一般把纵轴当作因变量、把横轴…

JavaScript实现的计时器效果

之前做过电商网站倒计时的效果,今天在倒计时的基础上,把代码修改了一下,改为计时器效果,实现了以下功能: 1.点击“开始”后,按秒计时且“开始”文字变为“停止”; 2.点击“停止”,计…

https【详解】与http的区别,对称加密,非对称加密,证书,解析流程图

http 和 https 的区别 http 是明文传输,敏感信息容易在传输过程中被劫持https http加密,劫持了也无法解密 https 用到的加密方式 https 同时使用了对称加密和非对称加密,之所以没有全部使用非对称加密,是因为非对称加密的运算更加…

【设计模式】观察者模式及函数式编程的替代C++

本文介绍观察者模式以及使用函数式编程替代简单的策略模式。 观察者模式 观察者模式是一种行为型设计模式,它定义了一种一对多的依赖关系,当一个对象的状态发生改变时,其所有依赖者都会收到通知并自动更新。 当对象间存在一对多关系时&#…

Spring中Bean的作用域、实例化方式、生命周期、循环依赖问题

Spring中Bean的作用域、实例化方式、生命周期、循环依赖问题 一、Bean的作用域1.singleton2.prototype3.其他scope值 二、Bean的实例化方式1.通过构造方法实例化2.通过简单工厂模式实例化3.通过factory-bean实例化4.通过FactoryBean接口实例化5.BeanFactory和FactoryBean的区别…

【大厂AI课学习笔记NO.60】(13)模型泛化性的评价

我们学习了过拟合和欠拟合,具体见我的文章:https://giszz.blog.csdn.net/article/details/136440338 那么今天,我们来学习模型泛化性的评价。 泛化性的问题,我们也讨论过了,那么如何评价模型的泛化性呢? …

激光SLAM技术助力富唯智能复合机器人的应用场景无限拓展

随着科技的不断进步,智能机器人已成为现代工业、服务、医疗等多个领域的重要角色。而在这一变革中,激光SLAM技术发挥着至关重要的作用。特别是对于富唯智能复合机器人来说,激光SLAM技术不仅提升了其智能化水平,更使其应用场景变得…