写点什么

AWS IoT Things Graph

  • 2019-09-29
  • 本文字数:1567 字

    阅读完需:约 5 分钟

AWS IoT Things Graph

去年 11 月,我们曾宣布要推出 AWS IoT Things Graph,并介绍它是一种可用于直观地构建 IoT 应用程序的工具。今天,我很高兴地告诉大家,该服务现已推出,可供您使用!


正如您将在稍后看到的那样,您可以在由设备和服务组成的流中表示您的业务逻辑。每项 Web 服务和每种类型的设备(传感器、摄像头、显示器等)在 Things Graph 中都表示为模型。这些模型隐藏了具体的设备品牌或型号所特有的实施细节,允许您构建可随硬件而演变的流。每个模型都有一组操作(输入)、事件(输出)和状态(属性)。Things Graph 包含一组预定义的模型,并且允许您定义自己的模型。您还可以在流中使用映射,将一个设备的输出转换为其他设备所需要的形式。构建流后,您可以将其部署到启用 [AWS IoT Greengrass] 的设备以用于本地执行。在流部署完毕之后,会协调本地连接的设备和 Web 服务之间的交互。


使用 AWS IoT Things Graph


我们来快速了解一下 AWS IoT Things Graph 控制台!


第一步是确保我拥有代表我计划在流中使用的设备和 Web 服务的模型。首先,单击控制台导航中的模型:



控制台概述了在创建模型时必须遵循的三个步骤,还列出了我的现有模型:



若上面列出的每个设备的 URN 中存在 aws/examples,则表示它们已经过预定义,并且是公共 AWS IoT Things Graph 命名空间的一部分。我单击摄像头来了解有关此模型的更多信息;我可以看到 属性、操作和事件:



模型是使用 GraphQL 定义的;我可以查看、编辑或上传包含模型定义的文件。摄像头的定义如下:



该模型定义了一个抽象的摄像头设备。然后,该模型可以引用一个或多个实际设备的定义,如设备部分中所列:



每个设备也都使用 GraphQL 定义。特别值得注意的是使用 MQTT 主题和消息来定义操作:



前面,我提到模型还可以表示 Web 服务。在部署引用此类型的模型的流时,激活模型上的操作将调用 Greengrass Lambda 函数。定义 Web 服务的方式如下:



现在,我可以创建一个流。单击导航中的流,然后单击创建流:



对流进行命名并输入描述:



首先,我打开一个空画布,然后将节点(设备、服务或逻辑)拖到其中:



在本演示(在 AWS IoT Things Graph 用户指南中有详细说明)中,我将使用 MotionSensor、摄像头和屏幕:


我通过连接设备来定义流:



然后,我对其进行配置和自定义。由于选择和设置很多,因此我将向您展示其中的一些重点,并建议您参阅用户指南以获取更多信息。我设置了 MotionSensor,以便通过状态更改来启动此流:



我还(未显示)将摄像头配置为执行拍摄操作,并配置屏幕来显示它。我还可以使用预定义的服务:



我还可以将逻辑添加到我的流中:



与模型一样,我的流最终使用 GraphQL 进行定义(如果需要,我可以直接查看和编辑它):



现在,我已定义流,接下来我单击发布,使其可用于部署:



接下来的步骤是:


关联 – 此步骤会将实际的 AWS IoT Thing 分配给设备模型。我选择了 Thing,然后选择一个设备模型,并为我的流中的每个设备模型重复此步骤:



部署 – 我创建一个流配置,在云或 Greengrass 上定位它,并使用它来部署我的流(阅读创建流配置以了解更多信息)。


注意事项


在本文中,我只略作讲述;AWS IoT Things Graph 为您提供了强大的功能和灵活性,更多信息将留待您自己去发现!


这里需要牢记几点:


定价 – 定价基于执行的步骤(针对云部署)或部署(针对边缘部署),已在 AWS IoT Things Graph 定价页面上予以详细说明。


API 访问 – 除了控制台访问外,您还可以使用 AWS IoT Things Graph API 构建模型和流。


区域 – AWS IoT Things Graph 已在 美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、欧洲(爱尔兰)、亚太地区(悉尼)和亚太地区(东京)推出。


作者介绍:


Jeff Barr


AWS 首席布道师; 2004 年开始发布博客,此后便笔耕不辍


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/now-available-aws-iot-things-graph/


2019-09-29 09:18816
用户头像

发布了 1926 篇内容, 共 154.1 次阅读, 收获喜欢 81 次。

关注

评论

发布
暂无评论
发现更多内容

区块链如何切入供应链金融市场?

CECBC

Unix路径是如何简化算法,架构师性能优化 John 易筋 ARTS 打卡 Week 10

John(易筋)

ARTS 打卡计划

LeetCode题解:206. 反转链表,JavaScript,While循环迭代,详细注释

Lee Chen

大前端 LeetCode

安全系列之——RSA的前世今生

诸葛小猿

安全 加密解密 非对称加密 rsa

【API进阶之路】无法想象!大龄码农的硬盘里有这么多宝藏

华为云开发者联盟

容器 层次 API 网关 华为云

股权交易中心+区块链试点将开始

CECBC

防篡改 股权交易 可追溯 信息存证

性能测试 + 操作系统 + 锁

鲁米

设计模式之外观模式解析

Seven七哥

程序员 设计模式 外观模式

面试题:Java 中的 ==, equals 与 hashCode 的区别与联系

简爱W

没想到 Hash 冲突还能这么玩,你的服务中招了吗?

程序猿石头

Java 安全攻防 后端 hashmap hash

如何去学好JS的8条小建议

华为云开发者联盟

html 编程 大前端 js 代码

JVM系列-读懂 GC 日志

Rayjun

Java JVM GC

拥抱400GE新引擎,跨越新基建的时代龙门

脑极体

OMG组织的企业架构建模规范

周金根

编程核心能力之重构

顿晓

学习 重构

Golang新手常犯错误之【循环迭代篇】

卓丁

常见错误 引用迭代 Go 语言

Java架构-代码分层的设计之道

我是苞谷

ARTS WEEK6

紫枫

ARTS 打卡计划

搞事情?Spring Boot今天一口气发布三个版本

YourBatman

Spring Boot 新特性

比 996 更可怕的是职场 PUA

非著名程序员

职场 职场成长 职场误区 职场 PUA

浅析区块链如何改变生活

CECBC

数字银行 供应链 身体监测 资产管理

在线互动课堂低延迟交互利器:高性能异步化设计与监控

徐敏

线程模型 异步 Task 在线课堂

Zookeeper从入门到放弃之Zookeeper典型应用场景

小隐乐乐

zookeeper 分布式 分布式锁

影响企业架构项目成功的8个重要步骤

周金根

应用程序研发之基础知识分层与进化

superman

高并发系统设计要点

南方有乔木兮

Java

癌症筛查清单

Lee Chen

大前端 随笔杂谈

TOGAF实用教程(IT帮)

周金根

企业架构实施简介

周金根

【总结】性能优化2

小胖子

Java架构-不要成为项目风险的奴隶

我是苞谷

Java

AWS IoT Things Graph_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章