对于AWS,你怎么设置标签与红宝石AWS-SDK的资源?(For AWS, how do you s

2019-09-17 05:25发布

我是很新,使用Amazon的Ruby-SDK(创业板安装AWS-SDK),以及我坚持试图简单地创建一个标签的快照资源。 下面是我在做什么:

ec2.tags.create(:resource_id => "snap-7d3aa701", :key => "My Test Tag", :value => "My test value")
ArgumentError: wrong number of arguments (1 for 2)

注意,EC2 = AWS :: EC2.new(后设置我的凭据)。

任何想法,我做错了什么? 我一直没能在网上使用Ruby AWS-SDK的标注找到一个例子。

Answer 1:

标记的EC2资源的最简单方法是使用#tags方法:

ec2.snapshots["snapshot-id"].tags["tag"] = "value"

如果你想有一个手柄来创建标签对象,你仍然可以使用TagCollection#创建方法。 据预计,第一个参数是一个资源:

tag = ec2.tags.create(ec2.snapshots['snapshot-id'], 'tag') # no tag value

tag = ec2.tags.create(ec2.snapshots['snapshot-id'], 'tag', 'value')


Answer 2:

这很可能只是一个错字造成的,第一个参数的名称应该是resource ,而不是resource_id -见API参考中的Ruby的AWS SDK为创建(资源,关键,选择= {})实例方法,它提供了两个短例子还有:

创建一个新的标签,并将其分配给一个EC2资源。

例子

与名称(键)标记只
ec2.tags.create(instance, 'webserver')

与名称(键)和值标记
ec2.tags.create(instance, 'stage', 'production')

参数

  • 资源(对象) - 标记的项目。 这应该是一个加标签EC2资源,就像一个实例,安全组等等。
  • 键(字符串) - 标记键(或名称)。
  • 选项(散列)(默认为:{})optins(散列) - 可定制的选项集

返回

  • ( 标记 )


文章来源: For AWS, how do you set tags to a resource with the ruby aws-sdk?