建立无服务器的“ 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…

Oracle12如何重装,Oracle怎么重新安装?

实现方法:1、 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务。2、 开始->程序->Oracle - OraHome81&#xff…

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

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

Istio的网络API解释了

Istio 1.0版附带一个网络API,该API包含许多功能并涵盖了各种情况。 联网API在最近几个月中得到了发展,并且可能无法立即说明。 该API的概念和构建块是什么,以及如何使用各个Istio资源类型来通过我们的服务网格路由流量? 尽管文档…

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…

php里面的mark,PHP CommonMarkCQL 用法 手册 | 示例代码

简介CommonMark Query Language is a DSL for describing how to travel through a CommonMark Node tree implemented as a parser and compiler for a small set of instructions, and a virtual machine for executing those instructions.Paths:In its most simplistic for…

spring 面向接口编程_Spring面向方面的编程

spring 面向接口编程介绍 在理想的面向对象系统中,我们希望将每个对象设计为执行一项特定任务。 但是,除了执行其主要任务之外,对象还执行被动任务,例如日志记录,事务,安全性,缓存等。这些被动活…

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

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

概率

概率 概率质量函数(probability mass function, PMF)针对的是离散变量 常见的离散随机变量分布的PMF函数:伯努利分布,二项分布,泊松分布。 概率密度函数(probability density function, PDF)针…

oracle impdp导入时卡住,Oracle:impdp导入等待statement suspended, wait error to be cleared

用数据泵impdp往开发数据库导数据,但导入到INDEX时感觉卡住不动了Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX----查看状态,Completed Objects: 33一直没有变化。Import> statusJob: SYS_IMPORT_FULL_01Operation: IMPORTMode: FULLStat…

梯度下降法、最速下降法

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

php ajax 表格编辑,php ajax表格实时编辑 PHP Ajax实现表格实时编辑

想了解PHP Ajax实现表格实时编辑的相关内容吗,佛祖的腿毛在本文为您仔细讲解php ajax表格实时编辑的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:php,ajax表格实时编辑,ajax实现表格编辑,下面大家一起来学习吧…

jpa和hibernate_使用JPA和Hibernate有效删除数据

jpa和hibernate您可能会遇到必须对关系数据库中存储的大量数据集执行批量删除的情况。 如果您将JPA与Hibernate一起用作基础OR映射器,则可以尝试通过以下方式调用EntityManager的remove()方法: public void removeById(long id) …

超越函数

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

无服务器-仅仅是构建现代应用程序的一种方法?

如果搜索“无服务器”,则会发现无服务器是构建现代应用程序的一种新的流行方式。 无服务器真的是新的吗? 无服务器是指您无需担心服务器的概念-无需置备,部署和维护服务器。 显然有服务器,但是您无需考虑或担心它们,运…

linux查看用户的操作记录,Linux下查看用户登陆后的操作记录

Linux下查看用户登陆后的操作记录  在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录,可是假如一台 服务器多人登陆,一天因为某人误操作了删除了重要的数据。这时候通过…

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

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

机器学习算法、深度学习算法涉及的数学知识

微积分基础 导数的定义 左导数、右导数、可导函数 导数几何意义、物理意义 基本函数求导公式 四则运算法则 复合函数求导法则 神经网络激活函数的导函数求解 高阶导数 导数与函数单调性 极值定理 导数与函数凹凸性 一元函数泰勒展开 线性代数基础 向量与其运算 行向量和列向…

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

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