td 0.10.97 → 0.10.98
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +7 -0
- data/lib/td/command/bulk_import.rb +1 -2
- data/lib/td/command/import.rb +1 -1
- data/lib/td/command/list.rb +1 -13
- data/lib/td/command/table.rb +1 -1
- data/lib/td/version.rb +1 -1
- data/td.gemspec +1 -1
- metadata +5 -11
- data/lib/td/command/aggr.rb +0 -208
data/ChangeLog
CHANGED
@@ -58,8 +58,7 @@ module Command
|
|
58
58
|
|
59
59
|
client = get_client
|
60
60
|
|
61
|
-
|
62
|
-
bi = bis.find {|bi| name == bi.name }
|
61
|
+
bi = client.bulk_import(name)
|
63
62
|
unless bi
|
64
63
|
$stderr.puts "Bulk import session '#{name}' does not exist."
|
65
64
|
$stderr.puts "Use '#{$prog} " + Config.cl_apikey_string + "bulk_import:create <name> <db> <table>' to create a session."
|
data/lib/td/command/import.rb
CHANGED
data/lib/td/command/list.rb
CHANGED
@@ -127,7 +127,7 @@ module List
|
|
127
127
|
LIST = []
|
128
128
|
COMMAND = {}
|
129
129
|
GUESS = {}
|
130
|
-
HELP_EXCLUDE = [/^help/, /^account/, /^
|
130
|
+
HELP_EXCLUDE = [/^help/, /^account/, /^update/, /^user/, /^acl/]
|
131
131
|
USAGE_EXCLUDE = [/bulk_import:upload_part\z/, /bulk_import:delete_part\z/]
|
132
132
|
|
133
133
|
def self.add_list(name, args, description, *examples)
|
@@ -308,15 +308,6 @@ module List
|
|
308
308
|
add_list 'acl:revoke', %w[subject action scope], 'Revoke an access control'
|
309
309
|
# TODO acl:test
|
310
310
|
|
311
|
-
add_list 'aggr:list', %w[], 'Show list of aggregation schemas'
|
312
|
-
add_list 'aggr:show', %w[name], 'Describe a aggregation schema'
|
313
|
-
add_list 'aggr:create', %w[name relation_key], 'Create a aggregation schema'
|
314
|
-
add_list 'aggr:delete', %w[name], 'Delete a aggregation schema'
|
315
|
-
add_list 'aggr:add-log', %w[name db table entry_name o1_key? o2_key? o3_key?], 'Add a log aggregation entry'
|
316
|
-
add_list 'aggr:add-attr', %w[name db table entry_name method_name parameters_?], 'Add an attribute aggregation entry'
|
317
|
-
add_list 'aggr:del-log', %w[name entry_name], 'Delete a log aggregation entry'
|
318
|
-
add_list 'aggr:del-attr', %w[name entry_name], 'Delete an attribute aggregation entry'
|
319
|
-
|
320
311
|
add_list 'server:status', %w[], 'Show status of the Treasure Data server'
|
321
312
|
|
322
313
|
add_list 'sample:apache', %w[path.json], 'Create a sample log file'
|
@@ -375,9 +366,6 @@ module List
|
|
375
366
|
add_alias 'acl', 'acl:list'
|
376
367
|
add_alias 'acls', 'acl:list'
|
377
368
|
|
378
|
-
add_alias 'aggr', 'aggr:show'
|
379
|
-
add_alias 'aggrs', 'aggr:list'
|
380
|
-
|
381
369
|
add_alias 'apikey', 'apikey:show'
|
382
370
|
add_alias 'server', 'server:status'
|
383
371
|
add_alias 'sample', 'sample:apache'
|
data/lib/td/command/table.rb
CHANGED
@@ -23,7 +23,7 @@ module Command
|
|
23
23
|
end
|
24
24
|
type = s.to_sym
|
25
25
|
}
|
26
|
-
op.on('--primary-key PRIMARY_KEY_AND_TYPE', '[primary key]:[primary key type]') {|s|
|
26
|
+
op.on('--primary-key PRIMARY_KEY_AND_TYPE', '[primary key]:[primary key type(int or string)]') {|s|
|
27
27
|
unless /\A[\w]+:(string|int)\z/ =~ s
|
28
28
|
$stderr.puts "--primary-key PRIMARY_KEY_AND_TYPE is required, and should be in the format [primary key]:[primary key type]"
|
29
29
|
exit 1
|
data/lib/td/version.rb
CHANGED
data/td.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |gem|
|
|
20
20
|
gem.add_dependency "yajl-ruby", "~> 1.1.0"
|
21
21
|
gem.add_dependency "hirb", ">= 0.4.5"
|
22
22
|
gem.add_dependency "parallel", "~> 0.6.1"
|
23
|
-
gem.add_dependency "td-client", "~> 0.8.
|
23
|
+
gem.add_dependency "td-client", "~> 0.8.57"
|
24
24
|
gem.add_dependency "td-logger", "~> 0.3.21"
|
25
25
|
gem.add_dependency "rubyzip", "~> 0.9.9"
|
26
26
|
gem.add_development_dependency "rake", "~> 0.9"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: td
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.98
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2014-02-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: msgpack
|
@@ -112,7 +112,7 @@ dependencies:
|
|
112
112
|
requirements:
|
113
113
|
- - ~>
|
114
114
|
- !ruby/object:Gem::Version
|
115
|
-
version: 0.8.
|
115
|
+
version: 0.8.57
|
116
116
|
type: :runtime
|
117
117
|
prerelease: false
|
118
118
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -120,7 +120,7 @@ dependencies:
|
|
120
120
|
requirements:
|
121
121
|
- - ~>
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: 0.8.
|
123
|
+
version: 0.8.57
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: td-logger
|
126
126
|
requirement: !ruby/object:Gem::Requirement
|
@@ -237,7 +237,6 @@ files:
|
|
237
237
|
- lib/td.rb
|
238
238
|
- lib/td/command/account.rb
|
239
239
|
- lib/td/command/acl.rb
|
240
|
-
- lib/td/command/aggr.rb
|
241
240
|
- lib/td/command/apikey.rb
|
242
241
|
- lib/td/command/bulk_import.rb
|
243
242
|
- lib/td/command/common.rb
|
@@ -289,18 +288,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
289
288
|
- - ! '>='
|
290
289
|
- !ruby/object:Gem::Version
|
291
290
|
version: '0'
|
292
|
-
segments:
|
293
|
-
- 0
|
294
|
-
hash: -1410145252245092295
|
295
291
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
296
292
|
none: false
|
297
293
|
requirements:
|
298
294
|
- - ! '>='
|
299
295
|
- !ruby/object:Gem::Version
|
300
296
|
version: '0'
|
301
|
-
segments:
|
302
|
-
- 0
|
303
|
-
hash: -1410145252245092295
|
304
297
|
requirements: []
|
305
298
|
rubyforge_project:
|
306
299
|
rubygems_version: 1.8.23
|
@@ -317,3 +310,4 @@ test_files:
|
|
317
310
|
- spec/spec_helper.rb
|
318
311
|
- spec/td/helpers_spec.rb
|
319
312
|
- spec/td/version_spec.rb
|
313
|
+
has_rdoc: false
|
data/lib/td/command/aggr.rb
DELETED
@@ -1,208 +0,0 @@
|
|
1
|
-
|
2
|
-
module TreasureData
|
3
|
-
module Command
|
4
|
-
|
5
|
-
def aggr_list(op)
|
6
|
-
op.cmd_parse
|
7
|
-
|
8
|
-
client = get_client
|
9
|
-
|
10
|
-
ass = client.aggregation_schemas
|
11
|
-
|
12
|
-
rows = []
|
13
|
-
ass.each {|as|
|
14
|
-
rows << {:Name=>as.name, :Relation=>as.relation_key, :Timezone=>as.timezone}
|
15
|
-
}
|
16
|
-
|
17
|
-
puts cmd_render_table(rows, :fields => [:Name, :Relation, :Timezone])
|
18
|
-
|
19
|
-
if rows.empty?
|
20
|
-
$stderr.puts "There are no aggregation schemas."
|
21
|
-
$stderr.puts "Use '#{$prog} " + Config.cl_apikey_string + "aggr:create <name>' to create a aggregation schema."
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def aggr_show(op)
|
26
|
-
name = op.cmd_parse
|
27
|
-
|
28
|
-
client = get_client
|
29
|
-
|
30
|
-
begin
|
31
|
-
as = client.aggregation_schema(name)
|
32
|
-
rescue
|
33
|
-
cmd_debug_error $!
|
34
|
-
$stderr.puts "Aggregation '#{name}' does not exist."
|
35
|
-
exit 1
|
36
|
-
end
|
37
|
-
|
38
|
-
log_rows = []
|
39
|
-
as.logs.each {|las|
|
40
|
-
log_rows << {
|
41
|
-
:Table=>las.table.identifier,
|
42
|
-
:Name=>las.name,
|
43
|
-
:o1_key=>las.okeys[0].to_s,
|
44
|
-
:o2_key=>las.okeys[1].to_s,
|
45
|
-
:o3_key=>las.okeys[2].to_s,
|
46
|
-
:value_key=>las.value_key.to_s,
|
47
|
-
:count_key=>las.count_key.to_s,
|
48
|
-
:Comment=>las.comment.to_s
|
49
|
-
}
|
50
|
-
}
|
51
|
-
|
52
|
-
attr_rows = []
|
53
|
-
as.attributes.each {|aas|
|
54
|
-
params = aas.parameters.to_a.map {|k,v| "#{k}=#{v}" }.join(' ')
|
55
|
-
attr_rows << {
|
56
|
-
:Table=>aas.table.identifier,
|
57
|
-
:Name=>aas.name,
|
58
|
-
:Method=>aas.method_name,
|
59
|
-
:Parameters=>params,
|
60
|
-
:Comment=>aas.comment.to_s,
|
61
|
-
}
|
62
|
-
}
|
63
|
-
|
64
|
-
puts "Log entries:"
|
65
|
-
puts cmd_render_table(log_rows, :fields => [:Table, :Name, :o1_key, :o2_key, :o3_key, :value_key, :count_key, :Comment], :max_width=>400)
|
66
|
-
|
67
|
-
puts ''
|
68
|
-
|
69
|
-
puts "Attribute entries:"
|
70
|
-
puts cmd_render_table(attr_rows, :fields => [:Table, :Name, :Method, :Parameters, :Comment], :max_width=>400)
|
71
|
-
end
|
72
|
-
|
73
|
-
def aggr_create(op)
|
74
|
-
timezone = nil
|
75
|
-
|
76
|
-
op.on('-t', '--timezone TZ', 'name of the timezone (like Asia/Tokyo)') {|s|
|
77
|
-
timezone = s
|
78
|
-
}
|
79
|
-
|
80
|
-
name, relation_key = op.cmd_parse
|
81
|
-
|
82
|
-
client = get_client
|
83
|
-
|
84
|
-
begin
|
85
|
-
client.create_aggregation_schema(name, relation_key, {'timezone'=>timezone})
|
86
|
-
rescue AlreadyExistsError
|
87
|
-
cmd_debug_error $!
|
88
|
-
$stderr.puts "Aggregation '#{name}' already exists."
|
89
|
-
exit 1
|
90
|
-
end
|
91
|
-
|
92
|
-
$stderr.puts "Aggregation schema '#{name}' is created."
|
93
|
-
end
|
94
|
-
|
95
|
-
def aggr_delete(op)
|
96
|
-
name = op.cmd_parse
|
97
|
-
|
98
|
-
client = get_client
|
99
|
-
|
100
|
-
client.delete_aggregation_schema(name)
|
101
|
-
|
102
|
-
$stderr.puts "Aggregation schema '#{name}' is deleted."
|
103
|
-
end
|
104
|
-
|
105
|
-
def aggr_add_log(op)
|
106
|
-
comment = nil
|
107
|
-
value_key = nil
|
108
|
-
count_key = nil
|
109
|
-
|
110
|
-
op.on('-m', '--comment COMMENT', 'comment of this entry') {|s|
|
111
|
-
comment = s
|
112
|
-
}
|
113
|
-
op.on('-v', '--value KEY_NAME', 'key name of value field') {|s|
|
114
|
-
value_key = s
|
115
|
-
}
|
116
|
-
op.on('-c', '--count KEY_NAME', 'key name of count field') {|s|
|
117
|
-
count_key = s
|
118
|
-
}
|
119
|
-
|
120
|
-
name, db_name, table_name, entry_name, o1_key, o2_key, o3_key = op.cmd_parse
|
121
|
-
|
122
|
-
okeys = [o1_key, o2_key, o3_key].compact
|
123
|
-
|
124
|
-
client = get_client
|
125
|
-
|
126
|
-
get_table(client, db_name, table_name)
|
127
|
-
|
128
|
-
begin
|
129
|
-
client.create_aggregation_log_entry(name, entry_name, comment, db_name, table_name, okeys, value_key, count_key)
|
130
|
-
rescue NotFoundError
|
131
|
-
cmd_debug_error $!
|
132
|
-
$stderr.puts "Aggregation schema '#{name}' does not exist."
|
133
|
-
$stderr.puts "Use '#{$prog} " + Config.cl_apikey_string + "aggr:create #{name}' to create the aggregation schema."
|
134
|
-
exit 1
|
135
|
-
rescue AlreadyExistsError
|
136
|
-
$stderr.puts "Aggregation log entry '#{entry_name}' already exists."
|
137
|
-
exit 1
|
138
|
-
end
|
139
|
-
|
140
|
-
$stderr.puts "Aggregation log entry '#{entry_name}' is created."
|
141
|
-
end
|
142
|
-
|
143
|
-
def aggr_add_attr(op)
|
144
|
-
comment = nil
|
145
|
-
|
146
|
-
op.on('-m', '--comment COMMENT', 'comment of this entry') {|s|
|
147
|
-
comment = s
|
148
|
-
}
|
149
|
-
|
150
|
-
name, db_name, table_name, entry_name, method_name, *parameters = op.cmd_parse
|
151
|
-
|
152
|
-
params = {}
|
153
|
-
parameters.each {|pa|
|
154
|
-
k, v = pa.split('=')
|
155
|
-
params[k] = v
|
156
|
-
}
|
157
|
-
|
158
|
-
client = get_client
|
159
|
-
|
160
|
-
get_table(client, db_name, table_name)
|
161
|
-
|
162
|
-
begin
|
163
|
-
client.create_aggregation_attr_entry(name, entry_name, comment, db_name, table_name, method_name, params)
|
164
|
-
rescue NotFoundError
|
165
|
-
cmd_debug_error $!
|
166
|
-
$stderr.puts "Aggregation schema '#{name}' does not exist."
|
167
|
-
$stderr.puts "Use '#{$prog} " + Config.cl_apikey_string + "aggr:create #{name}' to create the aggregation schema."
|
168
|
-
exit 1
|
169
|
-
rescue AlreadyExistsError
|
170
|
-
$stderr.puts "Aggregation attribute entry '#{entry_name}' already exists."
|
171
|
-
exit 1
|
172
|
-
end
|
173
|
-
|
174
|
-
$stderr.puts "Aggregation attribute entry '#{entry_name}' is created."
|
175
|
-
end
|
176
|
-
|
177
|
-
def aggr_del_log(op)
|
178
|
-
name, entry_name = op.cmd_parse
|
179
|
-
|
180
|
-
client = get_client
|
181
|
-
|
182
|
-
begin
|
183
|
-
client.delete_aggregation_log_entry(name, entry_name)
|
184
|
-
rescue NotFoundError
|
185
|
-
$stderr.puts "Aggregation log entry '#{entry_name}' does not exist."
|
186
|
-
exit 1
|
187
|
-
end
|
188
|
-
|
189
|
-
$stderr.puts "Aggregation log entry '#{entry_name}' is deleted."
|
190
|
-
end
|
191
|
-
|
192
|
-
def aggr_del_attr(op)
|
193
|
-
name, entry_name = op.cmd_parse
|
194
|
-
|
195
|
-
client = get_client
|
196
|
-
|
197
|
-
begin
|
198
|
-
client.delete_aggregation_attr_entry(name, entry_name)
|
199
|
-
rescue NotFoundError
|
200
|
-
$stderr.puts "Aggregation log entry '#{entry_name}' does not exist."
|
201
|
-
exit 1
|
202
|
-
end
|
203
|
-
|
204
|
-
$stderr.puts "Aggregation log entry '#{entry_name}' is deleted."
|
205
|
-
end
|
206
|
-
|
207
|
-
end
|
208
|
-
end
|