平台介绍

  • AliGenie 智能应用平台:开发者使用淘宝账号注册登录到该平台即可创建天猫精灵技能等;
  • 开发者云工作平台(简称工作台):开发者可以使用阿里云账号登录到该平台,创建 Serverless 应用,并可进行云端开发部署;
  • Teambition,阿里云企业协同平台,工作台基于 Teambition 平台为用户提供企业协同服务;
  • Codeup,阿里云代码托管平台,工作台上基于 Codeup 平台为用户提供应用代码托管服务;

    阿里云FaaS使用步骤

  1. 天猫精灵应用的开发者在 AliGenie智能应用平台 创建 技能
  2. 在技能回复逻辑中将 默认逻辑阿里云FaaS 设为默认集合,
  3. 点击开通,进入 云开发 工作台;
  4. 工作台 创建对应的 Serverless应用
  5. 开发并测试 Serverless应用
  6. 技能 发布后,用户在使用技能时,天猫精灵将调用 Serverless应用 提供服务意图的后台服务。

    一. 在 AliGenie 智能应用平台创建技能

    使用淘宝账号登录 AliGenie 智能应用平台。请参考文档【成为开发者
    阿里云 FaaS 服务 - 图1
    创建技能后,首先创建一个默认意图。然后在 回复逻辑 中将 默认逻辑阿里云FaaS 设为默认集合。
    阿里云 FaaS 服务 - 图2
    点击 默认逻辑阿里云FaaS 左边的 “ + “,技能首次使用 阿里云FaaS 功能需要先 开通
    阿里云 FaaS 服务 - 图3

    二. 授权

    点击 开通 按钮,会引导您使用淘宝账号登录到阿里云。输入您登录 AliGenie智能应用平台 的淘宝账号信息并 确认授权
    阿里云 FaaS 服务 - 图4

    三. 绑定阿里云账号

    第一次确认授权后,需要为您做授权的淘宝账号绑定阿里云账号。之后再确认授权时,就会直接使用绑定的阿里云账号登录。
    如果您之前没有阿里云账号,选择 快速注册 ,按提示完善信息,点击 注册并绑定
    阿里云 FaaS 服务 - 图5
    如果您之前就有阿里云主账号,可以选择 绑定已有阿里云账号,按提示填写账号信息,点击 登录并绑定
    阿里云 FaaS 服务 - 图6

    四. 创建开发团队

    创建一个企业,输入您的团队或企业名称。团队使用规模请选择 1-10 人。如果超过此规模,涉及的代码托管等服务可能需要您额外付费才能使用。
    阿里云 FaaS 服务 - 图7
    点击 完成创建 之后,进入创建的 (xxx)开发团队 需要您签署《云开发平台服务协议》,签署之后就可以免费使用云开发平台进行服务开发了。
    阿里云 FaaS 服务 - 图8

    五. 进行实名认证

    开发前需要先进行实名认证,认证方式请参考云开发平台的认证文档。
    阿里云 FaaS 服务 - 图9

    六. 创建应用

    认证完成后点击新建应用
    阿里云 FaaS 服务 - 图10
    创建应用Step1要先进行服务授权
    阿里云 FaaS 服务 - 图11
    Step2中选择开发语言,开发语言按照您使用何种语言进行选择,Java语言没有提供模板,只能选择“天猫精灵智能应用解决方案(For Java)”。Python 和 PHP 语言暂时没有提供天猫精灵智能应用解决方案,请不要选择这两种语言。
    阿里云 FaaS 服务 - 图12
    NodeJs语言可以选择天猫精灵提供的“8分钟电影”模板,也可以选择解决方案中的“天猫精灵智能应用解决方案(For NodeJS)”;
    阿里云 FaaS 服务 - 图13阿里云 FaaS 服务 - 图14
    Step3中选择产品线创建方式计算服务,产品线有自动和手动2种方式进行选择,计算服务可以选择 FC(函数型Serverless)。
    阿里云 FaaS 服务 - 图15
    Step4中显示的是云应用所依赖的云服务开通情况和资费参考价格。点击完成即可创建云应用。
    阿里云 FaaS 服务 - 图16

    七. 开通云服务

    环境管理中,依赖的云服务 是必选项。您只有开通这些云服务,才能开始开发应用,请按照提示逐个完成这些云服务的开通。
    阿里云 FaaS 服务 - 图17
    PS: 这里之前开通过,所以显示已开通。对于第一次创建的云应用会显示未开通,需要将这四个云服务开通。
    阿里云 FaaS 服务 - 图18

    八. 开发应用

    应用开发请参考阿里云应用开发文档-开发应用】,点击在线开发部署,打开 CloudIDE,等待应用开发环境启动。
    阿里云 FaaS 服务 - 图19
    进入 CloudIDE 后,所在的资源管理器中,会为你把应用的初始代码准备好,您可以直接在示例代码上进行开发。
    阿里云 FaaS 服务 - 图20
    开发完成后要把代码提交到仓库中,不然进来就没有了。1.点击源代码管理。2点击提交按钮
    阿里云 FaaS 服务 - 图21
    阿里云 FaaS 服务 - 图22

    九. 部署

    应用开发请参考阿里云应用开发文档-部署与测试
    开发完之后,点击左侧的 部署调试插件,即可进行部署调试。
    阿里云 FaaS 服务 - 图23
    打开 CloudIDE 左侧的 部署调试插件,进入到部署面板,我们提供 日常预发线上 三套环境供您使用,测试时对应的是预发环境,技能上线后,走线上环境阿里云 FaaS 服务 - 图24
    选择要部署的环境,检查 路由、函数映射表,确认无误后点 部署。
    请一定要检查 路由、函数映射表 中的数据是否正确。路由、函数映射表中会有一条默认的路由信息(如果没有请手动添加),每一个路由有三个字段:

  7. 第一个字段表示的是应用访问的路径,格式为:/skill-67954/entry,其中数字 67954 为智能应用平台上此应用的技能id,可以通过应用控制台的浏览器地址栏中查看此应用的技能id,例如:https://iap.aligenie.com/console/newskill/67954/basic?id=2020123022014,则此应用的技能id为67954。

  8. 第二个字段表示某个文件的函数入口。
  9. 如果选择Java语言,此数据为:com.alibaba.ailabs.GenieEntry::handleRequest,表示当应用发布之后,天猫精灵这边的请求会发送到com.alibaba.ailabs.GenieEntry类的handleRequest方法,handleRequest是从AbstractEntry类中继承的方法,请不要重写此方法。
  10. 如果选择NodeJS语言,此数据为:index.handler,表示含义和上面类似。
  11. 第三个字段表示请求的类型,这里只能是post类型,请不要修改。

阿里云 FaaS 服务 - 图25
PS: 在 部署日志 标签页可以看到部署的进度以及部署是否成功。
阿里云 FaaS 服务 - 图26

十. 调试

部署成功之后,就可以切换到 调试 面板,进行调试了。
阿里云 FaaS 服务 - 图27
选择好要调试的环境,先选择用户路径(发布时路由里的应用访问路径),输入请求头和入参(如果没有的话可以输入 {} 空对象)。入参信息请参考【请求响应协议】 —> 【请求数据】。
点击 测试 即可在右侧看到对这个路径的请求结果。
阿里云 FaaS 服务 - 图28
当请求测试的结果都符合预期,你就可以最终将应用部署到线上环境,进行下一步的技能测试。

十一. 线上部署

当选择线上环境部署时,如果有以下提示:
阿里云 FaaS 服务 - 图29
请先在应用管理中进行部署配置,同时可以到域名配置中进行自定义域名配置。PS: 因为平台默认自动生成一个域名,域名的格式为:production-67954.tmallgenieapi.com。
线上环境绑定域名部署还可以参考阿里云应用开发文档-绑定域名部署线上环境
阿里云 FaaS 服务 - 图30
线上部署后,就可以回到智能应用平台上对应用在线测试,进入应用在线测试页面,输入调用词测试能否正常收到Faas服务的响应数据。
阿里云 FaaS 服务 - 图31
之后就可以进行应用后台逻辑开发和应用上线发布了,具体开发和发布的相关内容,请参考其他文档。

十二. 查看日志

查看日志需要跳转到阿里云的控制台(不是云开发控制台)-日志服务,目前使用技能的测试环境线上环境,访问的都是阿里云faas服务的线上环境,
阿里云 FaaS 服务 - 图32
进入日志服务后找到自己创建的应用
阿里云 FaaS 服务 - 图33
点击进入就可以查看日志了
阿里云 FaaS 服务 - 图34