变量主要用于存储和传递数据。物联网应用开发(IoT Studio)的业务逻辑提供了变量配置功能,您可在业务服务编辑页面配置全局变量和局部变量。

使用限制

针对全局和局部变量配置,每个项目中支持最多添加变量总个数为20。

添加变量

  1. 创建业务服务。详细操作请参见创建业务服务
  2. 在业务逻辑编辑页面,单击右上角的变量配置按钮变量配置
  3. 在变量配置面板,单击+变量
    变量
  4. 添加变量对话框中,配置参数项。
    添加参数
    参数 说明
    变量名称 用于表示变量。包含英文字母、数字和下划线,必须以字母开头,长度不超过50个字符。

    在同一项目下,全局变量名称需全局唯一,局部变量名称可在不同服务中重复。同一服务中,全局变量和局部变量名称不可重复。

    变量类型 可选:
    • 全局变量:应用于项目下的所有业务服务中。
    • 局部变量:仅应用于当前业务服务。
    数据类型 可选:Num(数值型)、String(字符型)、Boolean(布尔型)、Array(数组)、JSON(结构体)。

    创建后,不支持修改。

    默认值 变量的初始值。

    在业务服务开发、运行过程,支持重置变量值为默认值,详情请参见下文的变量值重置说明

    描述 可描述变量用途等信息,方便大型服务的维护。
    加密 当变量存储机密信息(账号、密码、身份证号、手机号等)时,可选中加密。此时,在运行日志中,加密后的变量值会显示为一段字符串,可防止私密数据的泄露。

    示例

    • imageURL:图片链接,不加密,默认值为https://www.test.com/***
    • idCardNum:身份证号,加密,默认值为真实身份证号码。

    如下所示,运行日志中imageURL显示配置值,idCardNum显示了一段字符串。

    "变量":{
    "imageURL":"https://www.test.com/***"
    "idCardNum":"VOtCb21WWJleCKQDLReIJi34Ct5zfy+0japG4fuzEig="
    }
    说明 加密功能支持在变量传递过程中加密变量值,使用时再进行解密。加解密过程会稍微延长服务执行时间。
  5. 单击保存
    创建成功后,可在变量面板中看到已添加的变量,支持编辑(修改默认值、描述、是否加密)或删除。

    您可通过选择变量类型或输入关键字,搜索变量。

    变量列表

变量值重置说明

变量值是否重置为默认值见下表,其中:

  • √:表示会重置变量值为默认值。
  • -:表示当前变量值不受操作影响。
表 1. 全局变量
操作 测试环境 正式环境
编辑变量
部署服务 - -
发布服务 - -
单击重置全局变量 -
说明 您可在项目详情主页业务服务页签下找到重置全局变量按钮。
表 2. 局部变量
操作 测试环境 正式环境
编辑变量 - -
部署服务 -
发布服务 -

使用变量

您可在配置服务节点时,将变量作为参数使用,或使用变量设置节点,修改并传递变量值。

示例

下文以一个会议签到的案例,向您展示如何使用全局变量进行计数。

场景:会议签到场景中,到场人员在签到设备(读卡器)中刷卡入会,统计参会人数,并在钉钉群中推送签到人数的消息。

  1. 物联网平台控制台左侧导航栏,单击IoT Studio > 项目管理
  2. 创建项目。操作指导请参见项目
  3. 创建产品与设备。操作指导请参见产品设备
    产品配置:产品名称为读卡器,所属品类为自定义品类,自定义功能属性卡号(cardId)。
  4. 在项目详情主页,选择业务服务,单击新建并选择新建,创建一个业务服务。
    项目中新建业务服务
  5. 在业务逻辑开发页,添加数值型的全局变量count,设置默认值为0,如图所示。
    详细操作请参见本文上方的添加变量count变量
  6. 在业务逻辑开发页,单击左侧的节点按钮,依次拖拽设备触发数值计算变量设置钉钉机器人节点到画布上,并进行连接、配置。
    业务配置
    节点 配置
    设备触发 选择读卡器产品和设备的属性上报类型。
    数值计算 设置全局变量count作为数据源,设备触发后变量值加1。数值计算

    数值计算节点以参数calcul_result输出最终计算结果。

    变量设置 单击+变量,将变量count值设置为数值计算节点的结果calcul_result值,实现人数的递增统计。赋值变量
    说明 变量设置节点输出结果的参数字段与其上一个节点输出的参数字段一致。
    钉钉机器人 配置钉钉群机器人的Webhook地址。详细操作请参见创建钉钉机器人

    配置方法为自定义的text。

    {
      "msgtype": "text",
      "text": {
        "content": "签到次数为{{payload.calcul_result}}"
      }
    }
    说明 payload.calcul_result表示输出上一个变量设置节点的设置结果。
  7. 依次单击页面右上角保存部署启动调试按钮。
  8. 单击前往,在监控运维 > 在线调试页面,选择调试虚拟设备
    下图示例中,模拟用户刷卡签到三次,即推送CardId的值三次。调试示例
    钉钉消息群接收到提示消息。消息提示