我试图创建一个随机UUID(转换为字符串(,并在两个不同的Java方法中使用它们,但我不知道如何保存创建的UUID并将它们传递给方法。我现在正在插入一个硬编码字符串。
创建方法-
public void createLocationStream() {
UUID stream = UUID.randomUUID(); <---- UUID CREATION
BasicAWSCredentials awsCredentials = new BasicAWSCredentials(awsAccessKey, awsSecretKey);
AmazonKinesis kinesisClient = AmazonKinesisClient.builder()
.withCredentials(new AWSStaticCredentialsProvider(awsCredentials))
.withRegion(awsRegion)
.build();
CreateStreamRequest createStreamRequest = new CreateStreamRequest();
createStreamRequest.setStreamName(String.valueOf(stream));
createStreamRequest.setShardCount(1);
kinesisClient.createStream(createStreamRequest);
}
要传递到的方法
方法1中的使用-
public void addDataToStream() {
PutRecordsRequest putRecordsRequest = new PutRecordsRequest();
putRecordsRequest.setStreamName("location-stream"); <--- HARDCODED STRING
List <PutRecordsRequestEntry> putRecordsRequestEntryList = new ArrayList<>();
PutRecordsRequestEntry putRecordsRequestEntry = new PutRecordsRequestEntry();
putRecordsRequestEntry.setData(ByteBuffer.wrap((formData).toString().getBytes()));
putRecordsRequestEntry.setPartitionKey("partitionKey-%d");
putRecordsRequestEntryList.add(putRecordsRequestEntry);
}
在方法2中的使用-
public void createShards() {
GetShardIteratorRequest readShardsRequest = new GetShardIteratorRequest();
readShardsRequest.setStreamName("location-stream"); <--- HARDCODED STRING
readShardsRequest.setShardIteratorType(ShardIteratorType.LATEST);
readShardsRequest.setShardId("000000000000");
}
您表示不确定如何从应用程序与MySQL RDS实例进行交互。这里有一个AWS教程,它将帮助您启动和运行并执行所需的任务,如设置MySQL SQL实例和使用入站规则。这个例子是一个Spring BOOT应用程序,它跟踪典型状态报告用例的工作项。
参见:
创建亚马逊关系数据库服务项目跟踪器
在这个AWS教程中有很多逻辑,包括设置Java连接。
至于时间问题,您需要编写自己的测试等,以确定从RDS数据库表查询GUID值需要多长时间。