首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OneM2M,IOTKETI检索组成员ContentInstances

OneM2M,IOTKETI检索组成员ContentInstances
EN

Stack Overflow用户
提问于 2020-05-10 09:41:01
回答 2查看 313关注 0票数 2

在我的示例体系结构中,我有一个IN-Mobius和一个ADN Thyme (nCube Thyme)。

首先,我创建了一个名为"ae_test_02“的AE,我可以通过邮递员获得这个资源。

在这个步骤之后,我运行ADN Thyme,thyme.js,它创建了一个叫做"thyme_01“的容器,并且我也可以通过邮递员获得这个资源。

同样在这个步骤中,thyme.js将containerInstances添加到"thyme_01“容器中。然后,我可以通过邮差获得最新的带有"/la“参数的/la。

在这一点上,问题已经开始。我创建一个组资源,在创建我尝试过的一对解决方案时,总是失败。我尝试了“中间”属性;

代码语言:javascript
复制
{ "m2m:grp": {
    "rn": "grp_test_100520_08",
    "mt": 3,
    "mid": ["3-20200505012920476/la", 
            "Mobius/3-20200505012920476/la",
            "Mobius/thyme_01/la",
            "Mobius/ae_test_02/3-20200505012920476/la",
            "Mobius/ae_test_02/thyme_01/la",
            "ae_test_02/thyme_01/la",
            "ae_test_02/3-20200505012920476/la"],
    "mnm": 10
}

问题是,我一条又一条地尝试了这些中间路线,但从来没有起作用。当我试图通过邮递员获得最新的containerInstances时,我使用这个网址,结果是“资源不存在(get_target_url)”。

容器和contentInstances在IN-Mobius中,我向IN-Mobius请求.通过使用这些信息,我应该如何实现组"mid“属性;通过组资源获取containerInstances?

第一次编辑。

你好安德烈亚斯。

对于第一个问题,我可以正确地获得资源。在这一点上,我的目标是在容器中获取containerInstance,它是容器中的一个成员(mid)。

第二,现在我明白了,没有资源,好吗。在您的指导下,我希望将请求传递给资源的所有成员(容器)。为此,我将使用https://localhost:7579/Mobius/grp_test_100520_08/fopt,但它会给出一个错误"ERR_INVALID_ARG_TYPE“。我知道,至少有一个中间结构是正确的,但哪一个是正确的呢?

对于较小的问题,我已经知道资源在中间属性中多次出现,因为我不知道哪一个是正确的嵌入方案?

此外,在创建资源时,资源应该位于ae资源(/ Mobius /ae_test_02/grp_name)或Mobius (/Mobius/grp_name)中。

资源可以直接在IN-Mobius或应该在?fanOutPoint是否仅由外部资源使用,如MN,甚至IN,fopt使用?

第二版。

“百里香”来自nCube Thyme (https://github.com/IoTKETI/nCube-Thyme-Nodejs),它创建一个容器,然后随机创建ContainerInstances。

资源树看起来像;

>> ae_test_02 (AE资源) >> thyme_01 (容器由nCube Thyme https://github.com/IoTKETI/nCube-Thyme-Nodejs创建) >> ContainerInstances

我在>> Mobius >> grp_test_100520_08 (使用的组资源)中也有一个资源

我试过了

{ "m2m:grp":{ "mid":“Mobius/ae_test_02/百里香_01”,"mnm":5}

在这个请求中,fopt.js给出了一个错误“回调不是函数”。

{ "m2m:grp":{ "mid":“ae_test_02/百里香_01”,"mnm":5}

在这个请求中,fopt.js提供相同的“回调不是一个函数”,而是在不同的行中。

我想我的fopt.js文件是旧的,然后我检查了mobius页面并得到了那个文件,但是它没有解决这个问题。

我的资源也是这样;

另外,我的fopt.js文件也是这样;

https://github.com/IoTKETI/Mobius/blob/master/mobius/fopt.js

更新3。

"cnm“属性问题是这样的;在创建资源时,CSE将根据成员大小自动分配"cnm”属性。但是,CSE不会在UPDATE (PUT)请求中处理这个过程。从现在开始,我将创建资源,而不是更新它们。

正如您所提到的,我向组的资源发送请求,但它提供了“回调不是函数”错误。为了解决这个问题,我下载并安装了整个发行版。(https://github.com/IoTKETI/Mobius)在此之后,我将再次执行相同的进程,以理解fopt.js文件行为。结果没有改变,它会产生同样的错误。

我计划在Mobius github页面解释整个情况并创建一个问题。我希望他们能尽快作出回应。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-13 08:31:52

为将来的任何人;正在处理这个问题的人。

问题很简单,在app.js中有4个函数调用(fopt.check)。在调用app.js文件中的函数时,存在5个参数,另一方面,在函数中获取这些参数时,只需要4个参数。由于这个原因,body_obj总是变成“未定义”,然后它就永远不会到达“容器”或"ContainerInstance“源。最近,为了解决这个问题,KETI被发送到Mobius页面(https://github.com/IoTKETI/Mobius/commit/950182b725d5ffc0552119c5c705062958db285f)。它解决了这个问题,除非您使用的是use_secure ==“禁用”。如果您尝试使用use_secure == 'enable‘,您应该添加一个If语句来检查use_secure并添加导入HTTPS模块。

此外,在创建资源时,定义"mid“属性并不十分清楚。现在,如果您想访问(最新的)源,应该为组中的所有成员添加"/la“。这是KETI在Github页面第5期(https://github.com/IoTKETI/Mobius/issues/5#issuecomment-625076540)上推荐的。

最后,谢谢安德烈亚斯·卡夫,你的帮助非常有用。

票数 0
EN

Stack Overflow用户

发布于 2020-05-10 16:21:44

我认为你的例子有两个问题。

第一个问题是请求。您需要区分对资源本身的请求和对资源成员的请求。

资源本身没有子资源。这就是为什么您会收到一条错误消息。如果要将请求传递给资源的所有成员,则需要将虚拟子资源作为目标。在您的例子中,请求应该以URI https://localhost:7579/Mobius/grp_text_100520/fopt为目标。由于您已经拥有作为成员的资源,所以不需要将/la部件添加到请求中。但是,我建议只向组添加资源,并使用目标URI https://localhost:7579/Mobius/grp_text_100520/fopt/la检索每个容器的最新信息。

第二个(较小的)问题是,根据我从示例代码中可以得到的信息,您可以多次向组添加相同的资源,但只能使用不同的寻址方案。请注意,CSE在创建或更新mid属性时必须删除重复资源。

问题更新后的编辑

不太清楚您的资源树是什么样子。因此,也许您应该从一个资源引用开始,然后从那里继续。中间属性中的有效ID要么是结构化的(基本上是rn属性的路径),要么是非结构化ID( ri's)。CSE应该过滤不正确的ID,因此您应该在CREATE请求的结果正文中获得正确的ID集。

顺便说一句“百里香”从哪里来?这只存在于标签中,而标签不构成ID。

关于资源:通常,所有请求都将以资源为目标,但对虚拟资源的请求将被转发给组的成员al。如果mid中引用的资源是可访问的,则转发请求并收集结果,并将其作为原始请求的结果体的一部分。

您还需要小心,并考虑资源类型:只向组成员发送有效请求。

更新2

从资源的mid属性中的it来看,CSE验证了目标(尽管cnm (当前成员数)显然是错误的,这似乎是CSE的一个错误)。

因此,您应该能够像上面讨论的那样向组的资源发送请求。

对于CSE运行时错误,您可能应该联系Mobius开发人员。但我的猜测是,您也许应该下载并安装整个发行版,而不仅仅是一个文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61709911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档