Running Enricher Error

Hello,
I am able to configure Scala Stream Collector, Javascript Tracker. But now when i was running Stream Enrich, i get error.

When i searched about the error, i got the discussion link below, where it says stream enrich needs dynamodb.

According to documentation, i think this is not compulsory steps.
But I am confused in configuring enrichment steps:

  • Where should i put the enrichments available ?
  • Do i need to use all the enrichment available ?
  • What should the resolver JSON should contain?
  • do i need to change anything in resolver JSON ?
  • if i must save resolver JSON in dynamoDb, how can i save it?

These things are not very clear to me as a beginner even i go through documentation many times. @PaulBoocock please help me

And when i run the command
java -jar -Dorg.slf4j.simpleLogger.defaultLogLevel=debug snowplow-stream-enrich-kinesis-1.0.0.jar --config enricher.conf --resolver file:resolver.json

I get errors
[main] DEBUG org.apache.http.wire - http-outgoing-2 << “{”__type":“com.amazon.coral.service#AccessDeniedException”,“Message”:“User: arn:aws:iam::***********:user/staging-snowplow is not authorized to perform: dynamodb:CreateTable on resource: arn:aws:dynamodb:ap-southeast-2::********table/zanui-enricher-app”}"
[main] DEBUG org.apache.http.headers - http-outgoing-2 << HTTP/1.1 400 Bad Request
[main] DEBUG org.apache.http.headers - http-outgoing-2 << Server: Server
[main] DEBUG org.apache.http.headers - http-outgoing-2 << Date: Mon, 14 Sep 2020 03:47:07 GMT
[main] DEBUG org.apache.http.headers - http-outgoing-2 << Content-Type: application/x-amz-json-1.0
[main] DEBUG org.apache.http.headers - http-outgoing-2 << Content-Length: 259
[main] DEBUG org.apache.http.headers - http-outgoing-2 << Connection: keep-alive
[main] DEBUG org.apache.http.headers - http-outgoing-2 << x-amzn-RequestId: 996AC8U4O1CVDV272EU7Q9AJFRVV4KQNSO5AEMVJF66Q9ASUAAJG
[main] DEBUG org.apache.http.headers - http-outgoing-2 << x-amz-crc32: 3466712532
[main] DEBUG org.apache.http.impl.execchain.MainClientExec - Connection can be kept alive for 60000 MILLISECONDS
[main] DEBUG org.apache.http.impl.conn.PoolingHttpClientConnectionManager - Connection [id: 2][route: {s}->https://dynamodb.ap-southeast-2.amazonaws.com:443] can be kept alive for 60.0 seconds

Now here is my question, even i am not using command with “dynamodb:” prefix , why it is trying to create table in dynamodb ?

I’m not too sure here, this looks like something is wrong with your AWS configuration - particularly your IAMs permissions when looking at the DynamoDB error. Our documentation will help you only so far with setting up Snowplow, configuring AWS correctly to be able to run the required services so Snowplow can work correctly is something the AWS documentation is likely better suited to.

@PauliBoocock Ok thank you i have solved the error. But i am still confused with

But I am confused in configuring enrichment steps:

* Where should i put the enrichments available ?
* Do i need to use all the enrichment available ?
* What should the resolver JSON should contain?
* do i need to change anything in resolver JSON ?
* if i must save resolver JSON in dynamoDb, how can i save it?

These things are not very clear to me as a beginner even i go through documentation many times. @PaulBoocock please help me