Aws在Python中的IOT工作

时间:2018-05-03 12:32:43

标签: python aws-sdk boto3 aws-iot

我使用boto3创建了一份工作

import org.apache.spark._
import org.apache.spark.graphx._
import org.apache.spark.rdd.RDD
import scala.util.hashing.MurmurHash3

val data = Seq(
    (10, 11, 12, 1, 2),
    (10, 11, 13, 1, 3),
    (10, 11, 14, 1, 4),
    (10, 11, 15, 2, 3),
    (10, 11, 16, 2, 4)
)

val df = sc.parallelize(data).toDF


val ed = df.rdd.
            map(x =>((MurmurHash3.stringHash(x.getString(3)), MurmurHash3.stringHash(x.getString(4))), (x.getInt(0), x.getInt(1), x.getInt(2)))).
            map(x => Edge(x._1._1, x._1._2, x._2))

val graph = Graph.fromEdges(ed, 0)

graph.subgraph( epred=(triplet) => triplet.attr._3 > 5)

我创建了一个订阅听取响应的python程序

import boto3 

client = boto3.client('iot')
response = client.create_job(
    jobId='job_id',
    targets=[
        'thing_arn',
    ],
    document="{\"operation\":\"restart\"}",
    description='job created using boto',
    targetSelection='SNAPSHOT'
)

当我听到上面提到的话题时,没有任何回复。我也用aws iot console(TEST)检查了它并订阅了上面给出的主题也没有任何响应。如何将作业发送到注册的iot设备和在哪个主题上将作业详细信息发送到该设备

1 个答案:

答案 0 :(得分:1)

对于谁仍在绊倒这个问题,迟到总比没有好。

确保主题中包含$。这就是我的问题所在。

响应返回到/accepted/rejected(对于它们的组合,返回/#)。

您还可能希望订阅主题$aws/events/#,以便在测试时检查设备是否订阅了主题。

This示例可能会帮助您。