Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
In den folgenden Schritten wird beschrieben, wie Sie EBS Direct verwenden, um inkrementelle APIs Snapshots zu schreiben:
-
Verwenden Sie die StartSnapshot Aktion und geben Sie eine übergeordnete Snapshot-ID an, um einen Snapshot als inkrementellen Snapshot eines vorhandenen Snapshots zu starten, oder lassen Sie die übergeordnete Snapshot-ID weg, um einen neuen Snapshot zu starten. Diese Aktion gibt die neue Snapshot-ID zurück, die sich im Status „Ausstehend“ befindet.
-
Verwenden Sie die PutSnapshotBlock Aktion und geben Sie die ID des ausstehenden Snapshots an, um ihm Daten in Form von einzelnen Blöcken hinzuzufügen. Sie müssen eine Base64-kodierte SHA256 Prüfsumme für den übertragenen Datenblock angeben. Der Dienst berechnet die Prüfsumme der empfangenen Daten und validiert sie mit der angegebenen Prüfsumme. Die Aktion schlägt fehl, wenn die Prüfsummen nicht übereinstimmen.
-
Wenn Sie mit dem Hinzufügen von Daten zum ausstehenden Snapshot fertig sind, verwenden Sie die CompleteSnapshot Aktion, um einen asynchronen Workflow zu starten, der den Snapshot versiegelt und in den Status „Abgeschlossen“ versetzt.
Wiederholen Sie diese Schritte, um einen neuen inkrementellen Snapshot mit dem zuvor erstellten Snapshot als übergeordneter Snapshot zu erstellen.
Im folgenden Diagramm ist Snapshot A beispielsweise der erste neue Snapshot, der gestartet wurde. Snapshot A wird als übergeordneter Snapshot zum Starten von Snapshot B verwendet. Snapshot B wird als übergeordneter Snapshot zum Starten und Erstellen von Snapshots C verwendet. Snapshots A, B und C sind inkrementelle Snapshots. Snapshot A wird verwendet, um EBS-Volume 1 zu erstellen. Snapshot D wird aus EBS-Volume 1 erstellt. Snapshot D ist ein inkrementeller Snapshot von A; es handelt sich nicht um einen inkrementellen Snapshot von B oder C.

Die folgenden Beispiele zeigen, wie Snapshots mit EBS Direct geschrieben werden. APIs
Starten eines Snapshots
Der folgende Beispielbefehl start-Snapshot8
-GiB-Snapshot, wobei der Snapshot snap-123EXAMPLE1234567
als übergeordneter Snapshot verwendet wird. Der neue Snapshot ist ein inkrementeller Snapshot des übergeordneten Snapshots. Der Snapshot wird in einen Fehlerzustand verschoben, wenn innerhalb des angegebenen Timeout-Zeitraums von 60
Minuten keine Einfüge- oder Abschlussanforderungen für den Snapshot gesendet werden. Das Client-Token 550e8400-e29b-41d4-a716-446655440000
stellt Idempotenz für die Anforderung sicher. Wenn das Client-Token weggelassen wird, generiert das AWS SDK automatisch eines für Sie. Weitere Informationen zur Idempotenz finden Sie unter StartSnapshot Stellen Sie die Idempotenz bei API-Anfragen sicher.
aws ebs start-snapshot --volume-size
8
--parent-snapshotsnap-123EXAMPLE1234567
--timeout60
--client-token550e8400-e29b-41d4-a716-446655440000
Die folgende Beispielantwort für den vorherigen Befehl zeigt die Snapshot-ID, die AWS
-Konto-ID, den Status, die Volume-Größe in GiB und die Größe der Blöcke im Snapshot. Der Snapshot wird im Zustand pending
gestartet. Geben Sie die Snapshot-ID in nachfolgenden put-snapshot-block
-Befehlen an, um Daten in den Snapshot zu schreiben. Verwenden Sie anschließend den Befehl complete-snapshot
, um den Snapshot abzuschließen und den Status in completed
zu ändern.
{
"SnapshotId": "snap-0aaEXAMPLEe306d62",
"OwnerId": "111122223333",
"Status": "pending",
"VolumeSize": 8,
"BlockSize": 524288
}
Einfügen von Daten in einen Snapshot
Der folgende put-snapshot-block524288
Datenbytes in den Blockindex 1000
des Snapshotssnap-0aaEXAMPLEe306d62
. Die Base64-codierte QOD3gmEQOXATfJx2Aa34W4FU2nZGyXfqtsUuktOw8DM=
-Prüfsumme wurde mit dem SHA256
-Algorithmus generiert. Die übertragenen Daten befinden sich in der Datei /tmp/data
.
aws ebs put-snapshot-block --snapshot-id
snap-0aaEXAMPLEe306d62
--block-index1000
--data-length524288
--block-data/tmp/data
--checksumQOD3gmEQOXATfJx2Aa34W4FU2nZGyXfqtsUuktOw8DM=
--checksum-algorithmSHA256
Die folgende Beispielantwort für den vorherigen Befehl bestätigt die Datenlänge, die Prüfsumme und den Prüfsummenalgorithmus für die vom Service empfangenen Daten.
{
"DataLength": "524288",
"Checksum": "QOD3gmEQOXATfJx2Aa34W4FU2nZGyXfqtsUuktOw8DM=",
"ChecksumAlgorithm": "SHA256"
}
Abschluss eines Snapshots
Mit dem folgenden Beispielbefehl complete-snapshotsnap-0aaEXAMPLEe306d62
abgeschlossen. Der Befehl gibt an, dass 5
Blöcke in den Snapshot geschrieben wurden. Die Prüfsumme 6D3nmwi5f2F0wlh7xX8QprrJBFzDX8aacdOcA3KCM3c=
stellt die Prüfsumme für den gesamten Datensatz dar, der in den Snapshot geschrieben wurde. Weitere Informationen zu Prüfsummen finden Sie unter Verwenden Sie direkte APIs EBS-Checksummen, um Snapshot-Daten zu validieren weiter oben in dieser Anleitung.
aws ebs complete-snapshot --snapshot-id
snap-0aaEXAMPLEe306d62
--changed-blocks-count5
--checksum6D3nmwi5f2F0wlh7xX8QprrJBFzDX8aacdOcA3KCM3c=
--checksum-algorithmSHA256
--checksum-aggregation-methodLINEAR
Im Folgenden finden Sie eine Beispielantwort für den vorherigen Befehl.
{
"Status": "pending"
}