收到状态代码 400 no_key 的无效值“ipaddress”
Posted
技术标签:
【中文标题】收到状态代码 400 no_key 的无效值“ipaddress”【英文标题】:received status code 400 invalid value 'ipaddress' for no_key 【发布时间】: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)的正确语法 能否请您给出一个有效的语法示例。 谢谢
【问题讨论】:
您是否总是计划一次访问一个节点? 【参考方案1】:你可能想要的是这样的:
chef.getNode('server1', function(err, node)
if(err) throw err;
console.log(node.automatic.ipaddress);
);
【讨论】:
感谢您的回复,是的,如果您只想请求一台服务器,但如果您想获取所有服务器的所有“ipaddress”属于一个“角色”,那么它是一个解决方案。您的厨师服务器的性能甚至应用程序的时间回复看看dougireton.com/blog/2013/01/19/get-chef-clients-by-version和engineering.voxer.com/2013/03/22/chef-part-2-performance,我找到了正确的语法,再次感谢您的回复:D 没错,这就是为什么我问你是否低估了你的用例:)【参考方案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); );希望这可以帮助仍在寻找的其他人。
【讨论】:
以上是关于收到状态代码 400 no_key 的无效值“ipaddress”的主要内容,如果未能解决你的问题,请参考以下文章
预检响应具有无效的 HTTP 状态代码 400 - aspx
预检的 Wcf webHttpBinding 响应具有无效的 HTTP 状态代码 400
axios 和 reactjs:预检响应具有无效的 HTTP 状态代码 400