2016-09-15 104 views
10

我有一堆AWS资源ARN。我可以轻松地在ARN的名称空间上编写switch/case语句,并在正确的AWS API类上调用相应的describeXYZ方法以获取资源详细信息。但是有没有一种方法可以采取任意的ARN并对其进行描述?像aws.describeResource({arn:myArn}, callback)AWS API通过ARN获取任何资源

+0

什么是您的具体目标是什么?您是否使用AWS CloudFormation来管理您的资源?如果是这样,你可以试试['describe-stack-resources'](http://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-resources.html)。 – MaiKaY

+0

所以我描述堆栈资源。现在我想获取每个人的资源信息。如何在资源类型上没有switch语句来确定要调用的API调用? – Jeff

回答

0

我不知道你正在寻找什么样的描述,我不知道这种服务的存在。然而,ARN本身包含的一些信息可能是或不是可以对你有所帮助,如果你分析它,你可以得到至少:

  • 服务
  • 地区
  • 帐户ID
  • 类型资源
  • 资源名称

例如

arn:aws:iot:us-west-2:27401367543654:policy/MyApplicationDefaultPolicy 
     ^ ^  ^  ^   ^
     |  |   |   |    | 
     Service Region AccountID ResourceType  ResourceName 

对不起,如果这还不够,是我现在能想到的最好的。

从这里你可以得到更详细的说明: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-arns

arn:partition:service:region:account-id:resource 
arn:partition:service:region:account-id:resourcetype/resource 
arn:partition:service:region:account-id:resourcetype:resource