我想使用 SoftLayer_User_Customer::editObjects 更新大量用户的 parentID。但面临如下问题
I want to update parentID of bulk of user using SoftLayer_User_Customer::editObjects. But facing issue as below
我想使用 SoftLayer_User_Customer::editObjects 更新大量用户的 parentID。但面临如下问题:
{ 消息:
{ 错误:'属性 \'parentId\' 对 \'SoftLayer_User_CustomerArray\' 无效。',
代码:'SoftLayer_Exception_Public'},
状态码:500 }
我的代码在 nodejs 中
slClient
.auth(slUserID, slApiKey)
.path('User_Customer', childIds, 'editObjects')
.parameters([{"parentId":parentID}])
.put()
.then(res => {
resolve(res);
})
.catch(err => {
reject(err);
});
这里的 childIds 是软层 ID 的数组。
SoftLayer_User_Customer::editObjects 方法不需要 header 中的 InitParameter,所以我建议删除路径中的 childIds。
您要编辑的每个用户的 ID 必须位于参数部分,如下例所示:
{
"parameters":[
[
{
"id": 1111111, <----- user id you want to edit
"parentId": 6666666 <----- the new parent id
},
{
"id": 2222222,
"parentId": 6666666
}
]
]
}
以下代码对我有用:
这里的输入是 JSON 对象的数组,其中包含 SL ID 的详细信息。我在我的 JSON 对象中仅保存这些 SL ID 的 ID,如下所示。
let childIds = [];
for(var i = 0; i < aInput.length; i++)
{
var myObj = new Object();
myObj.id = aInput[i].id;
myObj.parentId = parentID;
childIds.push(myObj);
}
console.log(childIds);
slClient
.auth(slUserID, slApiKey)
.path('User_Customer','editObjects')
.parameters([childIds])
.put()
.then(res => {
resolve(res);
})
.catch(err => {
reject(err);
});
我想使用 SoftLayer_User_Customer::editObjects 更新大量用户的 parentID。但面临如下问题:
{ 消息: { 错误:'属性 \'parentId\' 对 \'SoftLayer_User_CustomerArray\' 无效。', 代码:'SoftLayer_Exception_Public'}, 状态码:500 }
我的代码在 nodejs 中
slClient
.auth(slUserID, slApiKey)
.path('User_Customer', childIds, 'editObjects')
.parameters([{"parentId":parentID}])
.put()
.then(res => {
resolve(res);
})
.catch(err => {
reject(err);
});
这里的 childIds 是软层 ID 的数组。
SoftLayer_User_Customer::editObjects 方法不需要 header 中的 InitParameter,所以我建议删除路径中的 childIds。
您要编辑的每个用户的 ID 必须位于参数部分,如下例所示:
{
"parameters":[
[
{
"id": 1111111, <----- user id you want to edit
"parentId": 6666666 <----- the new parent id
},
{
"id": 2222222,
"parentId": 6666666
}
]
]
}
以下代码对我有用: 这里的输入是 JSON 对象的数组,其中包含 SL ID 的详细信息。我在我的 JSON 对象中仅保存这些 SL ID 的 ID,如下所示。
let childIds = [];
for(var i = 0; i < aInput.length; i++)
{
var myObj = new Object();
myObj.id = aInput[i].id;
myObj.parentId = parentID;
childIds.push(myObj);
}
console.log(childIds);
slClient
.auth(slUserID, slApiKey)
.path('User_Customer','editObjects')
.parameters([childIds])
.put()
.then(res => {
resolve(res);
})
.catch(err => {
reject(err);
});