embulk-output-elasticsearch 0.3.1 → 0.4.0

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: d90cf5dd0d129a6494e834700ade73ed349f32c8
4
- data.tar.gz: 04daf21aaac3f43874b15f062a58628940ee1d93
3
+ metadata.gz: 1a3ec0cee5c598381d1fb7b9633e5b75ddd8a10b
4
+ data.tar.gz: c4168d8f8e4d74feea54657f95beb46c3faa424e
5
5
  SHA512:
6
- metadata.gz: c6cd37883a5921dac22cd794952717c1a1eb0874e52a0bde5a8bd4cd953a40928c69ce676b3a64aa216eb6f67d3e185f258930671490982edb49cd4e49b9dbaa
7
- data.tar.gz: 5c4da5add896bd7e3ae3ff8a2e3f2f107007dc53e7927fe8d9a60937563bd70b304f3f4a578d704280c538bf1ad84ab1b97cabb8c8dd579673c531c6f08c83df
6
+ metadata.gz: 3db949e32d6ec45729b717762b7a952013b40f32f2f7964415f215adeae29da4acf8fa229cffc69770dcb645bb7d80a236f135d38a38a5b76bfc3d4ff0fabc1e
7
+ data.tar.gz: b72a05b4607c9636febe5b67f825462d7df6a16cce257e70d952f79d873575cf055fc7c92f72d57d80dca9c66c3422e7b696ae7b89314462f988b8ef5be27586
@@ -0,0 +1,26 @@
1
+ language: java
2
+
3
+ jdk:
4
+ - oraclejdk8
5
+ - oraclejdk7
6
+ - openjdk7
7
+
8
+ env:
9
+ global:
10
+ - ES_HOST=localhost
11
+ - ES_PORT=9200
12
+ - ES_INDEX=embulk
13
+ - ES_INDEX_TYPE=embulk
14
+
15
+ before_install:
16
+ - wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.3/elasticsearch-2.3.3.tar.gz
17
+ - tar zxvf elasticsearch-2.3.3.tar.gz
18
+ - ./elasticsearch-2.3.3/bin/elasticsearch &
19
+
20
+ before_script:
21
+ - echo "Wait Elasticsearch wakeup"
22
+ - sleep 10
23
+
24
+ script:
25
+ - ./gradlew gem
26
+ - ./gradlew --info check jacocoTestReport
@@ -1,3 +1,9 @@
1
+ ## 0.4.0 - 2017-03-28
2
+
3
+ * [new feature] Support multiple Elasticsearch version [#32](https://github.com/muga/embulk-output-elasticsearch/pull/32)
4
+ * [new feature] Support SSL and Basic authentication including 'Security'(formally 'Shield') [#33](https://github.com/muga/embulk-output-elasticsearch/pull/33)
5
+ * [maintenance] Improve export logic [#34](https://github.com/muga/embulk-output-elasticsearch/pull/34)
6
+
1
7
  ## 0.3.1 - 2016-06-21
2
8
 
3
9
  * [maintenance] Update Elasticsearch client to 2.3.3 [#25](https://github.com/muga/embulk-output-elasticsearch/pull/25)
data/README.md CHANGED
@@ -1,8 +1,7 @@
1
1
  # Elasticsearch output plugin for Embulk
2
2
 
3
3
  **Notice** This plugin doesn't support [Amazon(AWS) Elasticsearch Service](https://aws.amazon.com/elasticsearch-service/).
4
- Plugin uses [Transport Client](https://www.elastic.co/guide/en/elasticsearch/client/java-api/2.0/transport-client.html) but AWS Elasticsearch doesn't support this method.
5
- > The service supports HTTP on port 80, but does not support TCP transport.
4
+ This plugin uses HTTP/REST Client and haven't be implemented AWS authentication.
6
5
  - *[Amazon Elasticsearch Service Limits](http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/aes-limits.html)*
7
6
 
8
7
  ## Overview
@@ -16,13 +15,18 @@ Plugin uses [Transport Client](https://www.elastic.co/guide/en/elasticsearch/cli
16
15
 
17
16
  - **mode**: "insert" or "replace". See below(string, optional, default is insert)
18
17
  - **nodes**: list of nodes. nodes are pairs of host and port (list, required)
19
- - **cluster_name**: name of the cluster (string, default is "elasticsearch")
18
+ - NOTE: This plugin uses HTTP/REST Clients and uses TCP:9200 as a default. TCP:9300 is usually used for Transport Client.
19
+ - **use_ssl** Use SSL encryption (boolean, default is false)
20
+ - **auth_method** (string, default is 'none') 'none'/'basic'. See also [Authentication](#authentication).
21
+ - **user** Username for basic authentication (string, default is null)
22
+ - **password** Password for above user (string, default is null)
23
+ - ~~**cluster_name**: name of the cluster (string, default is "elasticsearch")~~ Not used now. May use in the future
20
24
  - **index**: index name (string, required)
21
25
  - **index_type**: index type (string, required)
22
26
  - **id**: document id column (string, default is null)
23
27
  - **bulk_actions**: Sets when to flush a new bulk request based on the number of actions currently added. (int, default is 1000)
24
28
  - **bulk_size**: Sets when to flush a new bulk request based on the size of actions currently added. (long, default is 5242880)
25
- - **concurrent_requests**: concurrent_requests (int, default is 5)
29
+ - ~~**concurrent_requests**: concurrent_requests (int, default is 5)~~ Not used now. May use in the future
26
30
 
27
31
  ### Modes
28
32
 
@@ -45,11 +49,23 @@ out:
45
49
  type: elasticsearch
46
50
  mode: replace
47
51
  nodes:
48
- - {host: localhost, port: 9300}
52
+ - {host: localhost, port: 9200}
49
53
  index: <alias name> # plugin generates index name like <index>_%Y%m%d-%H%M%S
50
54
  index_type: <index type>
51
55
  ```
52
56
 
57
+ ### Authentication
58
+
59
+ This plugin supports Basic authentication and works with [Elastic Cloud](https://cloud.elastic.co/) and 'Security'(formally Sield).
60
+ 'Security' also supports LDAP and Active Directory. This plugin doesn't supports these auth methods.
61
+
62
+ ```yaml
63
+ use_ssl: true
64
+ auth_method: basic
65
+ user: <username>
66
+ password: <password>
67
+ ```
68
+
53
69
  ## Example
54
70
 
55
71
  ```yaml
@@ -57,7 +73,7 @@ out:
57
73
  type: elasticsearch
58
74
  mode: insert
59
75
  nodes:
60
- - {host: localhost, port: 9300}
76
+ - {host: localhost, port: 9200}
61
77
  index: <index name>
62
78
  index_type: <index type>
63
79
  ```
@@ -114,4 +130,4 @@ $ launchctl load ~/Library/LaunchAgents/environment.plist
114
130
  $ launchctl getenv ES_INDEX //try to get value.
115
131
 
116
132
  Then start your applications.
117
- ```
133
+ ```
@@ -3,31 +3,36 @@ plugins {
3
3
  id "com.github.jruby-gradle.base" version "0.1.5"
4
4
  id "java"
5
5
  id "jacoco"
6
+ id "checkstyle"
6
7
  }
7
8
  import com.github.jrubygradle.JRubyExec
8
9
  repositories {
9
10
  mavenCentral()
10
11
  jcenter()
11
- mavenLocal()
12
+ // TODO: Remove this after embulk-base-restclient goes to jcenter.
13
+ maven {
14
+ url "https://dl.bintray.com/embulk-base-restclient/maven"
15
+ }
12
16
  }
13
17
  configurations {
14
18
  provided
15
19
  }
16
20
 
17
- version = "0.3.1"
21
+ version = "0.4.0"
18
22
 
19
23
  compileJava.options.encoding = 'UTF-8' // source encoding
20
24
  sourceCompatibility = 1.7
21
25
  targetCompatibility = 1.7
22
26
 
23
27
  dependencies {
24
- compile "org.embulk:embulk-core:0.8.5"
25
- provided "org.embulk:embulk-core:0.8.5"
26
- compile 'org.elasticsearch:elasticsearch:2.3.3'
28
+ compile "org.embulk:embulk-core:0.8.16"
29
+ provided "org.embulk:embulk-core:0.8.16"
30
+ compile "org.embulk.base.restclient:embulk-base-restclient:0.4.2"
31
+ compile "org.embulk.base.restclient:embulk-util-retryhelper-jetty92:0.4.2"
27
32
 
28
33
  testCompile "junit:junit:4.+"
29
- testCompile "org.embulk:embulk-core:0.8.5:tests"
30
- testCompile "org.embulk:embulk-standards:0.8.5"
34
+ testCompile "org.embulk:embulk-core:0.8.16:tests"
35
+ testCompile "org.embulk:embulk-standards:0.8.16"
31
36
  }
32
37
 
33
38
  task classpath(type: Copy, dependsOn: ["jar"]) {
@@ -37,6 +42,23 @@ task classpath(type: Copy, dependsOn: ["jar"]) {
37
42
  }
38
43
  clean { delete 'classpath' }
39
44
 
45
+ checkstyle {
46
+ configFile = file("${project.rootDir}/config/checkstyle/checkstyle.xml")
47
+ toolVersion = '6.14.1'
48
+ }
49
+ checkstyleMain {
50
+ configFile = file("${project.rootDir}/config/checkstyle/default.xml")
51
+ ignoreFailures = true
52
+ }
53
+ checkstyleTest {
54
+ configFile = file("${project.rootDir}/config/checkstyle/default.xml")
55
+ ignoreFailures = true
56
+ }
57
+ task checkstyle(type: Checkstyle) {
58
+ classpath = sourceSets.main.output + sourceSets.test.output
59
+ source = sourceSets.main.allJava + sourceSets.test.allJava
60
+ }
61
+
40
62
  //task copyDependencies(type:Copy) {
41
63
  // new File("$buildDir/libs/dependencies").mkdirs()
42
64
  // into "$buildDir/libs/dependencies" from configurations.runtime
@@ -0,0 +1,130 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE module PUBLIC
3
+ "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
4
+ "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
5
+ <module name="Checker">
6
+ <!-- https://github.com/facebook/presto/blob/master/src/checkstyle/checks.xml -->
7
+ <module name="FileTabCharacter"/>
8
+ <module name="NewlineAtEndOfFile">
9
+ <property name="lineSeparator" value="lf"/>
10
+ </module>
11
+ <module name="RegexpMultiline">
12
+ <property name="format" value="\r"/>
13
+ <property name="message" value="Line contains carriage return"/>
14
+ </module>
15
+ <module name="RegexpMultiline">
16
+ <property name="format" value=" \n"/>
17
+ <property name="message" value="Line has trailing whitespace"/>
18
+ </module>
19
+ <module name="RegexpMultiline">
20
+ <property name="format" value="\{\n\n"/>
21
+ <property name="message" value="Blank line after opening brace"/>
22
+ </module>
23
+ <module name="RegexpMultiline">
24
+ <property name="format" value="\n\n\s*\}"/>
25
+ <property name="message" value="Blank line before closing brace"/>
26
+ </module>
27
+ <module name="RegexpMultiline">
28
+ <property name="format" value="\n\n\n"/>
29
+ <property name="message" value="Multiple consecutive blank lines"/>
30
+ </module>
31
+ <module name="RegexpMultiline">
32
+ <property name="format" value="\n\n\Z"/>
33
+ <property name="message" value="Blank line before end of file"/>
34
+ </module>
35
+ <module name="RegexpMultiline">
36
+ <property name="format" value="Preconditions\.checkNotNull"/>
37
+ <property name="message" value="Use of checkNotNull"/>
38
+ </module>
39
+
40
+ <module name="TreeWalker">
41
+ <module name="EmptyBlock">
42
+ <property name="option" value="text"/>
43
+ <property name="tokens" value="
44
+ LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF,
45
+ LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, INSTANCE_INIT, STATIC_INIT"/>
46
+ </module>
47
+ <module name="EmptyStatement"/>
48
+ <module name="EmptyForInitializerPad"/>
49
+ <module name="EmptyForIteratorPad">
50
+ <property name="option" value="space"/>
51
+ </module>
52
+ <module name="MethodParamPad">
53
+ <property name="allowLineBreaks" value="true"/>
54
+ <property name="option" value="nospace"/>
55
+ </module>
56
+ <module name="ParenPad"/>
57
+ <module name="TypecastParenPad"/>
58
+ <module name="NeedBraces"/>
59
+ <module name="LeftCurly">
60
+ <property name="option" value="nl"/>
61
+ <property name="tokens" value="CLASS_DEF, CTOR_DEF, INTERFACE_DEF, METHOD_DEF"/>
62
+ </module>
63
+ <module name="LeftCurly">
64
+ <property name="option" value="eol"/>
65
+ <property name="tokens" value="
66
+ LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR,
67
+ LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE"/>
68
+ </module>
69
+ <module name="RightCurly">
70
+ <property name="option" value="alone"/>
71
+ </module>
72
+ <module name="GenericWhitespace"/>
73
+ <module name="WhitespaceAfter"/>
74
+ <module name="NoWhitespaceBefore"/>
75
+
76
+ <module name="UpperEll"/>
77
+ <module name="DefaultComesLast"/>
78
+ <module name="ArrayTypeStyle"/>
79
+ <module name="MultipleVariableDeclarations"/>
80
+ <module name="ModifierOrder"/>
81
+ <module name="OneStatementPerLine"/>
82
+ <module name="StringLiteralEquality"/>
83
+ <module name="MutableException"/>
84
+ <module name="EqualsHashCode"/>
85
+ <module name="InnerAssignment"/>
86
+ <module name="InterfaceIsType"/>
87
+ <module name="HideUtilityClassConstructor"/>
88
+
89
+ <module name="MemberName"/>
90
+ <module name="LocalVariableName"/>
91
+ <module name="LocalFinalVariableName"/>
92
+ <module name="TypeName"/>
93
+ <module name="PackageName"/>
94
+ <module name="ParameterName"/>
95
+ <module name="StaticVariableName">
96
+ <property name="format" value="^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"/>
97
+ </module>
98
+ <module name="ClassTypeParameterName">
99
+ <property name="format" value="^[A-Z][0-9]?$"/>
100
+ </module>
101
+ <module name="MethodTypeParameterName">
102
+ <property name="format" value="^[A-Z][0-9]?$"/>
103
+ </module>
104
+
105
+ <module name="AvoidStarImport"/>
106
+ <module name="RedundantImport"/>
107
+ <module name="UnusedImports"/>
108
+ <module name="ImportOrder">
109
+ <property name="groups" value="*,javax,java"/>
110
+ <property name="separated" value="true"/>
111
+ <property name="option" value="bottom"/>
112
+ <property name="sortStaticImportsAlphabetically" value="true"/>
113
+ </module>
114
+
115
+ <module name="WhitespaceAround">
116
+ <property name="allowEmptyConstructors" value="true"/>
117
+ <property name="allowEmptyMethods" value="true"/>
118
+ <property name="ignoreEnhancedForColon" value="false"/>
119
+ <property name="tokens" value="
120
+ ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN,
121
+ BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LE,
122
+ LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE,
123
+ LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN,
124
+ LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE,
125
+ LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL,
126
+ PLUS, PLUS_ASSIGN, QUESTION, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN,
127
+ STAR, STAR_ASSIGN, TYPE_EXTENSION_AND"/>
128
+ </module>
129
+ </module>
130
+ </module>
@@ -0,0 +1,110 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE module PUBLIC
3
+ "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
4
+ "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
5
+ <!--
6
+ This is a subset of ./checkstyle.xml which allows some loose styles
7
+ -->
8
+ <module name="Checker">
9
+ <module name="FileTabCharacter"/>
10
+ <module name="NewlineAtEndOfFile">
11
+ <property name="lineSeparator" value="lf"/>
12
+ </module>
13
+ <module name="RegexpMultiline">
14
+ <property name="format" value="\r"/>
15
+ <property name="message" value="Line contains carriage return"/>
16
+ </module>
17
+ <module name="RegexpMultiline">
18
+ <property name="format" value=" \n"/>
19
+ <property name="message" value="Line has trailing whitespace"/>
20
+ </module>
21
+ <module name="RegexpMultiline">
22
+ <property name="format" value="\n\n\n"/>
23
+ <property name="message" value="Multiple consecutive blank lines"/>
24
+ </module>
25
+ <module name="RegexpMultiline">
26
+ <property name="format" value="\n\n\Z"/>
27
+ <property name="message" value="Blank line before end of file"/>
28
+ </module>
29
+
30
+ <module name="TreeWalker">
31
+ <module name="EmptyBlock">
32
+ <property name="option" value="text"/>
33
+ <property name="tokens" value="
34
+ LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_IF,
35
+ LITERAL_FOR, LITERAL_TRY, LITERAL_WHILE, INSTANCE_INIT, STATIC_INIT"/>
36
+ </module>
37
+ <module name="EmptyStatement"/>
38
+ <module name="EmptyForInitializerPad"/>
39
+ <module name="EmptyForIteratorPad">
40
+ <property name="option" value="space"/>
41
+ </module>
42
+ <module name="MethodParamPad">
43
+ <property name="allowLineBreaks" value="true"/>
44
+ <property name="option" value="nospace"/>
45
+ </module>
46
+ <module name="ParenPad"/>
47
+ <module name="TypecastParenPad"/>
48
+ <module name="NeedBraces"/>
49
+ <module name="LeftCurly">
50
+ <property name="option" value="nl"/>
51
+ <property name="tokens" value="CLASS_DEF, CTOR_DEF, INTERFACE_DEF, METHOD_DEF"/>
52
+ </module>
53
+ <module name="LeftCurly">
54
+ <property name="option" value="eol"/>
55
+ <property name="tokens" value="
56
+ LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR,
57
+ LITERAL_IF, LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE"/>
58
+ </module>
59
+ <module name="RightCurly">
60
+ <property name="option" value="alone"/>
61
+ </module>
62
+ <module name="GenericWhitespace"/>
63
+ <module name="WhitespaceAfter"/>
64
+ <module name="NoWhitespaceBefore"/>
65
+
66
+ <module name="UpperEll"/>
67
+ <module name="DefaultComesLast"/>
68
+ <module name="ArrayTypeStyle"/>
69
+ <module name="MultipleVariableDeclarations"/>
70
+ <module name="ModifierOrder"/>
71
+ <module name="OneStatementPerLine"/>
72
+ <module name="StringLiteralEquality"/>
73
+ <module name="MutableException"/>
74
+ <module name="EqualsHashCode"/>
75
+ <module name="InnerAssignment"/>
76
+ <module name="InterfaceIsType"/>
77
+ <module name="HideUtilityClassConstructor"/>
78
+
79
+ <module name="MemberName"/>
80
+ <module name="LocalVariableName"/>
81
+ <module name="LocalFinalVariableName"/>
82
+ <module name="TypeName"/>
83
+ <module name="PackageName"/>
84
+ <module name="ParameterName"/>
85
+ <module name="StaticVariableName">
86
+ <property name="format" value="^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"/>
87
+ </module>
88
+ <module name="ClassTypeParameterName">
89
+ <property name="format" value="^[A-Z][0-9]?$"/>
90
+ </module>
91
+ <module name="MethodTypeParameterName">
92
+ <property name="format" value="^[A-Z][0-9]?$"/>
93
+ </module>
94
+
95
+ <module name="WhitespaceAround">
96
+ <property name="allowEmptyConstructors" value="true"/>
97
+ <property name="allowEmptyMethods" value="true"/>
98
+ <property name="ignoreEnhancedForColon" value="false"/>
99
+ <property name="tokens" value="
100
+ ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN,
101
+ BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LE,
102
+ LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE,
103
+ LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN,
104
+ LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE,
105
+ LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL,
106
+ PLUS, PLUS_ASSIGN, QUESTION, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN,
107
+ STAR, STAR_ASSIGN, TYPE_EXTENSION_AND"/>
108
+ </module>
109
+ </module>
110
+ </module>
@@ -1,6 +1,6 @@
1
- #Tue Aug 11 00:26:20 PDT 2015
1
+ #Wed Jan 13 12:41:02 JST 2016
2
2
  distributionBase=GRADLE_USER_HOME
3
3
  distributionPath=wrapper/dists
4
4
  zipStoreBase=GRADLE_USER_HOME
5
5
  zipStorePath=wrapper/dists
6
- distributionUrl=https\://services.gradle.org/distributions/gradle-2.6-bin.zip
6
+ distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-bin.zip
@@ -0,0 +1,6 @@
1
+ #Wed Jan 13 12:41:02 JST 2016
2
+ distributionBase=GRADLE_USER_HOME
3
+ distributionPath=wrapper/dists
4
+ zipStoreBase=GRADLE_USER_HOME
5
+ zipStorePath=wrapper/dists
6
+ distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-bin.zip