建立无服务器的“ Hello World”功能

无服务器 ,功能即服务(FaaS)或仅具有云功能,就可以编写将在云中运行的代码。 您可以使用多种不同的语言(例如JavaScript(Node.js),Swift,Python,Java,PHP和其他语言)编写功能代码。 很好的是,您不必担心服务器,容器,部署等问题。您编写代码,云平台将确保其执行!

在此博客文章中,您将学习如何构建Hello World函数。 您将使用IBM Cloud Functions来构建和运行该功能(最后有关更多信息)。 现在,让我们跳到创建第一个函数。

创建和测试云功能

在本节中,您将创建并测试新功能。

      1. 注册免费的Lite IBM Cloud帐户或登录现有帐户
      2. 点击目录
      3. 删除label:lite过滤器,然后单击Enter更新服务列表
      4. 输入函数并单击Enter
      5. 单击功能
        创建一个新功能

        创建一个新功能

      6. 单击开始创建按钮
      7. 单击创建动作选项
      8. 输入“ helloworld”作为“动作名称”
        1. 保留附件包的默认值。
        2. 对于Runtime ,还要保留Node.js的默认值
      9. 单击创建按钮。 具有功能代码的代码编辑器将加载,如下所示:
        功能码

        功能码

        • 您没有使用模板,但是即使默认功能也附带了最基本JavaScript代码,该代码返回Hello World
        • 该功能称为main
        • params对象允许将参数传递到函数中。 我将在另一篇博客文章中介绍。
        • return返回带有函数响应的JSON对象。 在这种情况下,它只是一个简单的文本。
          下一步是测试功能。
      10. 单击“ 调用”按钮(在编辑器的右上方)。 结果应如下所示:
      无服务器

      功能响应

您刚刚创建了一个新的云功能(您没有编写任何代码,但是现在还可以),并且还可以在云中测试该功能。

您很可能希望将此功能作为REST API调用。 幸运的是,这很容易做到。

作为REST API调用

在本节中,您将作为REST API调用该函数。

  1. 在左侧,单击“ 端点”
  2. CURL部分,您将看到curl命令来调用此函数。 单击眼睛图标以显示用户名/密码。 基本身份验证用于保护此功能
    无服务器

    curl命令

  3. 单击复制图标以复制curl命令
  4. 打开“ 终端”窗口,然后粘贴curl命令。 您应该从API(函数)中看到完整的JSON响应:
无服务器

函数响应(JSON格式为jsonlint.com)

也可以直接从浏览器地址栏中调用功能API。 为此,请以以下格式设置URL的格式:

https://username:password@openwhisk.ng.bluemix.net/api/v1/namespaces/maxkatzorg_dev/actions/hello?blocking=true

用实际值替换用户名密码 。 单击eye-icon,您将能够看到这些值。 从Chrome运行时的外观如下:

从浏览器调用

作为Web操作调用

在本节中,您将学习如何将函数作为Web动作调用。 Web Action非常类似于您在没有身份验证的情况下在上一节中调用的API。 在Web Action中,身份验证取决于开发人员。

      1. 单击端点选项卡
      2. 选中“ 作为Web操作启用”复选框
      3. 点击保存按钮
      4. 复制URL ,然后将其粘贴到浏览器地址栏中。 您应该在浏览器中看到以下内容:
        {"message": "Hello World"
        }

        如果您使用最新版本的Firefox,则应该看到此输出的格式化版本(由于Firefox的内置工具)

IBM Cloud功能

在这篇博客文章中,我使用了IBM Cloud Functions来创建云功能。 IBM Cloud Functions基于流行的开源Apache OpenWhisk项目 。

摘要

在此博客文章中,您学习了如何构建第一个云功能。 它既快速又简单。 现在,这个空间并不新鲜(大多数人可能会想到)。 可以执行代码的基于云的环境已经成为后端即服务 (BaaS)或移动后端即服务 (mBaas)类型的公司的一部分。 公司如解析 (被Facebook收购,然后开源), StackMob (贝宝收购) Kinvey (由进步收购)和Appery.io提供(Appery.io和Kinvey提供今天)的选项来写,并在云中执行代码不用担心服务器。 您确实对资源和不同的定价结构有一些限制。 这是另一篇博客文章的主题。

翻译自: https://www.javacodegeeks.com/2018/07/serverless-hello-world-function.html

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

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

相关文章

oracle 10g 分区管理,Oracle 10g分区表的自动维护

Oracle 10g分区表不支持自动化管理,一般都要手动创建分区,手动删除。今天给大家带来了一个自动化管理表空间的脚本。本脚本主要由3个部分组成:sys_ConfigTable.sql、sys_pro_AddAndDropPartition.sql、sys_pro_MergeTable.sql1、sys_ConfigTa…

java实现metro风格_Metro风格的Java组合框(JMetro)–重新介绍

java实现metro风格我上一篇关于JMetro的文章–我的都市风格的Java皮肤(或外观)是关于日历选择器控件的 。 我本打算使用Tom Eugelink不错的日历选择器,但当时我了解到它是由Oracle创建并随Java 8一起提供的,因此出于时间的考虑&am…

toad查看oracle的plsql包,Oracle logminer 分析redo log(TOAD与PLSQL)

Oracle logminer 分析redo logOracle 11g r2 RAC centos 6.5设置时间格式select to_char(sysdate,yyyy-mm-dd hh24:mi:ss) date_format from dual ;查看数据库是否开启补全日志功能selectSUPPLEMENTAL_LOG_DATA_MIN,SUPPLEMENTAL_LOG_DATA_PK,SUPPLEMENTAL_LOG_DATA_UI,SUPPLEM…

Nutshell中的Java 8语言功能-第2部分

编者注:您也可以在此处检查Part-1。 嗨,朋友们,这是简明系列的Java 8语言功能的第2部分。 在这里,我们将讨论Java 8的以下功能: 接口中的静态方法 流 1.接口中的静态方法 什么是静态方法? 静态方法是属…

梯度下降法、最速下降法

梯度下降法 最优化问题是求解函数极值的问题,包括极大值和极小值。相信所有的读者对这个问题都不陌生,在初中时我们就学会了求解二次函数的极值(抛物线的顶点),高中时学习了幂函数,指数函数,对…

超越函数

代数数 在数论中,超越数是指任何一个不是代数数的数字(通常它是复数)。它满足以下条件——只要它不是任何一个整系数代数方程的根,它即是超越数。最著名的超越数是e以及π。 超越数 超越数的例子 所有超越数构成的集是一个不可数…

只需5分钟即可启动并运行分层架构:: Spring Boot第1部分

这是一个分为两部分的系列,其中我将展示如何使用Spring Boot创建分层架构。 什么是分层体系结构:简而言之,当我们构建企业应用程序时,我们维护不同的层以封装特定于层的逻辑,这样就不会溢出到另一层。 当我们考虑企业…

linux设置默认的首页文件,Linux 设置Firefox主页

Linux 设置Firefox主页在Linux系统中,当用户启动Firefox主页时,会自动打开Firefox默认设置的主页。当然,用户也可以通过Firefox的首选项,手动将Firefox主页设置为自己喜欢的或经常访问的网页。在本单元练习中,将Firefo…

向量范数与矩阵范数

一、向量的范数 1.1 定义 1.2 举例 首先定义一个向量为:a[-5,6,8, -10] 1.2.1 向量的1范数 向量的1范数即:向量的各个元素的绝对值之和,上述向量a的1范数结果就是:29,MATLAB代码实现为&…

苹果linux桌面文件夹,Ubuntu 10.04下一键安装Mac OS X主题桌面

不久前的《Ubuntu 10.04下Mac OS X风格桌面美化安装》遭到网友的砖头,认为和Mac OS X风格桌面美化安装根本没有关系。本来是要跟这篇一起发布的,一等就等了这么长,下面我们来看下在Ubuntu 10.04下一键安装Mac OS X主题桌面的工具Epidermis th…

示性函数、共轭函数、对偶范数、共轭

示性函数(Indicator function) 共轭函数 对偶范数 几个常用公式 共轭(conjugate) 所谓“轭”,指的是古代牛车上放在并行的牛脖颈上的曲木。共轭关系,通俗来说一般用以描述两件事物以一定规律相互配对或孪生(一般共轭对…

Redis-实践知识

转自极客时间Redis 亚风 原文视频:https://u.geekbang.org/lesson/535?article681062 Redis最佳实践 普通KEY Redis 的key虽然可以自定义,但是最好遵循下面几个实践的约定: 格式:[业务名称]:[数据名]:[id] 长度不超过44字节 不…

MicroProfile OpenAPI上的Swagger UI

MicroProfile OpenApi为我们提供了一种使用OpenApi 3描述我们JAX-RS API的标准化方法。如果您以前使用过swagger-jaxrs和swagger-annotations ,由于OpenApi是基于Swagger构建的,因此您会感到非常熟悉。 2015年11月5日,SmartBear与3Scale&…

linux 跟踪内存,用strace跟踪malloc内存分配

strace介绍strace是一个非常有用的命令,它用于记录和跟踪程序运行期间收到的信号和调用的系统调用。strace的简单使用ubuntu64:~$ strace cat /dev/nullexecve("/bin/cat", ["cat", "/dev/null"], [/* 32 vars */]) 0brk(NULL) 0x1…

归一化、标准化和正则化

归一化 Normalization 归一化一般是将数据映射到指定的范围,用于去除不同维度数据的量纲以及量纲单位。 常见的映射范围有 [0, 1] 和 [-1, 1] ,最常见的归一化方法就是 Min-Max 归一化: 举个例子,我们判断一个人的身体状况是否健…

slf4j绑定器_用于ADFLogger的SLF4J绑定–缺少的部分

slf4j绑定器由于最好的原因,在我的日常工作中,我希望为ADF Logger Oracle ADF提供一个SLF4J适配器。 毫不奇怪,slf4j没有用于ADFLogger的适配器,但是由于ADFLogger只是Java Util Logging的轻巧包装,因此花了一个多小时…

核心网

在我们正式讲解之前,我想通过这张网络简图帮助大家认识一下全网的网络架构,通过对全网架构的了解,将方便您对后面每一块网络细节的理解。 这张图分为左右两部分,右边为无线侧网络架构,左边为固定侧网络架构。 无线侧…

JDK 11:轻松取出单文件Java源代码程序

JDK 11 Early Access Builds包含与JEP 330相关的预览功能(“启动单个文件源代码程序”)。 我之前在“ Shebang即将来到Java? ”和“ 为JDK 11提议的JEP 329和JEP 330 ”,由于JDK 11 Early Access Builds,在这篇文章中…

瑞利、莱斯与Nakagami-m信道衰落模型

一、信道的定义与调制信道的数学模型 1.信道的定义与分类 信道(Channel)是指以传输媒质为基础的信号通道。根据新到的定义,如果信道仅是指信号的传输媒质,这种信道称为狭义信道;如果这种信道不仅是传输媒质&#xff…