我是新来的AWS,并试图学习。我正在尝试使用Ruby aws-sdk v2拍摄EBS卷的快照。我找到了使用CLI和aws-sdk v1拍摄快照的命令。但是,我无法找到关于使用aws-sdk v2拍摄快照的很多信息。
我就是这样拍快照的。
ec2 = Aws::EC2::Client.new(region: config['region'], credentials: credentials)
(注意,我还有其他方法来读取配置文件和加载凭据)
然后我试着拍快照
ec2.snapshots.create(:volume => ec2.volumes[volume_id], :description => "Snapshot of device: #{device_name} volume: #{volume_id}")
(注意,我已经在散列中保存了device_name和volume_id,这只是一段代码)。ec2.volumes[volume_id]说undefined method 'volumes' for #<Aws::EC2::Client>是错误的。
我认为这种方法适用于aws-sdk v1。对于aws-sdk v2,我们有类似的方法吗?请引导我往正确的方向走。
提前谢谢。
发布于 2015-03-10 07:23:15
您可以使用适用于Ruby的AWS版本2创建快照。使用资源接口(这将是最类似于v1):
ec2 = Aws::EC2::Resource.new
ec2.volume('volume-id').create_snapshot(description: 'description')也可以使用客户端类:
ec2 = Aws::EC2::Client.new
ec2.create_snapshot(volume_id: 'volume-id', description: 'description')请注意,v2 SDK并不是向后兼容的,所以v1中的一些模式已经改变了。
https://stackoverflow.com/questions/28955931
复制相似问题