View a markdown version of this page

Verwenden der Job Management API - AWS Snowball Edge Entwicklerhandbuch

AWS Snowball Edge ist für Neukunden nicht mehr verfügbar. Neukunden sollten AWS DataSyncnach Online-Übertragungen, AWS Data Transfer Terminal für sichere physische Übertragungen oder AWS Partnerlösungen suchen. Erkunden Sie AWS Outposts für Edge-Computing.

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.

Verwenden der Job Management API

Die Job Management API für AWS Snowball Edge ist ein Netzwerkprotokoll, das auf HTTP (RFC 2616) basiert. Weitere Informationen zu diesem RFC finden Sie unter HTTP (RFC 2616) auf der IETF-Website. Für jeden Aufruf der Job-Management-API stellen Sie eine HTTP-Anfrage an den regionsspezifischen Job-Management-API-Endpunkt für den Ort,AWS-Region an dem Sie Jobs verwalten möchten. Die API verwendet JSON-Dokumente (RFC 4627) für HTTP-Hauptteile. request/response

Anmerkung

API-Aufrufe in US-Regionen zum Auflisten von Aufträgen oder Beschreiben von Adressen geben alle Aufträge bzw. Adressen innerhalb der USA für dieses Konto zurück.

Die Job-Management-API für Snowball Edge ist ein RPC-Modell. In diesem Modell gibt es einen festen Satz von Operationen, deren jeweilige Syntax den Clients ohne jede vorhergehende Interaktion bekannt ist. Im Folgenden finden Sie eine Beschreibung für alle API-Operationen, die eine abstrakte RPC-Notation verwenden, zusammen mit einem Namen für die Operation, der nicht in den Wire-Daten zu sehen ist. Die jeweiligen Operationen werden den HTTP-Anforderungselementen zugeordnet.

Der spezifische Auftragsverwaltungsvorgang, dem eine bestimmte Anforderung zugeordnet ist, wird durch eine Kombination aus der Methode der Anforderung (GET, PUT, POST oder DELETE) und dem Muster bestimmt, dem sie entspricht. Request-URI Wenn es sich bei der Operation um PUT oder POST handelt, extrahiert Snowball Edge Aufrufargumente aus dem Request-URI Pfadsegment, den Abfrageparametern und dem JSON-Objekt im Anforderungstext.

Obwohl der Vorgangsname, z. B.CreateJob, nicht auf der Leitung erscheint, sind diese Operationsnamen in AWS Identity and Access Management(IAM-) Richtlinien von Bedeutung. Der Operationsname wird auch zur Benennung von Befehlen in Befehlszeilentools und Elementen der AWS SDK-APIs verwendet. Beispielsweise ist der Befehl AWS Command Line Interface(AWS CLI) der create-job CreateJob Operation zugeordnet. Der Name des Vorgangs erscheint auch in den CloudTrail Protokollen für Snowball Edge-API-Aufrufe.

Informationen zur Installation und Einrichtung von AWS CLI, einschließlich der Angabe, in welchen Regionen Sie AWS CLI Anrufe tätigen möchten, finden Sie im AWS Command Line Interface Benutzerhandbuch.

Anmerkung

Die Job-Management-API bietet eine programmatische Schnittstelle zu derselben Funktionalität, die auch in der AWS Snowball Management Console verfügbar ist, nämlich Jobs für Snowball Edge zu erstellen und zu verwalten. Verwenden Sie den Snowball Edge-Client oder den S3 SDK-Adapter für Snowball Edge, um Daten lokal mit einer Snowball-Appliance zu übertragen. Weitere Informationen finden Sie unter Übertragen von Daten mit einem Snowball im AWS Snowball-Benutzerhandbuch.

Wenn Sie einen Snowball Edge verwenden, verwenden Sie den Snowball Edge-Client, um die Appliance zu entsperren. Weitere Informationen finden Sie unter Verwenden des Snowball-Clients im AWS Snowball Developer Guide.

API-Endpunkt

Der API-Endpunkt ist der DNS-Name (Domain Name Service), der in dem HTTP-URI für die API-Aufrufe als Host verwendet wird. Diese API-Endpunkte sind regionsspezifisch und haben das folgende Format.

snowball.aws-region.amazonaws.com

Der Snowball Edge-API-Endpunkt für die Region USA West (Oregon) lautet beispielsweise wie folgt.

snowball.us-west-2.amazonaws.com

Eine Liste der von AWS-Regionen Snowball Edge unterstützten Programme (wo Sie Jobs erstellen und verwalten können) finden Sie AWS Import/Exportin der Allgemeine AWS-Referenz.

Der regionsspezifische API-Endpunkt definiert den Umfang der Snowball Edge-Ressourcen, auf die Sie zugreifen können, wenn Sie einen API-Aufruf tätigen. Wenn Sie den ListJobs Vorgang beispielsweise über den vorherigen Endpunkt aufrufen, erhalten Sie eine Liste der Jobs in der Region USA West (Oregon), die in Ihrem Konto erstellt wurden.

API-Version

Die für einen Aufruf verwendete API-Version wird vom ersten Pfadsegment des Anforderungs-URIs bestimmt und weist ein Datumsformat nach ISO 8601 auf. Die Beschreibung in der Dokumentation bezieht sich auf die API-Version 2016-06-30.

Referenz für die API-Berechtigungsrichtlinien

Die folgenden Richtlinien sind erforderlich, um Jobs mit der Job-Management-API für Snowball Edge zu erstellen.

Vertrauensrichtlinie für Rollen zum Erstellen von Aufträgen

Für die Verwendung der Job-Management-API zum Erstellen von Jobs ist die folgende Vertrauensrichtlinie erforderlich.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "importexport.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "AWSIE" } } } ] }
Anmerkung

Weitere Informationen zu Vertrauensrichtlinien finden Sie unter Ändern einer Rolle im IAM-Benutzerhandbuch.

Vertrauensrichtlinie zum Erstellen von Importaufträgen

Wenn Sie Importaufträge erstellen, benötigen Sie die folgende Vertrauensrichtlinie.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucketMultipartUploads" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "s3:GetBucketPolicy", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "snowball:*" ], "Resource": [ "*" ] } ] }

Vertrauensrichtlinie zum Erstellen von Exportaufträgen

Für die Erstellung von Exportaufträgen ist die folgende Vertrauensrichtlinie erforderlich.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "snowball:*" ], "Resource": [ "*" ] } ] }

Prinzipal der Amazon S3 S3-Bucket-Richtlinie zum Erstellen von Jobs

In einigen Fällen verfügen die Amazon S3 S3-Buckets, die Sie mit Snowball Edge verwenden, über Bucket-Richtlinien, die eine Auflistung des Rollensitzungsnamens der angenommenen Rolle erfordern. In diesen Fällen müssen Sie einen Prinzipal in diesen Richtlinien angeben, die AWSImportExport-Validation identifiziert. Das folgende Beispiel für eine Amazon S3 S3-Bucket-Richtlinie zeigt, wie das geht.

Beispiel
JSON
{ "Version":"2012-10-17", "Statement": { "Sid": "AllowAWSSnowballToCreateJobs", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:role/rolename", "arn:aws:sts::111122223333:assumed-role/rolename/AWSImportExport-Validation", "arn:aws:iam::111122223333:root" ] }, "Action": "S3:*", "Resource": ["arn:aws:s3:::examplebucket/*"] } }

In diesem Richtlinienbeispiel verweigern wir den Zugriff für alle Prinzipale mit Ausnahme des im NotPrincipal-Element genannten. Weitere Informationen zur Verwendung NotPrincipal finden Sie NotPrincipalim IAM-Benutzerhandbuch.

Anmerkung

Für Jobs in AWS GovCloud (US) verwendet Snowball Edge AWSIEJob als Rollensitzungsnamen der angenommenen Rolle.

Eine IAM-Rolle für Snowball Edge und Snowball Edge erstellen

Es muss eine IAM-Rollenrichtlinie mit Lese- und Schreibberechtigungen für Ihre Amazon S3 S3-Buckets erstellt werden. Die IAM-Rolle muss auch eine Vertrauensbeziehung mit Snowball Edge haben. Eine Vertrauensbeziehung bedeutet, dass AWS Sie die Daten in den Snowball und in Ihre Amazon S3 S3-Buckets schreiben können, je nachdem, ob Sie Daten importieren oder exportieren.

Wenn Sie einen Job in der erstellen Managementkonsole für die AWS Snow-Familie, erfolgt die Erstellung der erforderlichen IAM-Rolle in Schritt 4 im Abschnitt Permission. Dieser Prozess erfolgt automatisch. Die IAM-Rolle, die Sie Snowball Edge übernehmen lassen, wird nur verwendet, um Ihre Daten in Ihren Bucket zu schreiben, wenn der Snowball mit Ihren übertragenen Daten eintrifft.AWS Der Vorgang wird wie folgt ausgeführt.

Um die IAM-Rolle für Ihren Importjob zu erstellen
  1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Snowball Edge Konsole unter https://console.aws.amazon.com/importexport/.

  2. Wählen Sie Job erstellen aus.

  3. Geben Sie im ersten Schritt die Details für Ihren Importauftrag in Amazon S3 ein und wählen Sie dann Weiter.

  4. Wählen Sie im zweiten Schritt unter Permission die Option Create/Select IAM-Rolle aus.

    Die IAM-Managementkonsole wird geöffnet und zeigt die IAM-Rolle an, mit der Objekte in Ihre angegebenen Amazon S3 S3-Buckets kopiert werden.AWS

  5. Überprüfen Sie die Angaben auf dieser Seite und wählen Sie dann Allow (Zulassen) aus.

    Sie kehren zu dem zurück Managementkonsole für die AWS Snow-Familie, wo der ARN der ausgewählten IAM-Rolle den Amazon-Ressourcennamen (ARN) für die IAM-Rolle enthält, die Sie gerade erstellt haben.

  6. Wählen Sie Weiter, um die Erstellung Ihrer IAM-Rolle abzuschließen.

Mit dem vorherigen Verfahren wird eine IAM-Rolle erstellt, die über Schreibberechtigungen für die Amazon S3 S3-Buckets verfügt, in die Sie Ihre Daten importieren möchten. Die erstellte IAM-Rolle weist eine der folgenden Strukturen auf, je nachdem, ob sie für einen Import- oder einen Exportauftrag gilt.

IAM-Rolle für einen Importauftrag

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucketMultipartUploads" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "s3:GetBucketPolicy", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::*" } ] }

Wenn Sie serverseitige Verschlüsselung mit AWS KMS—managed keys (SSE-KMS) verwenden, um die Amazon S3 S3-Buckets zu verschlüsseln, die Ihrem Importauftrag zugeordnet sind, müssen Sie Ihrer IAM-Rolle auch die folgende Anweisung hinzufügen.

{ "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:region:account-id:key/key-id" }

IAM-Rolle für einen Exportauftrag

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetBucketPolicy", "s3:GetObject", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*" } ] }

Wenn Sie serverseitige Verschlüsselung mit AWS KMS—managed keys verwenden, um die Amazon S3 S3-Buckets zu verschlüsseln, die Ihrem Exportauftrag zugeordnet sind, müssen Sie Ihrer IAM-Rolle auch die folgende Anweisung hinzufügen.

{ "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "arn:aws:kms:region:account-id:key/key-id" }