選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

使用 EBS 直接 APIs 讀取 Amazon EBS 快照

焦點模式
使用 EBS 直接 APIs 讀取 Amazon EBS 快照 - Amazon EBS

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

下列步驟說明如何使用 EBS 直接 API 讀取快照:

  1. 使用 ListSnapShotBlock 動作可檢視快照中區塊的所有區塊索引和區塊標記。或者,使用 ListChangedBlock 動作,只檢視相同磁碟區的兩個快照和快照歷程之間不同的區塊索引和區塊標記。這些動作可協助您識別您可能想要取得資料的區塊標記和區塊索引。

  2. 使用 GetSnapshotBlock 動作,並指定要取得資料之區塊的區塊索引和區塊標記。

注意

您無法將 EBS 直接 APIs與封存的快照搭配使用。

下列範例示範如何使用 EBS 直接 API 讀取快照。

列出快照中的區塊

AWS CLI

下列 list-snapshot-blocks 範例命令會傳回快照中區塊的區塊索引和區塊標記 snap-0987654321--starting-block-index 參數會將結果限制為封鎖大於 1000 的索引,並且 --max-results 參數會將結果限制在第一個 100 區塊。

aws ebs list-snapshot-blocks --snapshot-id snap-0987654321 --starting-block-index 1000 --max-results 100

下列前一個命令的範例回應會列出快照中的區塊索引和區塊標記。使用 get-snapshot-block 命令並指定要取得資料之區塊的區塊索引和區塊標記。區塊標記在列出的到期時間之前都有效。

{ "Blocks": [ { "BlockIndex": 1001, "BlockToken": "AAABAV3/PNhXOynVdMYHUpPsetaSvjLB1dtIGfbJv5OJ0sX855EzGTWos4a4" }, { "BlockIndex": 1002, "BlockToken": "AAABATGQIgwr0WwIuqIMjCA/Sy7e/YoQFZsHejzGNvjKauzNgzeI13YHBfQB" }, { "BlockIndex": 1007, "BlockToken": "AAABAZ9CTuQtUvp/dXqRWw4d07eOgTZ3jvn6hiW30W9duM8MiMw6yQayzF2c" }, { "BlockIndex": 1012, "BlockToken": "AAABAQdzxhw0rVV6PNmsfo/YRIxo9JPR85XxPf1BLjg0Hec6pygYr6laE1p0" }, { "BlockIndex": 1030, "BlockToken": "AAABAaYvPax6mv+iGWLdTUjQtFWouQ7Dqz6nSD9L+CbXnvpkswA6iDID523d" }, { "BlockIndex": 1031, "BlockToken": "AAABATgWZC0XcFwUKvTJbUXMiSPg59KVxJGL+BWBClkw6spzCxJVqDVaTskJ" }, ... ], "ExpiryTime": 1576287332.806, "VolumeSize": 32212254720, "BlockSize": 524288 }
AWS API

下列 ListSnapshotBlocks 範例請求會傳回快照 snap-0acEXAMPLEcf41648 中區塊的區塊索引和區塊標記。startingBlockIndex 參數會將結果限制為封鎖大於 1000 的索引,並且 maxResults 參數會將結果限制在第一個 100 區塊。

GET /snapshots/snap-0acEXAMPLEcf41648/blocks?maxResults=100&startingBlockIndex=1000 HTTP/1.1 Host: ebs.us-east-2.amazonaws.com Accept-Encoding: identity User-Agent: <User agent parameter> X-Amz-Date: 20200617T231953Z Authorization: <Authentication parameter>

下列先前請求的範例回應會列出快照中的區塊索引和區塊標記。使用 GetSnapshotBlock 動作,並指定要取得資料之區塊的區塊索引和區塊標記。區塊標記在列出的到期時間之前都有效。

HTTP/1.1 200 OK x-amzn-RequestId: d6e5017c-70a8-4539-8830-57f5557f3f27 Content-Type: application/json Content-Length: 2472 Date: Wed, 17 Jun 2020 23:19:56 GMT Connection: keep-alive { "BlockSize": 524288, "Blocks": [ { "BlockIndex": 0, "BlockToken": "AAUBAcuWqOCnDNuKle11s7IIX6jp6FYcC/q8oT93913HhvLvA+3JRrSybp/0" }, { "BlockIndex": 1536, "BlockToken": "AAUBAWudwfmofcrQhGVlLwuRKm2b8ZXPiyrgoykTRC6IU1NbxKWDY1pPjvnV" }, { "BlockIndex": 3072, "BlockToken": "AAUBAV7p6pC5fKAC7TokoNCtAnZhqq27u6YEXZ3MwRevBkDjmMx6iuA6tsBt" }, { "BlockIndex": 3073, "BlockToken": "AAUBAbqt9zpqBUEvtO2HINAfFaWToOwlPjbIsQOlx6JUN/0+iMQl0NtNbnX4" }, ... ], "ExpiryTime": 1.59298379649E9, "VolumeSize": 3 }

下列 list-snapshot-blocks 範例命令會傳回快照中區塊的區塊索引和區塊標記 snap-0987654321--starting-block-index 參數會將結果限制為封鎖大於 1000 的索引,並且 --max-results 參數會將結果限制在第一個 100 區塊。

aws ebs list-snapshot-blocks --snapshot-id snap-0987654321 --starting-block-index 1000 --max-results 100

下列前一個命令的範例回應會列出快照中的區塊索引和區塊標記。使用 get-snapshot-block 命令並指定要取得資料之區塊的區塊索引和區塊標記。區塊標記在列出的到期時間之前都有效。

{ "Blocks": [ { "BlockIndex": 1001, "BlockToken": "AAABAV3/PNhXOynVdMYHUpPsetaSvjLB1dtIGfbJv5OJ0sX855EzGTWos4a4" }, { "BlockIndex": 1002, "BlockToken": "AAABATGQIgwr0WwIuqIMjCA/Sy7e/YoQFZsHejzGNvjKauzNgzeI13YHBfQB" }, { "BlockIndex": 1007, "BlockToken": "AAABAZ9CTuQtUvp/dXqRWw4d07eOgTZ3jvn6hiW30W9duM8MiMw6yQayzF2c" }, { "BlockIndex": 1012, "BlockToken": "AAABAQdzxhw0rVV6PNmsfo/YRIxo9JPR85XxPf1BLjg0Hec6pygYr6laE1p0" }, { "BlockIndex": 1030, "BlockToken": "AAABAaYvPax6mv+iGWLdTUjQtFWouQ7Dqz6nSD9L+CbXnvpkswA6iDID523d" }, { "BlockIndex": 1031, "BlockToken": "AAABATgWZC0XcFwUKvTJbUXMiSPg59KVxJGL+BWBClkw6spzCxJVqDVaTskJ" }, ... ], "ExpiryTime": 1576287332.806, "VolumeSize": 32212254720, "BlockSize": 524288 }

列出兩個快照之間不同的區塊

製作分頁要求列出兩個快照之間不同的區塊時,請謹記下列事項:

  • 回應可以包含一個或多個空 ChangedBlocks 陣列。例如:

    • 快照 1:區塊索引編號 0 - 999 的 1000 個區塊的完整快照。

    • 快照 2:僅包含一個變更區塊 (區塊索引編號 999) 的增量快照。

    列出這些具有 StartingBlockIndex = 0MaxResults = 100 之快照的變更區塊會傳回 ChangedBlocks 的空陣列。您必須使用 nextToken 要求剩餘結果,直到在第十個結果集中傳回變更區塊,結果集會包括區塊索引編號 900 - 999 的區塊。

  • 回應可以略過快照中未寫入的區塊。例如:

    • 快照 1:區塊索引編號 2000 - 2999 的 1000 個區塊的完整快照。

    • 快照 2:僅包含一個變更區塊 (區塊索引編號 2000) 的增量快照。

    列出這些具有 StartingBlockIndex = 0MaxResults = 100 之快照的變更區塊時,回應會略過索引編號 0 - 1999 的區塊,並且包括索引編號 2000 的區塊。回應將不會包含空 ChangedBlocks 陣列。

AWS CLI

下列 list-changed-blocks 範例命令會傳回快照和區塊 snap-1234567890snap-0987654321 之間不同的區塊索引和區塊標記。--starting-block-index 參數會將結果限制為封鎖大於 0 的索引,並且 --max-results 參數會將結果限制在第一個 500 區塊。

aws ebs list-changed-blocks --first-snapshot-id snap-1234567890 --second-snapshot-id snap-0987654321 --starting-block-index 0 --max-results 500

下列前一個命令的範例回應會顯示出區塊索引 0、6000、6001、6002 和 6003 在兩個快照之間並不同。此外,區塊索引 6001、6002 和 6003 只存在於指定的第一個快照 ID 中,而不存在於第二個快照 ID 中,因為回應中沒有列出第二個區塊標記。

使用 get-snapshot-block 命令並指定要取得資料之區塊的區塊索引和區塊標記。區塊標記在列出的到期時間之前都有效。

{ "ChangedBlocks": [ { "BlockIndex": 0, "FirstBlockToken": "AAABAVahm9SO60Dyi0ORySzn2ZjGjW/KN3uygGlS0QOYWesbzBbDnX2dGpmC", "SecondBlockToken": "AAABAf8o0o6UFi1rDbSZGIRaCEdDyBu9TlvtCQxxoKV8qrUPQP7vcM6iWGSr" }, { "BlockIndex": 6000, "FirstBlockToken": "AAABAbYSiZvJ0/R9tz8suI8dSzecLjN4kkazK8inFXVintPkdaVFLfCMQsKe", "SecondBlockToken": "AAABAZnqTdzFmKRpsaMAsDxviVqEI/3jJzI2crq2eFDCgHmyNf777elD9oVR" }, { "BlockIndex": 6001, "FirstBlockToken": "AAABASBpSJ2UAD3PLxJnCt6zun4/T4sU25Bnb8jB5Q6FRXHFqAIAqE04hJoR" }, { "BlockIndex": 6002, "FirstBlockToken": "AAABASqX4/NWjvNceoyMUljcRd0DnwbSwNnes1UkoP62CrQXvn47BY5435aw" }, { "BlockIndex": 6003, "FirstBlockToken": "AAABASmJ0O5JxAOce25rF4P1sdRtyIDsX12tFEDunnePYUKOf4PBROuICb2A" }, ... ], "ExpiryTime": 1576308931.973, "VolumeSize": 32212254720, "BlockSize": 524288, "NextToken": "AAADARqElNng/sV98CYk/bJDCXeLJmLJHnNSkHvLzVaO0zsPH/QM3Bi3zF//O6Mdi/BbJarBnp8h" }
AWS API

下列 ListChangedBlock 範例請求會傳回快照 snap-0acEXAMPLEcf41648snap-0c9EXAMPLE1b30e2f 間不同的區塊索引和區塊標記。startingBlockIndex 參數會將結果限制為封鎖大於 0 的索引,並且 maxResults 參數會將結果限制在第一個 500 區塊。

GET /snapshots/snap-0c9EXAMPLE1b30e2f/changedblocks?firstSnapshotId=snap-0acEXAMPLEcf41648&maxResults=500&startingBlockIndex=0 HTTP/1.1 Host: ebs.us-east-2.amazonaws.com Accept-Encoding: identity User-Agent: <User agent parameter> X-Amz-Date: 20200617T232546Z Authorization: <Authentication parameter>

以下針對先前請求的範例回應顯示區塊索引 0, 30726002、和 6003 在兩個快照之間不同。此外,區塊索引 60026003 只存在於指定的第一個快照 ID 中,而不存在於第二個快照 ID 中,因為回應中沒有列出第二個區塊標記。

使用 GetSnapshotBlock 動作並指定要取得資料之區塊的區塊索引和區塊標記。區塊標記在列出的到期時間之前都有效。

HTTP/1.1 200 OK x-amzn-RequestId: fb0f6743-6d81-4be8-afbe-db11a5bb8a1f Content-Type: application/json Content-Length: 1456 Date: Wed, 17 Jun 2020 23:25:47 GMT Connection: keep-alive { "BlockSize": 524288, "ChangedBlocks": [ { "BlockIndex": 0, "FirstBlockToken": "AAUBAVaWqOCnDNuKle11s7IIX6jp6FYcC/tJuVT1GgP23AuLntwiMdJ+OJkL", "SecondBlockToken": "AAUBASxzy0Y0b33JVRLoYm3NOresCxn5RO+HVFzXW3Y/RwfFaPX2Edx8QHCh" }, { "BlockIndex": 3072, "FirstBlockToken": "AAUBAcHp6pC5fKAC7TokoNCtAnZhqq27u6fxRfZOLEmeXLmHBf2R/Yb24MaS", "SecondBlockToken": "AAUBARGCaufCqBRZC8tEkPYGGkSv3vqvOjJ2xKDi3ljDFiytUxBLXYgTmkid" }, { "BlockIndex": 6002, "FirstBlockToken": "AAABASqX4/NWjvNceoyMUljcRd0DnwbSwNnes1UkoP62CrQXvn47BY5435aw" }, { "BlockIndex": 6003, "FirstBlockToken": "AAABASmJ0O5JxAOce25rF4P1sdRtyIDsX12tFEDunnePYUKOf4PBROuICb2A" }, ... ], "ExpiryTime": 1.592976647009E9, "VolumeSize": 3 }

下列 list-changed-blocks 範例命令會傳回快照和區塊 snap-1234567890snap-0987654321 之間不同的區塊索引和區塊標記。--starting-block-index 參數會將結果限制為封鎖大於 0 的索引,並且 --max-results 參數會將結果限制在第一個 500 區塊。

aws ebs list-changed-blocks --first-snapshot-id snap-1234567890 --second-snapshot-id snap-0987654321 --starting-block-index 0 --max-results 500

下列前一個命令的範例回應會顯示出區塊索引 0、6000、6001、6002 和 6003 在兩個快照之間並不同。此外,區塊索引 6001、6002 和 6003 只存在於指定的第一個快照 ID 中,而不存在於第二個快照 ID 中,因為回應中沒有列出第二個區塊標記。

使用 get-snapshot-block 命令並指定要取得資料之區塊的區塊索引和區塊標記。區塊標記在列出的到期時間之前都有效。

{ "ChangedBlocks": [ { "BlockIndex": 0, "FirstBlockToken": "AAABAVahm9SO60Dyi0ORySzn2ZjGjW/KN3uygGlS0QOYWesbzBbDnX2dGpmC", "SecondBlockToken": "AAABAf8o0o6UFi1rDbSZGIRaCEdDyBu9TlvtCQxxoKV8qrUPQP7vcM6iWGSr" }, { "BlockIndex": 6000, "FirstBlockToken": "AAABAbYSiZvJ0/R9tz8suI8dSzecLjN4kkazK8inFXVintPkdaVFLfCMQsKe", "SecondBlockToken": "AAABAZnqTdzFmKRpsaMAsDxviVqEI/3jJzI2crq2eFDCgHmyNf777elD9oVR" }, { "BlockIndex": 6001, "FirstBlockToken": "AAABASBpSJ2UAD3PLxJnCt6zun4/T4sU25Bnb8jB5Q6FRXHFqAIAqE04hJoR" }, { "BlockIndex": 6002, "FirstBlockToken": "AAABASqX4/NWjvNceoyMUljcRd0DnwbSwNnes1UkoP62CrQXvn47BY5435aw" }, { "BlockIndex": 6003, "FirstBlockToken": "AAABASmJ0O5JxAOce25rF4P1sdRtyIDsX12tFEDunnePYUKOf4PBROuICb2A" }, ... ], "ExpiryTime": 1576308931.973, "VolumeSize": 32212254720, "BlockSize": 524288, "NextToken": "AAADARqElNng/sV98CYk/bJDCXeLJmLJHnNSkHvLzVaO0zsPH/QM3Bi3zF//O6Mdi/BbJarBnp8h" }

從快照取得區塊資料

AWS CLI

下面的 get-snapshot-block 範例請求會傳回帶有區塊標記 6001 的區塊索引 AAABASBpSJ2UAD3PLxJnCt6zun4/T4sU25Bnb8jB5Q6FRXHFqAIAqE04hJoR 中的資料,位於快照 snap-1234567890 中。二進位資料將輸出到 Windows 電腦上 data 目錄中的 C:\Temp 檔案。如果您在 Linux 或 Unix 電腦上執行命令,請將輸出路徑取代為 /tmp/data 以將資料輸出至 data 目錄中的 /tmp 檔案。

aws ebs get-snapshot-block --snapshot-id snap-1234567890 --block-index 6001 --block-token AAABASBpSJ2UAD3PLxJnCt6zun4/T4sU25Bnb8jB5Q6FRXHFqAIAqE04hJoR C:/Temp/data

下列前一個命令的範例回應會顯示傳回的資料大小、用來驗證資料的檢查總和,以及檢查總和的演算法。二進位資料會自動儲存到您在請求命令中指定的目錄和檔案。

{ "DataLength": "524288", "Checksum": "cf0Y6/Fn0oFa4VyjQPOa/iD0zhTflPTKzxGv2OKowXc=", "ChecksumAlgorithm": "SHA256" }
AWS API

下面的 GetSnapshotBlock 範例請求會傳回帶有區塊標記 3072 的區塊索引 AAUBARGCaufCqBRZC8tEkPYGGkSv3vqvOjJ2xKDi3ljDFiytUxBLXYgTmkid 中的資料,位於快照 snap-0c9EXAMPLE1b30e2f 中。

GET /snapshots/snap-0c9EXAMPLE1b30e2f/blocks/3072?blockToken=AAUBARGCaufCqBRZC8tEkPYGGkSv3vqvOjJ2xKDi3ljDFiytUxBLXYgTmkid HTTP/1.1 Host: ebs.us-east-2.amazonaws.com Accept-Encoding: identity User-Agent: <User agent parameter> X-Amz-Date: 20200617T232838Z Authorization: <Authentication parameter>

下列前一個請求的範例回應會顯示傳回的資料大小、用來驗證資料的檢查總和,以及用來產生檢查總和的演算法。二進制資料會在響應的主體中傳輸,並在下面的例子中表示為 BlockData

HTTP/1.1 200 OK x-amzn-RequestId: 2d0db2fb-bd88-474d-a137-81c4e57d7b9f x-amz-Data-Length: 524288 x-amz-Checksum: Vc0yY2j3qg8bUL9I6GQuI2orTudrQRBDMIhcy7bdEsw= x-amz-Checksum-Algorithm: SHA256 Content-Type: application/octet-stream Content-Length: 524288 Date: Wed, 17 Jun 2020 23:28:38 GMT Connection: keep-alive BlockData

下面的 get-snapshot-block 範例請求會傳回帶有區塊標記 6001 的區塊索引 AAABASBpSJ2UAD3PLxJnCt6zun4/T4sU25Bnb8jB5Q6FRXHFqAIAqE04hJoR 中的資料,位於快照 snap-1234567890 中。二進位資料將輸出到 Windows 電腦上 data 目錄中的 C:\Temp 檔案。如果您在 Linux 或 Unix 電腦上執行命令,請將輸出路徑取代為 /tmp/data 以將資料輸出至 data 目錄中的 /tmp 檔案。

aws ebs get-snapshot-block --snapshot-id snap-1234567890 --block-index 6001 --block-token AAABASBpSJ2UAD3PLxJnCt6zun4/T4sU25Bnb8jB5Q6FRXHFqAIAqE04hJoR C:/Temp/data

下列前一個命令的範例回應會顯示傳回的資料大小、用來驗證資料的檢查總和,以及檢查總和的演算法。二進位資料會自動儲存到您在請求命令中指定的目錄和檔案。

{ "DataLength": "524288", "Checksum": "cf0Y6/Fn0oFa4VyjQPOa/iD0zhTflPTKzxGv2OKowXc=", "ChecksumAlgorithm": "SHA256" }

下一個主題:

寫入快照

上一個主題:

控制存取
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。