

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.

# Verwendung von Amazon Glacier in AWS CLI
<a name="cli-services-glacier"></a>


| Eine Einführung in Amazon Glacier | 
| --- | 
|    | 

Dieses Thema zeigt Beispiele für AWS CLI Befehle, die allgemeine Aufgaben für Amazon Glacier ausführen. Die Beispiele zeigen, wie Sie mithilfe von eine große Datei AWS CLI auf Amazon Glacier hochladen können, indem Sie sie in kleinere Teile aufteilen und diese über die Befehlszeile hochladen.

Sie können mit dem AWS Command Line Interface (AWS CLI) auf Amazon Glacier-Funktionen zugreifen. Verwenden Sie den folgenden Befehl, um die AWS CLI Befehle für Amazon Glacier aufzulisten.

```
aws glacier help
```

**Anmerkung**  
Weitere Befehlsreferenzen und -beispiele finden Sie unter `[aws glacier](https://docs.aws.amazon.com/cli/latest/reference/glacier/index.html)` in der *AWS CLI -Befehlsreferenz*..

**Topics**
+ [Voraussetzungen](#cli-services-glacier-prereqs)
+ [Einen Amazon Glacier-Tresor erstellen](#cli-services-glacier-vault)
+ [Vorbereiten einer Datei zum Hochladen](#cli-services-glacier-prep)
+ [Starten eines mehrteiligen Uploads und Hochladen der Dateien](#cli-services-glacier-initiate)
+ [Abschließen des Uploads](#cli-services-glacier-complete)
+ [Ressourcen](#cli-services-glacier-resources)

## Voraussetzungen
<a name="cli-services-glacier-prereqs"></a>

Zur Ausführung von `glacier`-Befehlen ist Folgendes erforderlich:
+ Installieren und Konfigurieren der AWS CLI. Weitere Informationen erhalten Sie unter [Installation oder Aktualisierung auf die neueste Version von AWS CLI](getting-started-install.md) und [Authentifizierungs- und Zugangsdaten für die AWS CLI](cli-chap-authentication.md).
+ Dieses Tutorial verwendet mehrere Befehlszeilentools, die normalerweise auf Unix-ähnlichen Betriebssystemen vorinstalliert sind, einschließlich Linux und macOS. Windows-Benutzer können die gleichen Tools verwenden, indem Sie [Cygwin](https://www.cygwin.com/) installieren und die Befehle vom Cygwin-Terminal ausführen. Wir geben systemeigene Windows-Befehle und -Hilfsprogramme an, die die gleichen Funktionen ausführen, sofern verfügbar.

## Einen Amazon Glacier-Tresor erstellen
<a name="cli-services-glacier-vault"></a>

Erstellen Sie einen Tresor mit dem Befehl `[create-vault](https://docs.aws.amazon.com/cli/latest/reference/glacier/create-vault.html)`.

```
$ aws glacier create-vault --account-id - --vault-name myvault
{
    "location": "/123456789012/vaults/myvault"
}
```

**Anmerkung**  
Alle Amazon Glacier-Befehle erfordern einen Konto-ID-Parameter. Verwenden Sie den Bindestrich (`--account-id -`), um das aktuelle Konto zu verwenden.

## Vorbereiten einer Datei zum Hochladen
<a name="cli-services-glacier-prep"></a>

Erstellen Sie eine Datei für einen Probe-Upload. Mit den folgenden Befehlen wird eine Datei mit dem Namen erstellt*largefile*, die genau 3 MiB an zufälligen Daten enthält.

**Linux oder macOS**

```
$ dd if=/dev/urandom of=largefile bs=3145728 count=1
1+0 records in
1+0 records out
3145728 bytes (3.1 MB) copied, 0.205813 s, 15.3 MB/s
```

`dd` ist ein Hilfsprogramm, das eine Anzahl von Bytes aus einer Eingabedatei in eine Ausgabedatei kopiert. Im vorigen Beispiel wird die Systemgerätedatei `/dev/urandom` als Quelle für Zufallsdaten verwendet. `fsutil` führt eine ähnliche Funktion in Windows aus.

**Windows**

```
C:\> fsutil file createnew largefile 3145728
File C:\temp\largefile is created
```

Teilen Sie als Nächstes die Datei mithilfe eines Programms zur Dateiaufteilung in 1-MiB-Blöcke (1 048 576 Byte) auf.

```
$ split -b 1048576 --verbose largefile chunk
creating file `chunkaa'
creating file `chunkab'
creating file `chunkac'
```

## Starten eines mehrteiligen Uploads und Hochladen der Dateien
<a name="cli-services-glacier-initiate"></a>

Erstellen Sie mithilfe des `[initiate-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/glacier/initiate-multipart-upload.html)` Befehls einen mehrteiligen Upload in Amazon Glacier.

```
$ aws glacier initiate-multipart-upload --account-id - --archive-description "multipart upload test" --part-size 1048576 --vault-name myvault
{
    "uploadId": "19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ",
    "location": "/123456789012/vaults/myvault/multipart-uploads/19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"
}
```

Amazon Glacier benötigt die Größe jedes Teils in Byte (1 MiB in diesem Beispiel), Ihren Tresornamen und eine Konto-ID, um den mehrteiligen Upload zu konfigurieren. Der AWS CLI gibt eine Upload-ID aus, wenn der Vorgang abgeschlossen ist. Speichern Sie diesen Upload-ID zur späteren Verwendung in einer Shell-Variablen.

**Linux oder macOS**

```
$ UPLOADID="19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"
```

**Windows**

```
C:\> set UPLOADID="19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ"
```

Verwenden Sie als Nächstes den Befehl `[upload-multipart-part](https://docs.aws.amazon.com/cli/latest/reference/glacier/upload-multipart-part.html)`, um die drei Teile hochzuladen.

```
$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkaa --range 'bytes 0-1048575/*' --account-id - --vault-name myvault
{
    "checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"
}
$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkab --range 'bytes 1048576-2097151/*' --account-id - --vault-name myvault
{
    "checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"
}
$ aws glacier upload-multipart-part --upload-id $UPLOADID --body chunkac --range 'bytes 2097152-3145727/*' --account-id - --vault-name myvault
{
    "checksum": "e1f2a7cd6e047fa606fe2f0280350f69b9f8cfa602097a9a026360a7edc1f553"
}
```

**Anmerkung**  
Im vorigen Beispiel wird das Dollarzeichen (`$`) verwendet, um die Inhalte der `UPLOADID` Shell-Variablen unter Linux zu referenzieren. Verwenden Sie in der Windows-Befehlszeile ein Prozentzeichen (%) auf beiden Seiten des Variablennamens (z. B, `%UPLOADID%`).

Sie müssen den Bytebereich jedes Teils angeben, wenn Sie es hochladen, damit Amazon Glacier es in der richtigen Reihenfolge wieder zusammensetzen kann. Jeder Teil hat 1 048 576 Bytes. Der erste Teil belegt somit Byte 0-1048575, der zweite 1048576-2097151 und der dritte 2097152-3145727.

## Abschließen des Uploads
<a name="cli-services-glacier-complete"></a>

Amazon Glacier benötigt einen Tree-Hash der Originaldatei, um zu bestätigen, dass alle hochgeladenen Teile AWS unversehrt erreicht wurden. 

Berechnen Sie den Struktur-Hash, indem Sie die Datei in 1-MiB-Blöcke aufteilen und einen binären SHA-256-Hash für jeden einzelnen Teil berechnen. Dann teilen Sie die Liste der Hashes in Paare auf. Sie kombinieren die beiden binären Hashes in jedem Paar und ermitteln die Hashes der Ergebnisse. Wiederholen Sie diesen Prozess, bis nur ein Hash übrig ist. Wenn es auf einer beliebigen Ebene eine ungerade Anzahl von Hashes gibt, verschieben Sie diese auf die nächste Ebene, ohne sie zu bearbeiten.

Das Wichtigste bei der korrekten Berechnung von einem Struktur-Hash unter Verwendung von Befehlszeilen-Hilfsprogrammen ist, den jeweiligen Hash im Binärformat zu speichern und erst im letzten Schritt in einen Hexadezimalwert zu konvertieren. Wenn Sie eine Hexadezimalversion von einem beliebigen Hash in der Struktur kombinieren oder hashen, erhalten Sie ein falsches Ergebnis.

**Anmerkung**  
Windows-Benutzer können den Befehl `type` anstelle von `cat` verwenden. OpenSSL für Windows steht unter [OpenSSL.org](https://www.openssl.org/source/) zur Verfügung.

**So berechnen Sie einen Struktur-Hash:**

1. Falls noch nicht geschehen, teilen Sie die Originaldatei in 1-MiB-Teile auf.

   ```
   $ split --bytes=1048576 --verbose largefile chunk
   creating file `chunkaa'
   creating file `chunkab'
   creating file `chunkac'
   ```

1. Berechnen und speichern Sie den binären SHA-256-Hash von jedem Block.

   ```
   $ openssl dgst -sha256 -binary chunkaa > hash1
   $ openssl dgst -sha256 -binary chunkab > hash2
   $ openssl dgst -sha256 -binary chunkac > hash3
   ```

1. Kombinieren Sie die ersten beiden Hashes und ermitteln Sie den binären Hash des Ergebnisses.

   ```
   $ cat hash1 hash2 > hash12
   $ openssl dgst -sha256 -binary hash12 > hash12hash
   ```

1. Kombinieren Sie den übergeordnete Hash der Blöcke `aa` und `ab` mit dem Hash `ac` und hashen Sie das Ergebnis, dieses Mal mit einer hexadezimalen Ausgabe. Speichern Sie das Ergebnis in einer Shell-Variablen.

   ```
   $ cat hash12hash hash3 > hash123
   $ openssl dgst -sha256 hash123
   SHA256(hash123)= 9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67
   $ TREEHASH=9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67
   ```

Schließen Sie den Upload mit dem Befehl `[complete-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/glacier/complete-multipart-upload.html)` ab. Dieser Befehl akzeptiert die Größe der ursprünglichen Datei in Bytes, den endgültigen Hash-Wert in Hexadezimalformat und Ihre Konto-ID sowie den Tresornamen.

```
$ aws glacier complete-multipart-upload --checksum $TREEHASH --archive-size 3145728 --upload-id $UPLOADID --account-id - --vault-name myvault
{
    "archiveId": "d3AbWhE0YE1m6f_fI1jPG82F8xzbMEEZmrAlLGAAONJAzo5QdP-N83MKqd96Unspoa5H5lItWX-sK8-QS0ZhwsyGiu9-R-kwWUyS1dSBlmgPPWkEbeFfqDSav053rU7FvVLHfRc6hg",
    "checksum": "9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67",
    "location": "/123456789012/vaults/myvault/archives/d3AbWhE0YE1m6f_fI1jPG82F8xzbMEEZmrAlLGAAONJAzo5QdP-N83MKqd96Unspoa5H5lItWX-sK8-QS0ZhwsyGiu9-R-kwWUyS1dSBlmgPPWkEbeFfqDSav053rU7FvVLHfRc6hg"
}
```

Sie können auch den Status des Tresors mithilfe des Befehls `[describe-vault](https://docs.aws.amazon.com/cli/latest/reference/glacier/describe-vault.html)` überprüfen.

```
$ aws glacier describe-vault --account-id - --vault-name myvault
{
    "SizeInBytes": 3178496,
    "VaultARN": "arn:aws:glacier:us-west-2:123456789012:vaults/myvault",
    "LastInventoryDate": "2018-12-07T00:26:19.028Z",
    "NumberOfArchives": 1,
    "CreationDate": "2018-12-06T21:23:45.708Z",
    "VaultName": "myvault"
}
```

**Anmerkung**  
Der Tresor-Status wird etwa einmal pro Tag aktualisiert. Weitere Informationen finden Sie unter [Arbeiten mit Tresoren](https://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-vaults.html).

Sie können jetzt die von Ihnen erstellten Chunk- und Hash-Dateien entfernen.

```
$ rm chunk* hash*
```

Weitere Informationen zu mehrteiligen Uploads finden Sie unter [Hochladen großer Archive in Parts and [Computing Checksums](https://docs.aws.amazon.com/amazonglacier/latest/dev/checksum-calculations.html) im](https://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-archive-mpu.html) *Amazon* Glacier Developer Guide. 

## Ressourcen
<a name="cli-services-glacier-resources"></a>

**AWS CLI Referenz:**
+ `[aws glacier](https://docs.aws.amazon.com/cli/latest/reference/glacier/index.html)`
+ `[aws glacier complete-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/glacier/complete-multipart-upload.html)`
+ `[aws glacier create-vault](https://docs.aws.amazon.com/cli/latest/reference/glacier/create-vault.html)`
+ `[aws glacier describe-vault](https://docs.aws.amazon.com/cli/latest/reference/glacier/describe-vault.html)`
+ `[aws glacier initiate-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/glacier/initiate-multipart-upload.html)`

**Service-Referenz:**
+ [Amazon Glacier-Entwicklerhandbuch](https://docs.aws.amazon.com/amazonglacier/latest/dev/)
+ [Teilweises Hochladen großer Archive im](https://docs.aws.amazon.com/amazonglacier/latest/dev/uploading-archive-mpu.html) *Amazon Glacier Developer Guide*
+ [Berechnung von Prüfsummen](https://docs.aws.amazon.com/amazonglacier/latest/dev/checksum-calculations.html) im *Amazon Glacier Developer Guide*
+ [Arbeiten mit Tresoren](https://docs.aws.amazon.com/amazonglacier/latest/dev/working-with-vaults.html) im *Amazon Glacier Developer Guide*