如何使用 Amazon 资源名称 (ARN) 作为标识符来查找亚马逊资源?
Posted
技术标签:
【中文标题】如何使用 Amazon 资源名称 (ARN) 作为标识符来查找亚马逊资源?【英文标题】:How to look up an amazon resource using the Amazon Resource Name (ARN) as an identifier? 【发布时间】:2016-07-28 19:27:21 【问题描述】:关于 Amazon 资源名称 (ARN),AWS 文档指出:
Amazon 资源名称 (ARN) 唯一标识 AWS 资源。当您需要在所有 AWS 中明确指定资源时,我们需要 ARN,例如在 IAM 策略、Amazon Relational Database Service (Amazon RDS) 标签和 API 调用中。
http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
问题
是否可以使用 ARN 作为标识符来查找特定的 AWS 资源?
例如,如果我要使用 SDK,是否可以执行以下操作:
Instance instance = AmazonResourceName.find(arnId); // look up via ARN?
如果这是不可能的,那么问题就变成了:
*使用 API 查找 AWS 资源的推荐方法是什么?以及可用于查找的标识符是什么? *
谢谢
【问题讨论】:
您能解释一下您的用例吗?您是否特别想要 EC2 实例或任何类型的对象? SDK 似乎没有像通用的AWSObject
这样的东西。你会用这个对象做什么?
【参考方案1】:
您查看过AmazonEc2Client 文档吗?
它有一个describeInstances(DescribeInstancesRequest describeInstancesRequest)
方法,我认为它可能适合您的需求,因为DescribeInstancesRequest
可以使用docs 中所示的ID 进行设置。这是未经测试的,但可能是一个不错的起点。
【讨论】:
【参考方案2】:以下请求返回与 ItemId Meghshyam 关联的信息。
http://webservices.amazon.com/onca/xml?
Service=AWSECommerceService&
AWSAccessKeyId=[AWS Access Key ID]&
AssociateTag=[Associate ID]&
Operation=ItemLookup&
ItemId=MEGHSHYAM
&Timestamp=[YYYY-MM-DDThh:mm:ssZ]
&Signature=[Request Signature]
以下请求返回非亚马逊销售的翻新商品的报价。
http://webservices.amazon.com/onca/xml?
Service=AWSECommerceService&
AWSAccessKeyId=[AWS Access Key ID]&
AssociateTag=[Associate ID]&
Operation=ItemLookup&
ItemId=MEGHSHYAM&
IdType=ASIN&
ResponseGroup=OfferFull&
Condition=All&
Timestamp=[YYYY-MM-DDThh:mm:ssZ]
&Signature=[Request Signature]
在以下请求中,ItemId
是一个 SKU,这要求您还指定 IdType
。
http://webservices.amazon.com/onca/xml?
Service=AWSECommerceService&
AWSAccessKeyId=[AWS Access Key ID]&
AssociateTag=[Associate ID]&
Operation=ItemLookup&
ItemId=[SKU]&
IdType=SKU
&Timestamp=[YYYY-MM-DDThh:mm:ssZ]
&Signature=[Request Signature
在以下请求中,ItemId
是 UPC,这要求您还指定 SearchIndex
和 ItemType
。
http://webservices.amazon.com/onca/xml?
Service=AWSECommerceService&
AWSAccessKeyId=[AWS Access Key ID]&
AssociateTag=[Associate ID]&
Operation=ItemLookup&
ItemId=[UPC]&
SearchIndex=Books&
&IdType=UPC
&Timestamp=[YYYY-MM-DDThh:mm:ssZ]
&Signature=[Request Signature]
在以下请求中,ItemId
是 EAN,这要求您还指定 SearchIndex
和 ItemType
。
http://webservices.amazon.com/onca/xml?
Service=AWSECommerceService&
AWSAccessKeyId=[AWS Access Key ID]&
AssociateTag=[Associate ID]&
Operation=ItemLookup&
ItemId=[EAN]&
SearchIndex=Electronics&
IdType=EAN
&Timestamp=[YYYY-MM-DDThh:mm:ssZ]
&Signature=[Request Signature]
【讨论】:
以上是关于如何使用 Amazon 资源名称 (ARN) 作为标识符来查找亚马逊资源?的主要内容,如果未能解决你的问题,请参考以下文章
如何将AWS API网关阶段指向特定的lambda函数别名?
如何创建 IAM 策略以根据子网名称标签控制对 Amazon EC2 资源的访问?