From ec94f6101ec39bce8648b6fd7e84ad74010d635c Mon Sep 17 00:00:00 2001 From: Colin Louie Date: Sat, 27 Feb 2021 11:57:24 -0800 Subject: [PATCH] Drop need for credentials if endpoint is localhost --- .../dynamodb/connector/DynamoConnector.scala | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/scala/com/audienceproject/spark/dynamodb/connector/DynamoConnector.scala b/src/main/scala/com/audienceproject/spark/dynamodb/connector/DynamoConnector.scala index dec80cf..050e6d3 100644 --- a/src/main/scala/com/audienceproject/spark/dynamodb/connector/DynamoConnector.scala +++ b/src/main/scala/com/audienceproject/spark/dynamodb/connector/DynamoConnector.scala @@ -45,10 +45,17 @@ private[dynamodb] trait DynamoConnector { val credentials = getCredentials(chosenRegion, roleArn, providerClassName) properties.get("aws.dynamodb.endpoint").map(endpoint => { - AmazonDynamoDBClientBuilder.standard() - .withCredentials(credentials) - .withEndpointConfiguration(new EndpointConfiguration(endpoint, chosenRegion)) - .build() + // No need for credentials if using local DynamoDB instance. + if (endpoint.startsWith("http://localhost:")) { + AmazonDynamoDBClientBuilder.standard() + .withEndpointConfiguration(new EndpointConfiguration(endpoint, chosenRegion)) + .build() + } else { + AmazonDynamoDBClientBuilder.standard() + .withCredentials(credentials) + .withEndpointConfiguration(new EndpointConfiguration(endpoint, chosenRegion)) + .build() + } }).getOrElse( AmazonDynamoDBClientBuilder.standard() .withCredentials(credentials)