Вы можете использовать Java SDK для создания снимков управляемых дисков Azure с различными группами ресурсов и регионами:
Disk osDisk = azure.disks().getById(linuxVM.osDiskId());
Snapshot osSnapshot = azure.snapshots().define(managedOSSnapshotName)
.withRegion(Region.US_EAST)
.withExistingResourceGroup(rgName)
.withLinuxFromDisk(osDisk)
.create();
См. Java: Управление управляемыми дисками Azure для получения более подробной информации.
Обновление-1
Если вы хотите скопировать снимок из других регионов, просто измените withLinuxFromDisk()
на withLinuxFromSnapshot()
.
Вы можете получитьдополнительные интерфейсы о снимке Azure в Java SDK из Java SDK для Azure .
Update-2
Для вашей проблемы, которую вы хотите создатьснимок из снимка.С примером кода ниже, и он работает хорошо.
import com.microsoft.azure.management.Azure;
import com.microsoft.azure.credentials.ApplicationTokenCredentials;
import com.microsoft.azure.AzureEnvironment;
import com.microsoft.azure.management.compute.Snapshot;
import com.microsoft.azure.management.resources.fluentcore.arm.Region;
import java.io.IOException;
public class test {
public static void main(String[] args) throws IOException {
ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(
"xxxxxxxxx",
"xxxxxxxxx",
"xxxxxxxxx",
AzureEnvironment.AZURE);
Azure.Authenticated azureAuth = Azure.authenticate(credentials);
Azure azure = azureAuth.withDefaultSubscription();
Snapshot osSnapshot = azure.snapshots().define("managedOSSnapshotName")
.withRegion(Region.US_EAST)
.withExistingResourceGroup("charlesJava")
.withDataFromSnapshot("/subscriptions/xxxxxxx/resourceGroups/groupName/providers/Microsoft.Compute/snapshots/snapshottest")
.create();
}
}
Параметр, который .withDataFromSnapshot()
является идентификатором ресурса, другими словами, это идентификатор ресурса снимка.Но прежде всего вы должны получить аутентификацию группы ресурсов , которую вы хотите использовать, по крайней мере, с разрешения Contributor.Для этого шага вы можете создать субъект-службу и добавить роль для своей группы ресурсов, в которой находится снимок.