Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Manifesto di importazione VM
Il manifesto di importazione è un file XML creato e utilizzato dalle operazioni ImportInstancedell'API Amazon EC2 e. ImportVolume Tieni presente che queste operazioni non sono supportate da. AWS CLI
Il manifesto consente di suddividere l'immagine di una macchina virtuale in piccole parti per il trasferimento e quindi di riassemblarla nella destinazione, con il supporto per ritentare i trasferimenti parziali non riusciti. Questo file viene generalmente creato, utilizzato e distrutto dagli strumenti di Amazon EC2 senza l'intervento dell'utente.
In alcune situazioni eccezionali, gli sviluppatori potrebbero voler creare un manifesto manualmente o programmaticamente, in modo da aggirare determinate operazioni API e fornire comunque un manifesto per altre operazioni che richiedono il file come valore di parametro.
Questo argomento documenta la struttura del manifesto e fornisce un file di esempio.
Nota
La manipolazione diretta del manifesto si discosta dal flusso di lavoro standard dell'API Amazon EC2. Ti consigliamo invece di seguire le procedure dei processi Import/Export VM.
Schema manifesto
Lo schema seguente descrive il formato del manifesto. La documentazione per gli elementi dello schema è presentata in linea.
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="manifest"> <xs:complexType> <xs:sequence> <xs:element name="version" type="xs:string"> <xs:annotation> <xs:documentation> Version designator for the manifest file, </xs:documentation> </xs:annotation> </xs:element> <xs:element name="file-format" type="xs:string"> <xs:annotation> <xs:documentation> File format of volume to be imported, with value RAW, VHD, or VMDK. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="importer" type="Importer"> <xs:annotation> <xs:documentation> Complex type describing the software that created the manifest. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="self-destruct-url" type="xs:anyURI"> <xs:annotation> <xs:documentation> Signed URL used to delete the stored manifest file. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="import" type="Import"> <xs:annotation> <xs:documentation> Complex type describing the size and chunking of the volume file. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="Importer"> <xs:sequence> <xs:element name="name" type="xs:string"> <xs:annotation> <xs:documentation> Name of the software that created the manifest. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="version" type="xs:string"> <xs:annotation> <xs:documentation> Version of the software that created the manifest. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="release" type="xs:string"> <xs:annotation> <xs:documentation> Release number of the software that created the manifest. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="Import"> <xs:sequence> <xs:element name="size" type="xs:long"> <xs:annotation> <xs:documentation> Exact size of the file to be imported (bytes on disk). </xs:documentation> </xs:annotation> </xs:element> <xs:element name="volume-size" type="xs:long"> <xs:annotation> <xs:documentation> Rounded size in gigabytes of volume to be imported. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="parts" type="Parts"> <xs:annotation> <xs:documentation> Complex type describing and counting the parts into which the file is split. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="Parts"> <xs:sequence> <xs:element minOccurs="1" maxOccurs="unbounded" name="part" type="Part"> <xs:annotation> <xs:documentation> Definition of a particular part. Any number of parts may be defined. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="count" type="xs:int"> <xs:annotation> <xs:documentation> Total count of the parts. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="Part"> <xs:sequence> <xs:element name="byte-range" type="ByteRange"> <xs:annotation> <xs:documentation> Complex type defining the starting and ending byte count of a part. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="key" type="xs:string"> <xs:annotation> <xs:documentation> The S3 object name of the part. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="head-url" type="xs:anyURI"> <xs:annotation> <xs:documentation> Signed URLs for issuing a HEAD request on the S3 object containing this part. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="get-url" type="xs:anyURI"> <xs:annotation> <xs:documentation> Signed URLs for issuing a GET request on the S3 object containing this part. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="delete-url" minOccurs="0" type="xs:anyURI"> <xs:annotation> <xs:documentation> Signed URLs for issuing a DELETE request on the S3 object containing this part. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="index" type="xs:int"> <xs:annotation> <xs:documentation> Index number of this part. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:complexType name="ByteRange"> <xs:attribute name="start" type="xs:long"> <xs:annotation> <xs:documentation> Offset of a part's first byte in the disk image. </xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="end" type="xs:long"> <xs:annotation> <xs:documentation> Offset of a part's last byte in the disk image. </xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:schema>
Esempi
Questo primo esempio di manifesto descrive un'immagine di volume composta da due parti. I file contenenti le parti si trovano su un sistema locale e devono essere caricati su Amazon S3.
<manifest> <version>2010-11-15</version> <file-format>VMDK</file-format> <importer> <name>ec2-upload-disk-image</name> <version>1.0.0</version> <release>2010-11-15</release> </importer> <self-destruct-url>https://example-disk-part-bucket.s3.amazonaws.com/d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdkmanifest.xml?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1416618486&Signature=m%2Bl%2FkuKuvfEeD%2Fya%2B0TrgeiH%2FLM%3D</self-destruct-url> <import> <size>12595200</size> <volume-size>1</volume-size> <parts count="2"> <part index="0"> <byte-range end="10485759" start="0"/> <key>d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdk.part0</key> <head-url>https://example-disk-part-bucket.s3.amazonaws.com/d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdk.part0?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1416618486&Signature=2yqS2VGYXGmqcbu%2FrQEn8FGIKaI%3D</head-url> <get-url>https://example-disk-part-bucket.s3.amazonaws.com/d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdk.part0?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1416618486&Signature=nEvl8VhFoEuIjJFRkAYB2IWKRtY%3D</get-url> <delete-url>https://example-disk-part-bucket.s3.amazonaws.com/d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdk.part0?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1416618486&Signature=CX19zc4Eys8BN%2FXsoepk%2Bi3i4No%3D</delete-url> </part> <part index="1"> <byte-range end="12595199" start="10485760"/> <key>d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdk.part1</key> <head-url>https://example-disk-part-bucket.s3.amazonaws.com/d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdk.part1?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1416618486&Signature=3b%2F8ky92L8g%2BBf15Ou194VnR4Js%3D</head-url> <get-url>https://example-disk-part-bucket.s3.amazonaws.com/d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdk.part1?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1416618486&Signature=W%2FxagI5ChmfqqgY8WwyDJ3Rgviw%3D</get-url> <delete-url>https://example-disk-part-bucket.s3.amazonaws.com/d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdk.part1?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1416618486&Signature=08FH3QPwkIcNURnNpT9DIvvhQ0I%3D</delete-url> </part> </parts> </import> </manifest>
Il secondo esempio descrive un'immagine di volume con una singola parte che è già stata caricata su Amazon S3.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <manifest> <version>2010-11-15</version> <file-format>VMDK</file-format> <importer> <name>Linux_RHEL_59_64.vmdk</name> <version>1.0.0</version> <release>2010-11-15</release> </importer> <self-destruct-url>https://example-disk-part-bucket.s3.ap-northeast-2.amazonaws.com/Linux_RHEL_59_64.vmdk?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJ26ZRPZDGYJT4KAQFEXAMPLE%2Fap-northeast-2%2Fs3%2Faws4_request&X-Amz-Date=20151119T234529Z&X-Amz-Expires=604800&X-Amz-Signature=4dbf803f2e52fb6a876d3b63778033af42ec11155b37366ab4fca56691672807&X-Amz-SignedHeaders=Host</self-destruct-url> <import> <size>994433536</size> <volume-size>1</volume-size> <parts count="1"> <part index="0"> <byte-range end="994433536" start="0"/> <key>Linux_RHEL_59_64.vmdk</key> <head-url>https://example-disk-part-bucket.s3.ap-northeast-2.amazonaws.com/Linux_RHEL_59_64.vmdk?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJ26ZRPZDGYJT4KAQFEXAMPLE%2Fap-northeast-2%2Fs3%2Faws4_request&X-Amz-Date=20151119T234529Z&X-Amz-Expires=604800&X-Amz-Signature=4c3a7bdf3ef8fa53a5585fc67747c81ea1f65bf09f3768998a575dabf5dfda2e&X-Amz-SignedHeaders=Host</head-url> <get-url>https://example-disk-part-bucket.s3.ap-northeast-2.amazonaws.com/Linux_RHEL_59_64.vmdk?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJ26ZRPZDGYJT4KAQFEXAMPLE%2Fap-northeast-2%2Fs3%2Faws4_request&X-Amz-Date=20151119T234529Z&X-Amz-Expires=604800&X-Amz-Signature=329d6abb673e4ce11c0aa602f34f62fb8ced703e8ae6c04f24c16e79d7699e52&X-Amz-SignedHeaders=Host</get-url> <delete-url>https://example-disk-part-bucket.s3.ap-northeast-2.amazonaws.com/Linux_RHEL_59_64.vmdk?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJ26ZRPZDGYJT4KAQFEXAMPLE%2Fap-northeast-2%2Fs3%2Faws4_request&X-Amz-Date=20151119T234529Z&X-Amz-Expires=604800&X-Amz-Signature=4dbf803f2e52fb6a876d3b63778033af42ec11155b37366ab4fca56691672807&X-Amz-SignedHeaders=Host</delete-url> </part> </parts> </import> </manifest>