Amazon ec2 对于AWS,如何使用ruby AWS sdk为资源设置标记?
我对使用Amazon的ruby sdk(gem install aws sdk)非常陌生,我一直在尝试为快照资源创建标记。以下是我正在做的:Amazon ec2 对于AWS,如何使用ruby AWS sdk为资源设置标记?,amazon-ec2,amazon-web-services,ruby,Amazon Ec2,Amazon Web Services,Ruby,我对使用Amazon的ruby sdk(gem install 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
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进行标记的示例。这可能是由于键入错误造成的,第一个参数名应该是
resource
,而不是resource\u id
——请参阅的,以获取实例方法,它还提供了两个简短的示例:
创建新标记并将其分配给EC2资源
示例:
仅使用名称(键)进行标记ec2.tags.create(实例'webserver')
使用名称(键)和值标记
ec2.tags.create(实例,'stage','production')
参数
- 资源(对象)-要标记的项。这应该是一个可标记的EC2资源,就像一个实例, 安全组等
- 键(字符串)-标记键(或名称)
- 选项(散列)(默认为:{})选项(散列)-一组可自定义的选项
- ()
标记EC2资源的最简单方法是使用#标记方法:
ec2.snapshots["snapshot-id"].tags["tag"] = "value"
如果要创建标记对象的句柄,仍然可以使用TagCollection#create方法。它希望第一个参数是一个资源:
tag = ec2.tags.create(ec2.snapshots['snapshot-id'], 'tag') # no tag value
tag = ec2.tags.create(ec2.snapshots['snapshot-id'], 'tag', 'value')