Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Manifes Impor VM
Manifes impor adalah file XMLyang dibuat dan digunakan oleh operasi Amazon EC2 API ImportInstancedan file. ImportVolume Perhatikan bahwa operasi ini tidak didukung oleh AWS CLI.
Manifes memungkinkan gambar mesin virtual dipecah menjadi bagian-bagian kecil untuk ditransfer dan kemudian dipasang kembali di tujuan, dengan dukungan untuk mencoba kembali transfer sebagian yang gagal. File ini umumnya dibuat, dikonsumsi, dan dihancurkan oleh alat Amazon EC2 tanpa campur tangan pengguna.
Dalam beberapa situasi luar biasa, pengembang mungkin ingin membuat manifes secara manual atau terprogram, sehingga memungkinkan untuk melewati operasi API tertentu sambil tetap menyediakan manifes untuk operasi lain yang memerlukan file sebagai nilai parameter.
Topik ini mendokumentasikan struktur manifes dan menyediakan file sampel.
catatan
Manipulasi langsung manifes berangkat dari alur kerja standar Amazon EC2 API. Kami menyarankan Anda mengikuti prosedur dalam Import/Export proses VM sebagai gantinya.
Skema Manifes
Skema di bawah ini menjelaskan format manifes. Dokumentasi untuk elemen skema disajikan sebaris.
<?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>
Contoh
Contoh pertama manifes ini menggambarkan gambar volume dengan dua bagian. File yang berisi bagian-bagiannya ada di sistem lokal dan harus diunggah ke 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>
Contoh kedua menggambarkan gambar volume dengan satu bagian yang telah diunggah ke 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>