API-Anfragen stellen - AWS Transfer Family

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.

API-Anfragen stellen

Sie können nicht nur die Konsole verwenden, sondern auch die AWS Transfer Family API verwenden, um Ihre Server programmgesteuert zu konfigurieren und zu verwalten. In diesem Abschnitt werden die AWS Transfer Family-Operationen, das Anfordern des Signierens für die Authentifizierung und die Fehlerbehandlung beschrieben. Informationen zu den Regionen und Endpunkten, die für Transfer Family verfügbar sind, finden Sie unter AWS Transfer FamilyEndpunkte und Kontingente in der Allgemeine AWS-Referenz

Anmerkung

Sie können die AWS SDKs auch bei der Entwicklung von Anwendungen mit Transfer Family; verwenden. Die AWS SDKs für Java, .NET und PHP umschließen die zugrunde liegende Transfer Family Family-API und vereinfachen so Ihre Programmieraufgaben. Informationen zum Herunterladen der SDK-Bibliotheken finden Sie unter Beispielcodebibliotheken.

Erforderliche Anforderungsheader für Transfer Family

In diesem Abschnitt werden die erforderlichen Header beschrieben, die Sie mit jeder POST-Anfrage an senden müssen. AWS Transfer Family In HTTP-Headern geben Sie wichtige Informationen über die Abfrage an, z. B, die Operation, die aufgerufen werden soll, das Datum der Abfrage und Informationen zur Ihrer Autorisierung als Sender der Abfrage. In Headern muss Groß- und Kleinschreibung beachtet werden; die Reihenfolge der Header ist nicht wichtig.

Das folgende Beispiel zeigt Header, die in der ListServersOperation verwendet werden.

POST / HTTP/1.1 Host: transfer.us-east-1.amazonaws.com x-amz-target: TransferService.ListServers x-amz-date: 20220507T012034Z Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20220507/us-east-1/transfer/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-target, Signature=13550350a8681c84c861aac2e5b440161c2b33a3e4f302ac680ca5b686de48de Content-Type: application/x-amz-json-1.1 Content-Length: 17 {"MaxResults":10}

Im Folgenden sind die Header aufgeführt, die in Ihren POST-Anfragen an Transfer Family enthalten sein müssen. Die unten aufgeführten Header, die mit „x-amz“ beginnen, sind spezifisch für. AWS Alle anderen aufgeführten Header sind allgemeine Header für HTTP-Transaktionen.

Header Beschreibung
Authorization Der Autorisierungsheader ist erforderlich. Das Format ist die standardmäßige Sigv4-Anforderungssignatur, die unter AWSAPI-Anfragen signieren dokumentiert ist.
Content-Type

Verwenden Sie ihn application/x-amz-json-1.1 als Inhaltstyp für alle Anfragen an Transfer Family.

Content-Type: application/x-amz-json-1.1
Host

Verwenden Sie den Host-Header, um den Transfer Family Family-Endpunkt anzugeben, an den Sie Ihre Anfrage senden. Dies transfer.us-east-1.amazonaws.com ist beispielsweise der Endpunkt für die Region USA Ost (Ohio). Weitere Informationen zu den für Transfer Family verfügbaren Endpunkten finden Sie unter AWS Transfer FamilyEndpunkte und Kontingente in der. Allgemeine AWS-Referenz

Host: transfer.region.amazonaws.com
x-amz-date

Sie müssen den Zeitstempel entweder im Date HTTP-Header oder im AWS x-amz-date Header angeben. (Einige HTTP-Client-Bibliotheken lassen den Header Date nicht zu.) Wenn ein x-amz-date Header vorhanden ist, ignoriert die Transfer Family jeden Date Header während der Anforderungsauthentifizierung. Das x-amz-date Format muss ISO8601 sein, im Format YYYYMMDD'T 'HHMMSS'Z'.

x-amz-date: YYYYMMDD'T'HHMMSS'Z'
x-amz-target

In diesem Header werden die Version der API und die angefragte Operation angegeben. Die Werte des Ziel-Headers werden durch Verknüpfung der API-Version mit dem API-Namen gebildet und haben folgendes Format.

x-amz-target: TransferService.operationName

Der OperationName-Wert (zum BeispielListServers) kann in der API-Liste gefunden werden. ListServers

x-amz-security-token Dieser Header ist erforderlich, wenn es sich bei den zum Signieren der Anfrage verwendeten Anmeldeinformationen um temporäre Anmeldeinformationen oder um Sitzungsanmeldedaten handelt (Einzelheiten finden Sie unter Verwenden temporärer Anmeldeinformationen mit AWS Ressourcen im IAM-Benutzerhandbuch). Weitere Informationen finden Sie unter Hinzufügen der Signatur Allgemeine Amazon Web Services-Referenz zur HTTP-Anfrage in.

Eingaben und Unterschreiben von Familienanfragen übertragen

Alle Anforderungseingaben müssen als Teil der JSON-Nutzlast im Anfragetext gesendet werden. Für Aktionen, bei denen alle Anforderungsfelder optional sind, müssen Sie beispielsweise ListServers immer noch ein leeres JSON-Objekt im Anforderungstext angeben, z. B. {} Die Struktur der Payload-Anfrage/Antwort von Transfer Family ist beispielsweise in der vorhandenen API-Referenz dokumentiert. DescribeServer

Transfer Family unterstützt die Authentifizierung mit AWS Signature Version 4. Einzelheiten finden Sie unter AWSAPI-Anfragen signieren.

Fehlermeldungen

Bei einem Fehler enthalten die Informationen im Antwort-Header:

  • Inhaltstyp: application/x-amz-json-1.1

  • Einen passenden 4xx- oder 5xx-HTTP-Statuscode

Der Textkörper einer Fehlermeldung enthält Informationen zu dem aufgetretenen Fehler. Das folgende Beispiel zeigt eine Fehlerantwort mit der Ausgabesyntax von Antwortelementen für alle Fehlermeldungen.

{ "__type": "String", "Message": "String", <!-- Message is lowercase in some instances --> "Resource": String, "ResourceType": String "RetryAfterSeconds": String }

In der folgenden Tabellen werden die Felder der JSON-Fehlerantwort in dieser Syntax erläutert.

__type

Eine der Ausnahmen bei einem Transfer Family Family-API-Aufruf.

Typ: Zeichenfolge

Nachricht oder Nachricht

Eine der Operationsfehlercode-Nachrichten .

Anmerkung

Einige Ausnahmen verwendenmessage, andere verwendenMessage. Sie können den Code für Ihre Schnittstelle überprüfen, um den richtigen Fall zu ermitteln. Alternativ können Sie jede Option testen, um zu sehen, welche funktioniert.

Typ: Zeichenfolge

Resource

Die Ressource, für die der Fehler ausgelöst wurde. Wenn Sie beispielsweise versuchen, einen Benutzer zu erstellen, der bereits existiert, Resource ist dies der Benutzername für den vorhandenen Benutzer.

Typ: Zeichenfolge

ResourceType

Der Ressourcentyp, für den der Fehler ausgelöst wird. Wenn Sie beispielsweise versuchen, einen Benutzer zu erstellen, der bereits existiert, ResourceType ist User der.

Typ: Zeichenfolge

RetryAfterSeconds

Die Anzahl der Sekunden, die gewartet werden muss, bevor der Befehl erneut ausgeführt wird.

Typ: Zeichenfolge

Beispiele für Antworten auf Fehler

Der folgende JSON-Hauptteil wird zurückgegeben, wenn Sie die DescribeServer API aufrufen und einen Server angeben, der nicht existiert.

{ "__type": "ResourceNotFoundException", "Message": "Unknown server", "Resource": "s-11112222333344444", "ResourceType": "Server" }

Der folgende JSON-Hauptteil wird zurückgegeben, wenn die Ausführung einer API zu einer Drosselung führt.

{ "__type":"ThrottlingException", "RetryAfterSeconds":"1" }

Der folgende JSON-Hauptteil wird zurückgegeben, wenn Sie die CreateServer API verwenden und nicht über ausreichende Berechtigungen verfügen, um einen Transfer Family Family-Server zu erstellen.

{ "__type": "AccessDeniedException", "Message": "You do not have sufficient access to perform this action." }

Der folgende JSON-Hauptteil wird zurückgegeben, wenn Sie die CreateUser API verwenden und einen Benutzer angeben, der bereits existiert.

{   "__type": "ResourceExistsException",   "Message": "User already exists", "Resource": "Alejandro-Rosalez", "ResourceType": "User" }

Verfügbare Bibliotheken

AWSbietet Bibliotheken, Beispielcode, Tutorials und andere Ressourcen für Softwareentwickler, die es vorziehen, Anwendungen mithilfe sprachspezifischer APIs anstelle der Befehlszeilentools und der Abfrage-API zu erstellen. Diese Bibliotheken bieten grundlegende Funktionen (nicht in den APIs enthalten) wie Anforderungsauthentifizierung, Wiederholungen von Anfragen und Fehlerbehandlung, sodass der Einstieg erleichtert wird. Siehe Tools, auf denen Sie aufbauen können AWS

Bibliotheken und Beispielcode in allen Sprachen finden Sie unter Beispielcode und Bibliotheken.