我正在尝试使用 AWS Java SDK v1.7.5 访问我的 AWS DataPipelines,但 listPipelines 在下面的代码中返回一个空列表。
我有计划在美国东部地区的 DataPipelines,我相信我应该能够使用 DataPipelineClient 的 listPipelines 方法列出。我已经在使用 ProfilesConfigFile 进行身份验证并毫无问题地连接到 S3、DynamoDB 和 Kinesis。我已将 PowerUserAccess 访问策略授予配置文件中指定的 IAM 用户。我也尝试将管理员访问策略应用于用户,但它没有改变任何东西。这是我正在使用的代码:
//Establish credentials for connecting to AWS.
File configFile = new File(System.getProperty("user.home"), ".aws/config");
ProfilesConfigFile profilesConfigFile = new ProfilesConfigFile(configFile);
AWSCredentialsProvider awsCredentialsProvider = new ProfileCredentialsProvider(profilesConfigFile, "default");
//Set up the AWS DataPipeline connection.
DataPipelineClient dataPipelineClient = new DataPipelineClient(awsCredentialsProvider);
Region usEast1 = Region.getRegion(Regions.US_EAST_1);
dataPipelineClient.setRegion(usEast1);
//List all pipelines we have access to.
ListPipelinesResult listPipelinesResult = dataPipelineClient.listPipelines(); //empty list returned here.
for (PipelineIdName p: listPipelinesResult.getPipelineIdList()) {
System.out.println(p.getId());
}