代码拉取完成,页面将自动刷新
#! /usr/bin/env ruby
# frozen_string_literal: true
LKP_SRC = ENV['LKP_SRC'] || File.dirname(File.dirname(File.realpath($PROGRAM_NAME)))
require 'yaml'
require 'json'
require 'optparse'
require "#{LKP_SRC}/lib/cci"
require "#{LKP_SRC}/lib/hash"
index = nil
field = nil
where = nil
condition = nil
show_type = nil
options = OptionParser.new do |opts|
opts.banner = 'Usage: cci select -f $field -w $where $index'
opts.separator ' search info from es db by sql'
opts.separator ' eg.1: cci select -f suite,id,job_stage,testbox -w "id=\'xxx\'" -c \"order by id\" jobs'
opts.separator ' eg.2: cci select -f \* -w "suite=\'xxx\' and job_stage=\'xxx\'" jobs'
opts.separator 'options:'
opts.on('-l', '--lab <LAB>', 'connect to lab') do |l|
ENV['CCI_LAB'] = l.strip
end
opts.on('-f', '--field <field>', 'show field') do |f|
field = f.strip
end
opts.on('-w', '--where <where>', 'select condition') do |w|
where = w
end
opts.on('-c', '--condition <condition>', 'other condition') do |c|
# because command line argument parsing will splits every space,
# we use '-' to join every condition words.
condition = c
end
opts.on('-s', '--show_type <show_type>', 'select show type: json or array') do |s|
show_type = s
end
opts.on('-h', '--help', 'show this message') do
die options
end
end
if $PROGRAM_NAME == __FILE__
die(options) if ARGV.empty?
options.parse!(ARGV)
index = ARGV[0] unless ARGV.empty?
raise 'please input query index' if index.nil?
raise 'Please input select field to show with -f' if field.nil?
show_type = get_show_type(field, show_type)
select_field = get_select_field(field)
data_hash = read_cci_credentials
data_hash['query_field'] = select_field.join(',').to_s
data_hash['query_index'] = index
data_hash['query_where'] = where unless where.nil?
data_hash['query_condition'] = condition unless condition.nil?
response = es_opendistro_query(data_hash)
if show_type == 'json'
puts JSON.pretty_generate(response)
else
results = []
response['hits']['hits'].each do |source|
results << source['_source']
end
die('query results is empty') if results.empty?
format_print(results, select_field)
end
end
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。