-
Notifications
You must be signed in to change notification settings - Fork 38
/
Copy pathconfig.hocon.sample
127 lines (102 loc) · 4.09 KB
/
config.hocon.sample
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# Default configuration for s3-loader
# Sources currently supported are:
# 'kinesis' for reading records from a Kinesis stream
# 'nsq' for reading records from a NSQ topic
source = "{{source}}"
# Sink is used for sending events which processing failed.
# Sinks currently supported are:
# 'kinesis' for writing records to a Kinesis stream
# 'nsq' for writing records to a NSQ topic
sink = "{{sink}}"
# The following are used to authenticate for the Amazon Kinesis sink.
# If both are set to 'default', the default provider chain is used
# (see http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html)
# If both are set to 'iam', use AWS IAM Roles to provision credentials.
# If both are set to 'env', use environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
aws {
accessKey = "iam"
secretKey = "iam"
}
# Config for NSQ
nsq {
# Channel name for NSQ source
# If more than one application reading from the same NSQ topic at the same time,
# all of them must have unique channel name for getting all the data from the same topic
channelName = "{{nsqSourceChannelName}}"
# Host name for NSQ tools
host = "{{nsqHost}}"
# HTTP port for nsqd
port = {{nsqdPort}}
# HTTP port for nsqlookupd
lookupPort = {{nsqlookupdPort}}
}
kinesis {
# LATEST: most recent data.
# TRIM_HORIZON: oldest available data.
# "AT_TIMESTAMP": Start from the record at or after the specified timestamp
# Note: This only affects the first run of this application on a stream.
initialPosition = "{{kinesisInitialPosition}}"
# Need to be specified when initialPosition is "AT_TIMESTAMP".
# Timestamp format need to be in "yyyy-MM-ddTHH:mm:ssZ".
# Ex: "2017-05-17T10:00:00Z"
# Note: Time need to specified in UTC.
initialTimestamp = "{{timestamp}}"
# Maximum number of records to read per GetRecords call
maxRecords = {{kinesisMaxRecords}}
region = "{{kinesisRegion}}"
# "appName" is used for a DynamoDB table to maintain stream state.
appName = "{{appName}}"
## Optional endpoint url configuration to override aws kinesis endpoints,
## this can be used to specify local endpoints when using localstack
# customEndpoint = {{kinesisEndpoint}}
# Optional override to disable CloudWatch metrics for KCL
# disableCloudWatch = true
}
streams {
# Input stream name
inStreamName = "{{inStreamName}}"
# Stream for events for which the storage process fails
outStreamName = "{{outStreamName}}"
# Events are accumulated in a buffer before being sent to S3.
# The buffer is emptied whenever:
# - the combined size of the stored records exceeds byteLimit or
# - the number of stored records exceeds recordLimit or
# - the time in milliseconds since it was last emptied exceeds timeLimit
buffer {
byteLimit = {{bufferByteThreshold}} # Not supported by NSQ; will be ignored
recordLimit = {{bufferRecordThreshold}}
timeLimit = {{bufferTimeThreshold}} # Not supported by NSQ; will be ignored
}
}
s3 {
region = "{{s3Region}}"
bucket = "{{s3bucket}}"
# optional bucket where to store partitioned data
partitionedBucket = "{{s3bucket}}/partitioned"
# optional date format prefix for directory pattern
# eg: {YYYY}/{MM}/{dd}/{HH}
dateFormat = "{{s3DateFormat}}"
# optional directory structure to use while storing data on s3 (followed by dateFormat config)
# eg: outputDirectory = "enriched/good/"
outputDirectory = "{{s3OutputDirectory}}"
# optional filename prefix
# eg: output
filenamePrefix = "{{s3DFilenamePrefix}}"
# Format is one of lzo or gzip
# Note, that you can use gzip only for enriched data stream.
format = "{{format}}"
# Maximum Timeout that the application is allowed to fail for (in milliseconds)
maxTimeout = {{maxTimeout}}
## Optional endpoint url configuration to override aws s3 endpoints,
## this can be used to specify local endpoints when using localstack
# customEndpoint = {{kinesisEndpoint}}
}
# Optional section for tracking endpoints
monitoring {
snowplow{
collectorUri = "{{collectorUri}}"
collectorPort = 80
appId = "{{appName}}"
method = "{{method}}"
}
}