介绍
Amazon Web Services(AWS)是目前全球最大的云计算服务提供商之一,为了方便管理 AWS 服务的 functionality,AWS 提供了多种编程接口。而 node-red-contrib-simple-aws-sdk
这个 npm 包是一个基于 aws-sdk
的 Node-RED 模块,用来快速集成 AWS 服务到您的 Node-RED 程序中。
在本篇文章中,我们将介绍如何使用 node-red-contrib-simple-aws-sdk
这个 npm 包来连接 AWS 服务,并展示一些示例代码来帮助您更好地了解如何操作 AWS 服务。
安装
在使用 node-red-contrib-simple-aws-sdk
模块之前,您需要完成以下两个步骤:
1. 安装 Node-RED
如果您还没有安装 Node-RED,您需要先安装 Node-RED。安装方式,您可以参考官网指导或者如下方式:
# 使用 npm 全局安装 Node-RED npm install -g node-red
2. 安装 node-red-contrib-simple-aws-sdk
您可以通过 npm 安装 node-red-contrib-simple-aws-sdk
:
# 安装 aws-sdk 和 node-red-contrib-simple-aws-sdk npm install aws-sdk node-red-contrib-simple-aws-sdk --save
教程
现在我们假设您已经完成了安装,并准备连接 AWS 服务。以下是一个连接 S3 服务的示例:
[{"id":"abf19dd4.89777","type":"inject","z":"1caade66.563ee1","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":60,"wires":[["4ee9a4b7.852f38"]]},{"id":"4ee9a4b7.852f38","type":"aws-sdk","z":"1caade66.563ee1","service":"S3","awsSdkConfig":"","name":"s3","x":330,"y":60,"wires":[["cafaaabc.383d8"]]},{"id":"cafaaabc.383d8","type":"debug","z":"1caade66.563ee1","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":490,"y":60,"wires":[]}]
这个示例中,我们向 S3 服务发送了一个注入的信息,并在接收到响应后将其输出到调试窗口。让我们更详细地解释一下如何使用它。
首先,我们使用 inject
节点来发送一个输入。因为我们现在还不知道如何在节点管理器中使用 aws-sdk
,所以我们还无法直接将 aws-sdk
注入到节点中,但我们可以将其添加到 global context
中。
接下来,我们添加一个 aws-sdk
节点,在配置面板中选中我们所需的服务,这里是 S3。然后我们将节点命名为“s3”,这将为我们提供一个能够在 Node-RED 程序中访问 AWS 服务的输出端口。
现在,让我们继续编写 Node-RED 程序以使用 s3
节点的输出。我们添加了一个 debug
节点,以打印 s3
节点的输出。
最后,我们在上述步骤完成后单击“Deploy”按钮。
现在,当我们使用输入节点注入消息时,aws-sdk
将连接到 AWS S3 服务,并调用其 getObject
方法,返回一个包含当前存储桶中所有对象信息的 JSON 对象。在这种情况下,因为我们在调试节点的配置中将“debugger”选项设置为“全局”,所以我们将在左侧调试窗口中看到 JSON 对象。当然,您可以根据需要将此数据输出到 TCP、HTTP 或异步命令中。
结论
在本教程中,我们介绍了如何使用 node-red-contrib-simple-aws-sdk
这个 npm 包来连接 AWS 服务。我们介绍了安装步骤、一个连接 S3 服务的示例,以及一些基本的概念。我们希望这篇文章可以帮助您更好地了解如何操作 AWS 服务和如何使用 node-red-contrib-simple-aws-sdk
包来集成 AWS 服务到您的 Node-RED 程序中。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60065f7d238a385564ab6a80