fluent-plugin-gcs 0.4.2 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/test.yaml +2 -2
- data/.gitignore +1 -0
- data/lib/fluent/plugin/gcs/version.rb +1 -1
- data/lib/fluent/plugin/out_gcs.rb +25 -13
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 06b8bb5edbdcbf288abdadf04670aba1ce83ce1e9f1f8d2ccfae29c543a6b87e
|
4
|
+
data.tar.gz: 2678dbe5a7bdd06149be0cd8bd4bfb0b65557b842c58790b0db7680ba4f58d82
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 67857cecbfc047d0f8e2dbbf0cf3065a3f0b0a11ce08bf277574060f0238648ef36ca4f5d8f498af4a30632a13d81112cc0ae9a55846bb7aaf3703260df07260
|
7
|
+
data.tar.gz: ae8f1b545dc3b89f8209597addff218ec713040970ab3bdc4dd4db35acf4482927d9f41ccad3a90bc8c9eb0a66d20ba3116d3c06839772669181350d54dd266c
|
data/.github/workflows/test.yaml
CHANGED
data/.gitignore
CHANGED
@@ -15,6 +15,7 @@ module Fluent::Plugin
|
|
15
15
|
def initialize
|
16
16
|
super
|
17
17
|
require "google/cloud/storage"
|
18
|
+
Google::Apis.logger = log
|
18
19
|
end
|
19
20
|
|
20
21
|
config_param :project, :string, default: nil,
|
@@ -159,7 +160,7 @@ module Fluent::Plugin
|
|
159
160
|
end
|
160
161
|
end
|
161
162
|
|
162
|
-
def generate_path(chunk
|
163
|
+
def generate_path(chunk)
|
163
164
|
metadata = chunk.metadata
|
164
165
|
time_slice = if metadata.timekey.nil?
|
165
166
|
''.freeze
|
@@ -170,23 +171,34 @@ module Fluent::Plugin
|
|
170
171
|
"%{file_extension}" => @object_creator.file_extension,
|
171
172
|
"%{hex_random}" => hex_random(chunk),
|
172
173
|
"%{hostname}" => Socket.gethostname,
|
173
|
-
"%{index}" => i,
|
174
174
|
"%{path}" => @path,
|
175
175
|
"%{time_slice}" => time_slice,
|
176
|
-
"%{uuid_flush}" => SecureRandom.uuid,
|
177
176
|
}
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
177
|
+
|
178
|
+
prev = nil
|
179
|
+
i = 0
|
180
|
+
|
181
|
+
until i < 0 do # Until overflow
|
182
|
+
tags["%{uuid_flush}"] = SecureRandom.uuid
|
183
|
+
tags["%{index}"] = i
|
184
|
+
|
185
|
+
path = @object_key_format.gsub(Regexp.union(tags.keys), tags)
|
186
|
+
path = extract_placeholders(path, chunk)
|
187
|
+
return path unless check_object_exists(path)
|
188
|
+
|
189
|
+
if path == prev
|
190
|
+
if @overwrite
|
191
|
+
log.warn "object `#{path}` already exists but overwrites it"
|
192
|
+
return path
|
193
|
+
end
|
194
|
+
raise "object `#{path}` already exists"
|
186
195
|
end
|
187
|
-
|
196
|
+
|
197
|
+
i += 1
|
198
|
+
prev = path
|
188
199
|
end
|
189
|
-
|
200
|
+
|
201
|
+
raise "cannot find an unoccupied GCS path"
|
190
202
|
end
|
191
203
|
|
192
204
|
# This is stolen from Fluentd
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-gcs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daichi HIRATA
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|