Java 创建带标记的EBS卷的快照
我想为EBS卷创建一个标签为“备份”的快照。我已经编写了一个方法来为EBS卷创建快照。正在正确创建快照。但是,快照没有任何标记。方法如下Java 创建带标记的EBS卷的快照,java,aws-lambda,aws-java-sdk,Java,Aws Lambda,Aws Java Sdk,我想为EBS卷创建一个标签为“备份”的快照。我已经编写了一个方法来为EBS卷创建快照。正在正确创建快照。但是,快照没有任何标记。方法如下 public Snapshot createEbsSnapshot(String volumeId) throws IOException { logger.log("============Creating snapshot for a volume: " + volumeId +" =============="); S
public Snapshot createEbsSnapshot(String volumeId)
throws IOException {
logger.log("============Creating snapshot for a volume: " + volumeId +" ==============");
String description = "This is a snapshot created by using AWS-Java SDK";
CreateSnapshotRequest snapshotRequest = new CreateSnapshotRequest(
volumeId, description);
CreateSnapshotResult snapshotResult = ec2Client
.createSnapshot(snapshotRequest);
Snapshot snapshot = snapshotResult.getSnapshot();
logger.log("============Snapshot creation for a volume: " + volumeId +" is done.==============");
return snapshot;
}
我不确定我们是否可以通过使用aws java sdk来实现这一点。如果我错了,请纠正我
谢谢您必须获取调用
createSnapshot()
返回的快照ID,然后在另一个API调用中使用该ID在快照上创建标记。您必须获取调用createSnapshot()返回的快照ID
然后在另一个API调用中使用该ID在快照上创建标记。AmazonEC2Client类有一个方法可以将标记分配给资源。
如果您使用并使用该方法调用createTags方法,我认为您应该能够将标记分配给快照。AmazonEC2Client类有一个可以将标记分配给资源的方法。
如果您使用并使用该方法调用createTags方法,我认为您应该能够为快照分配一个标记。创建包含所有标记的参数可能更好。 更多详情 例如:
let snapshotParams = {
DryRun : false,
VolumeId : vol-123abc, //ID of the volume
TagSpecifications: [{
ResourceType: 'snapshot',
Tags: [
{
Key: 'ServerName',
Value: 'Server123'
}, {
Key: 'Department',
Value: 'Accounting'
}
]//this can be obtained by the instance object
}]
}
ec2.createSnapshot(snapshotParams,(err,data)=>{
if(err){
console.log(err, err.stack)
} else {
console.log(data)
}
}
您可以创建一个函数并遍历ec2实例对象以获得标记 最好创建包含所有标记的参数。 更多详情 例如:
let snapshotParams = {
DryRun : false,
VolumeId : vol-123abc, //ID of the volume
TagSpecifications: [{
ResourceType: 'snapshot',
Tags: [
{
Key: 'ServerName',
Value: 'Server123'
}, {
Key: 'Department',
Value: 'Accounting'
}
]//this can be obtained by the instance object
}]
}
ec2.createSnapshot(snapshotParams,(err,data)=>{
if(err){
console.log(err, err.stack)
} else {
console.log(data)
}
}
您可以创建一个函数并遍历ec2实例对象以获得标记 我可能会在聚会上迟到,但你可以不用java,而是用python,它只需几行代码,就能更好地解决你的问题。 我发现了一个更好的Lambda脚本,它基于ec2实例标记获取EBS卷(辅助卷)的快照 例如,如果您的ec2实例具有标记“Backup:true”。将拍摄所有辅助卷的快照,并为快照提供实例名称 博文- 演示-
希望这有帮助 我可能会在聚会上迟到,但你可以不用java,而是用python,它只需几行代码,就能更好地解决你的问题。 我发现了一个更好的Lambda脚本,它基于ec2实例标记获取EBS卷(辅助卷)的快照 例如,如果您的ec2实例具有标记“Backup:true”。将拍摄所有辅助卷的快照,并为快照提供实例名称 博文- 演示-
希望这有帮助 AmazonEC2Client的createTags方法完成了这一任务。非常感谢你!!AmazonEC2Client的createTags方法完成了这一任务。非常感谢你!!谢谢你的回答。createSnapshot()只创建一个快照。如果可能的话,请为我提供第二个API调用的代码片段。谢谢回答。createSnapshot()只创建一个快照。如果可能的话,你可以为我提供第二个API调用的代码片段。非常有用。谢谢分享,非常有用。谢谢分享