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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值