AWS SDK for Java(&KCL)でのDynamoDB、Kinesisのリージョン&プロキシ設定
コードだけ。
プロキシの設定は両者ともcom.amazonaws.ClientConfigurationを使う。
リージョン設定はDynamoDBの場合、com.amazonaws.regions.Regionを渡し、Kinesisでは名前の文字列を渡すだけでいい。
DynamoDB
// クレデンシャルプロバイダ AWSCredentialsProvider credentialsProvider = new InstanceProfileCredentialsProvider(); // クライアント(プロキシ)設定 ClientConfiguration clientConfig = new ClientConfiguration(); clientConfig.setProxyHost("unko.proxy.jp"); clientConfig.setProxyPort(8080); // クライアント生成 client = new AmazonDynamoDBClient(credentialsProvider, clientConfig); // リージョン設定 client.setRegion(Region.getRegion(Regions.fromName("us-west-2"))); // 実行 DynamoDB dynamo = new DynamoDB(client); Table table = dynamo.getTable("people");
Kinesis
String applicationName = "hogeApp"; String streamName = "hogeStream"; String workerId = InetAddress.getLocalHost().getCanonicalHostName() + ":" + UUID.randomUUID(); // クレデンシャルプロバイダ AWSCredentialsProvider credentialsProvider = new InstanceProfileCredentialsProvider(); // キネシスクライアント設定生成 KinesisClientLibConfiguration kinesisClientLibConfiguration = new KinesisClientLibConfiguration( applicationName, streamName, credentialsProvider, workerId); // リージョン設定 kinesisClientLibConfiguration.withRegionName("us-west-2"); // クライアント(プロキシ)設定 ClientConfiguration clientConfig = new ClientConfiguration(); clientConfig.setProxyHost("unko.proxy.jp"); clientConfig.setProxyPort(8080); kinesisClientLibConfiguration.withCommonClientConfig(clientConfig); // 実行 IRecordProcessorFactory recordProcessorFactory = new ProcessorFactory(); Worker worker = new Worker(recordProcessorFactory, kinesisClientLibConfiguration); worker.run();