in src/main/java/com/amazonaws/services/kinesis/aggregators/cli/AggregatorsCli.java [47:104]
public static void main(String[] args) throws Exception {
String applicationName = System.getProperty(AggregatorsConstants.APP_NAME_PARAM);
String namespace = System.getProperty(AggregatorsConstants.NAMESPACE_PARAM);
String action = System.getProperty("action");
String regionName = System.getProperty(AggregatorsConstants.REGION_PARAM);
Region region = null;
if (regionName != null && !regionName.equals("")) {
region = Region.getRegion(Regions.fromName(regionName));
}
validateAction(action);
final AWSCredentialsProvider credentialsProvider;
final String accessKey = System.getenv("AWS_ACCESS_KEY_ID");
if (accessKey == null) {
credentialsProvider = new ClasspathPropertiesFileCredentialsProvider();
} else {
credentialsProvider = new EnvironmentVariableCredentialsProvider();
}
String aggregatorTableName;
final AmazonDynamoDB dynamoClient = new AmazonDynamoDBClient(credentialsProvider);
if (region != null)
dynamoClient.setRegion(region);
switch (action) {
case DELETE_TO_HWM:
String hwm = System.getProperty("last-sequence-number");
aggregatorTableName = System.getProperty("from-aggregator-table");
DynamoUtils.cleanupAggTable(credentialsProvider, region, aggregatorTableName, hwm);
break;
case GET_REDSHIFT_COPY:
// get the redshift target table name
String redshiftTableName = System.getProperty("to-redshift-table");
aggregatorTableName = System.getProperty("from-aggregator-table");
System.out.println(StreamAggregatorUtils.getRedshiftCopyCommand(dynamoClient,
redshiftTableName, aggregatorTableName));
break;
case GET_HIVE_WRAPPER:
AggregatorType aggType = AggregatorType.valueOf(System.getProperty("aggregator-type"));
String hiveTableName = System.getProperty("hive-table-name");
aggregatorTableName = System.getProperty("from-aggregator-table");
System.out.println(StreamAggregatorUtils.getDynamoHiveWrapper(dynamoClient,
hiveTableName, aggregatorTableName));
break;
case GET_TABLE_STRUCTURE:
aggregatorTableName = System.getProperty("from-aggregator-table");
System.out.println(DynamoUtils.getDynamoTableStructure(dynamoClient,
aggregatorTableName));
break;
default:
break;
}
}