embulk-output-elasticsearch 0.3.1 → 0.4.0

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 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