【问题标题】:received status code 400 invalid value 'ipaddress' for no_key收到状态代码 400 no_key 的无效值“ipaddress”
【发布时间】:2017-01-31 15:50:12
【问题描述】:

我将chef-api 用于 express js,我只想从厨师服务器获取节点“服务器 1”的 IP 地址

我正在发送这样的请求

代码:

chef.partialSearch("node", "name:server1",{"ip":"ipaddress"} ,function(err, res){ 如果(错误){console.log(错误);} 否则{console.log(res);} });

或者

chef.partialSearch("node", { q: "name:server1"} ,{"ip":"ipaddress"} ,function(err, res){ …… });

=> 响应:

received status code 400 invalid  value 'ipaddress' for no_key

代码源中的函数:

部分搜索:函数(索引,qs,数据,fn){ http_methods.post([config.host_url, "search", index].join("/"), qs, data, function(err, response){ 返回 fn(错误,响应); }); }

我无法理解来自官方网站文档api_chef_server的请求(http)的正确语法
能否请您给出一个有效的语法示例。 谢谢

【问题讨论】:

  • 您是否总是计划一次访问一个节点?

标签: node.js express chef-infra


【解决方案1】:

你可能想要的是这样的:

chef.getNode('server1', function(err, node) {
    if(err) throw err;
    console.log(node.automatic.ipaddress);
});

【讨论】:

【解决方案2】:

最后我找到了两个请求的正确语法

简单搜索:

chef.search("node", {q: "name:server1" }, function(err, res){ 如果(错误){console.log(错误);} 否则{console.log(res);} });

部分搜索:

chef.partialSearch("node", "chef_environment:prod", { name: ['name'] , 'ipaddress': ['ipaddress'] }, function(err, res){ 如果(错误){console.log(错误);} 否则{console.log(res);} });

希望这可以帮助仍在寻找的其他人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-18
    • 1970-01-01
    • 2017-05-10
    • 2018-06-26
    • 2022-01-20
    • 1970-01-01
    • 2019-05-05
    • 2019-11-24
    相关资源
    最近更新 更多