我想知道如何在不使用AWS Web界面的情况下通过API在AWS IoT解决方案中创建许多“事物”,因为如果我想要数以千计的事情,这是不现实的。我想你可以用这里描述的“http://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html”描述的“aws”客户端编写一些脚本,但如果我想从另一个服务控制它,那就不是最佳的。
我假设会有一个RESTish API来执行此操作但如果我阅读文档似乎不是这样:“您使用AWS IoT控制台或AWS CLI与注册表进行交互。”< / em>的
创造了数千/数百万件事物的人 - 您是如何与AWS IoT互动的?
答案 0 :(得分:2)
好的,我找到了。在这里可以管理所有AWS IoT事物:
http://docs.aws.amazon.com/iot/latest/apireference/API_Operations.html
答案 1 :(得分:2)
anujdeshpande在这方面给出了一些预示。
“自动”表示您可以查看以下步骤:
答案 2 :(得分:1)
另一种有趣的方法是使用即时注册 - 基本上你上传用于在制造时签名密钥的CA证书。
这有一些很棒的优点 -
答案 3 :(得分:1)
以下链接是创建50个Iot设备,并使用AWS Lambda和Amazon DynamoDB实施无服务器AWS IoT后端的示例。您可以根据自己喜欢的数量改变设备;它使用早期版本的AWS Iot Platform完成。看看。
以下是创建50个物联网的代码
var AWS = require('aws-sdk');
AWS.config.region = 'ap-northeast-1';
var crypto = require('crypto');
var endpoint = "<endpoint prefix>.iot.<region>.amazonaws.com";
var iot = new AWS.Iot();
var iotdata = new AWS.IotData({endpoint: endpoint});
var topic = "registration";
var type = "MySmartIoTDevice"
//Create 50 AWS IoT Things
for(var i = 1; i < 51; i++) {
var serialNumber = "SN-"+crypto.randomBytes(Math.ceil(12/2)).toString('hex').slice(0,15).toUpperCase();
var clientId = "ID-"+crypto.randomBytes(Math.ceil(12/2)).toString('hex').slice(0,12).toUpperCase();
var activationCode = "AC-"+crypto.randomBytes(Math.ceil(20/2)).toString('hex').slice(0,20).toUpperCase();
var thing = "myThing"+i.toString();
var thingParams = {
thingName: thing
};
iot.createThing(thingParams).on('success', function(response) {
//Thing Created!
}).on('error', function(response) {
console.log(response);
}).send();
//Checking all devices were created
iot.listThings().on('success', function(response) {
var things = response.data.things;
var myThings = [];
for(var i = 0; i < things.length; i++) {
if (things[i].thingName.includes("myThing")){
myThings[i]=things[i].thingName;
}
}
if (myThings.length == 50){
console.log("myThing1 to 50 created and registered!");
}
}).on('error', function(response) {
console.log(response);
}).send();
答案 4 :(得分:1)
您可以通过使用AWS IoT SDK来做到这一点。您可以找到受支持的AWS IoT SDK here。为此,您将需要适当的凭证和策略,最简单的凭证和策略是AWS账户凭证(访问密钥以及IAM或Cognito用户凭证中的私钥,...)。
要自动创建事物,可以使用Boto3的适用于Python的AWS IoT设备SDK。您可以找到关于它的更多信息here。以下代码显示了使用python和AWS凭证在AWS IoT中自动创建事物的示例:
import boto3
client = boto3.client('iot')
response = client.create_thing(
thingName=[NameOfThing],
thingTypeName=[ThingType],
attributePayload={
'attributes': {
'string': 'string'
},
'merge': True|False
},
billingGroupName='string'
)