我使用Java API启动emr集群,但无法将标记与其关联。你能帮我解决这个问题。
使用EMR CLI,如下所示非常简单,但我必须使用我的Java代码
./ elastic-mapreduce --create --alive - tag tagKey = stackOverflow
如果你需要更多细节,请告诉我..
提前致谢。
此致 维尼特
答案 0 :(得分:0)
在早期版本的EMR Java SDK中,没有添加标签的方法(肯定不是直接标记),但是在新版本的Java SDK for EMR中,有一个名为{{的{J}方法。 1}},使用它可以将标记添加到作为EMR集群的一部分启动的资源(EC2)。 您可以按如下方式使用它:
addTags(Collection<Tag> tags)
使用AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
AmazonElasticMapReduce emr = new AmazonElasticMapReduceClient(credentials);
List<Tag> tags = new ArrayList<Tag>();
Tag stackOverflowTag = new Tag();
stackOverflowTag.setKey("stackOverflow");
tags.add(stackOverflowTag);
AddTagsRequest addTagsRequest = new AddTagsRequest();
addTagsRequest.setTags(tags);
emr.addTags(addTagsRequest);
StepFactory stepFactory = new StepFactory();
// set up the cluster to launch and add steps
RunJobFlowResult result = emr.runJobFlow(request);
类来创建标记,因为SDK中存在许多com.amazonaws.services.elasticmapreduce.model.Tag
个类,并且我也导入了错误的类。
阅读文档here。