如何使用 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,这要求您还指定 SearchIndexItemType

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,这要求您还指定 SearchIndexItemType

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) 作为标识符来查找亚马逊资源?的主要内容,如果未能解决你的问题,请参考以下文章

Amazon 资源名称 AWS RDS

如何将AWS API网关阶段指向特定的lambda函数别名?

如何创建 IAM 策略以根据子网名称标签控制对 Amazon EC2 资源的访问?

如何将 ARN 设置为 s3 策略资源 AWS

如何在 cloudformation 策略文档中引用资源 ARN? (yaml)

在 Cloudformation 模板中,我如何在 IoT Rule 中引用动态生成的 Lambda 函数 ARN?