redshift-connector 5.0.0 → 5.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b3d56a36e8dba44e03271c37ecedd89871e5f0d2
4
- data.tar.gz: 3237a2be89f2b86c524d99ce0064773a3807b41e
3
+ metadata.gz: fd434428d24b3d41029d89fbbf48c8415416fc46
4
+ data.tar.gz: a81a921c7b1bdde79851684137cf43d3bc5f26e7
5
5
  SHA512:
6
- metadata.gz: 0de405e11f29b3efad2e9161436396cd436396ceb525c284d505a42abb3893da882b6d3c1767b88589736776bc26cc8442be350ed77e40ca26e5ed73a1da096c
7
- data.tar.gz: 6be60fc0ac03acb59f990dfb605abba2f49711ec32441d11d366ffa322b54835b9625deb3224429ff88f7528f2433a777028283f49fc81132d04f6a79d417cab
6
+ metadata.gz: c2dfd23d53f217190dcc85d99128700a40432eec27f89cf7a4100fbd61df81d3330ea7ddcc25fdd2164afdda3aeb736b5dd416f9fece9bc8c3fff905063925eb
7
+ data.tar.gz: 6beed3edae728c20b33fbedaa858b7c27d49439cd86732ecf78d556cd3836cc2885ef83a60d0526935c4a2f05fb9908693ac76995b4a4096605db668953f0101
data/README.md CHANGED
@@ -8,3 +8,32 @@ Add following block to your Gemfile and bundle.
8
8
  ```
9
9
  gem 'redshift-connector'
10
10
  ```
11
+ Add config/initializers/redshift-connector.rb like following:
12
+ ```
13
+ module RedshiftConnector
14
+ Exporter.default_data_source = Any_ActiveRecord_Class_Bound_To_Redshift
15
+
16
+ S3Bucket.add('primary', default: true,
17
+ region: 'YOUR_AWS_REGION_NAME',
18
+ bucket: 'YOUR_BUCKET_NAME',
19
+ prefix: 'YOUR_PREFIX',
20
+ iam_role: 'arn:aws:iam::XXXXXXXXXXXX:role/RedshiftReadOnly'
21
+ # For explicit S3 access, use following:
22
+ # aws_access_key_id: 'XXXXXXXXXXXXX',
23
+ # aws_secret_access_key: 'XXXXXXXXXXXXX'
24
+ )
25
+ end
26
+ ```
27
+
28
+ ## Usage
29
+
30
+ ### Fetching rows
31
+
32
+ ```
33
+ RedshiftConnector.foreach(schema: 'app_mst', table: 'shops', query: 'select id, name from app_mst.shops') do |id, name|
34
+ p [id, name]
35
+ end
36
+ ```
37
+ `schema` and `table` is the source table name (written in the query).
38
+ This method executes Redshift UNLOAD statement with given query and
39
+ unload result to the intermediate S3, then read contents.
@@ -21,7 +21,8 @@ module RedshiftConnector
21
21
  @buckets[name.to_s] or raise ArgumentError, "no such S3 bucket configured: #{name.inspect}"
22
22
  end
23
23
 
24
- def initialize(bucket:, prefix: nil, access_key_id: nil, secret_access_key: nil, iam_role: nil)
24
+ def initialize(region: nil, bucket:, prefix: nil, access_key_id: nil, secret_access_key: nil, iam_role: nil)
25
+ @region = region
25
26
  @name = bucket
26
27
  @prefix = prefix
27
28
  @access_key_id = access_key_id
@@ -37,7 +38,10 @@ module RedshiftConnector
37
38
  end
38
39
 
39
40
  def client
40
- @client ||= Aws::S3::Client.new(access_key_id: @access_key_id, secret_access_key: @secret_access_key)
41
+ @client ||= begin
42
+ args = { region: @region, access_key_id: @access_key_id, secret_access_key: @secret_access_key }.reject {|k, v| v.nil? }
43
+ Aws::S3::Client.new(**args)
44
+ end
41
45
  end
42
46
 
43
47
  def bucket
@@ -1,3 +1,3 @@
1
1
  module RedshiftConnector
2
- VERSION = '5.0.0'
2
+ VERSION = '5.3.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redshift-connector
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0
4
+ version: 5.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Minero Aoki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-15 00:00:00.000000000 Z
11
+ date: 2017-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord