我正在使用clojure客户端amazonica来尝试clojure并编写一些脚本来帮助管理aws ec2实例。
我正在尝试使用此代码段获取实例ID:
(def instances ((describe-instances) :reservations))
(def an_instance ((first instances) :instances))
(def instance_id ((first an_instance) :instance-id))
寻找一种更好的方法,所以我可以将它用于任何其他json输出。
编辑:尝试从实例中获取实例ID,安全组和标记名称。
除了上面的问题,当我使用使用aws java sdk版本1.9.33的amazonica客户端时,我在控制台上得到了这个:
May 10, 2015 1:31:57 PM com.amazonaws.http.AmazonHttpClient logRequestId
INFO: x-amzn-RequestId: not available
我该怎么做才能解决这个问题?
编辑:为了澄清,我正在尝试从VPC或实例外部获取此信息。
答案 0 :(得分:2)
如果要从实例本身中找到instance-id:
(slurp "http://169.254.169.254/latest/meta-data/instance-id")
(有关详细信息,请参阅Instance Metadata and User Data。)
要查找所有实例的选定属性:
(map #(select-keys % [:instance-id :tags :security-groups])
(flatten
(map :instances
(:reservations
(amazonica.aws.ec2/describe-instances)))))