在我的示例架构中;我有一个 IN-Mobius 和一个 ADN-AE-Thyme (nCube Thyme)。
首先; 我创建了一个名为“ae_test_02”的 AE,我可以通过 Postman 获取此资源。
这一步之后;我运行 ADN-AE-Thyme、thyme.js,它创建了一个名为“thyme_01”的容器,我也可以通过 Postman 获取此资源。
同样在该步骤中,thyme.js 将 containerInstances 添加到“thyme_01”容器中。然后,我可以通过 Postman 获取带有“/la”参数的最新 containerInstance
至此,问题就开始了。我创建了一个组资源,在创建我尝试了几个解决方案时,总是失败。我尝试了“中”属性;
{ "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
}
问题是,我一一尝试了这些中间路径,但从未奏效。当我尝试通过 Postman 获取最新的 containerInstances 时,我使用了这个 URL,结果是“资源不存在(get_target_url)”
IN-Mobius 中的容器和 contentInstances,我向 IN-Mobius 请求。通过使用这些信息,我应该如何实现组“mid”属性;通过组资源获取容器实例?
第一次编辑。
嗨安德烈亚斯。
对于第一个问题,我可以正确获取资源。在这一点上,我的目标是在容器中获取 containerInstance,它是 that 中的成员(中间)。
第二; 现在我明白了,资源中没有现有资源,好吧。正如您所提到的,我想将请求传递给资源的所有成员(容器)。为此,我将使用https://localhost:7579/Mobius/grp_test_100520_08/fopt,但它给出了错误“ERR_INVALID_ARG_TYPE”。我知道,至少一个中间结构是正确的,但哪一个是正确的?
对于较小的问题,我已经知道在 mid 属性中多次使用资源,因为我不知道哪个是正确的寻址方案?
此外,在创建资源时,该资源应该在 ae 资源 (/Mobius/ae_test_02/grp_name) 或 Mobius (/Mobius/grp_name) 中
资源可以直接在 IN-Mobius 中还是应该在 MN-Rosemary 中?fanOutPoint 是否仅由 MN 甚至 IN 等外部资源使用,fopt using ?
第二次编辑。
“百里香”来自nCube Thyme(https://github.com/IoTKETI/nCube-Thyme-Nodejs),它创建一个容器,然后随机创建ContainerInstances。
资源树看起来像;
Mobius >> ae_test_02 (AE 资源) >> thyme_01 (它从 nCube Thyme 创建的容器https://github.com/IoTKETI/nCube-Thyme-Nodejs ) >> ContainerInstances
我在 >> Mobius >> grp_test_100520_08 中还有一个资源(使用的 GROUP 资源)
我试过了;
{ "m2m:grp": { "mid": ["Mobius/ae_test_02/thyme_01"], "mnm": 5 } }
在这个请求中,fopt.js 给出了一个错误“回调不是函数”。
{ "m2m:grp": { "mid": ["ae_test_02/thyme_01"], "mnm": 5 } }
在这个请求中,fopt.js 给出了相同的“回调不是函数”,但在不同的行。
我猜我的 fopt.js 文件很旧,然后我检查了 mobius github 页面并获取了该文件,但是它不能解决这个问题。
我的资源也是这样的;
我的 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 页面中解释整个情况并创建一个问题。我希望他们会尽快回复。