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.
Hostpräfixinjektion
Anmerkung
Hilfe zum Verständnis des Layouts von Einstellungsseiten oder zur Interpretation der folgenden Tabelle „Unterstützung durch AWS SDKs und Tools“ finden Sie unterDie Einstellungsseiten dieses Handbuchs verstehen.
Bei der Hostpräfix-Injektion handelt es sich um eine Funktion, bei der AWS SDKs dem Hostnamen von Dienstendpunkten für bestimmte API-Operationen automatisch ein Präfix voranstellen. Dieses Präfix kann entweder eine statische Zeichenfolge oder ein dynamischer Wert sein, der Daten aus Ihren Anforderungsparametern enthält.
Wenn Sie beispielsweise Amazon Simple Storage Service verwenden, um Aktionen an Amazon S3-Objekten oder -Buckets auszuführen, ersetzt das SDK Ihren Bucket-Namen und Ihre AWS-Konto ID im endgültigen API-Endpunkt.
Dieses Verhalten ist zwar für normale AWS Service-Endpunkte erforderlich, kann jedoch zu Problemen führen, wenn benutzerdefinierte Endpunkte wie VPC-Endpunkte oder lokale Testtools verwendet werden. In diesen Fällen müssen Sie möglicherweise die Hostpräfixinjektion deaktivieren.
Konfigurieren Sie diese Funktion mithilfe der folgenden Optionen:
disable_host_prefix_injection- Einstellung für gemeinsam genutzte AWSconfigDateienAWS_DISABLE_HOST_PREFIX_INJECTION- Umgebungsvariableaws.disableHostPrefixInjection- JVM-Systemeigenschaft: nur Java/Kotlin-
Diese Einstellung steuert, ob das SDK oder das Tool den Endpunkt-Hostnamen ändert, indem ein Hostpräfix vorangestellt wird, wie im Client-Objekt oder in der Variablen Ihres SDK definiert.
Standardwert:
falseZulässige Werte:
-
true— Deaktiviert die Hostpräfix-Injektion. Das SDK ändert den Hostnamen des Endpunkts nicht. -
false— Aktiviert die Hostpräfix-Injektion. Das SDK stellt das Hostpräfix dem Hostnamen des Endpunkts voran.
-
Beispiel für die Einstellung dieses Werts in der config Datei:
[default] disable_host_prefix_injection = true
Linux/macOS Beispiel für das Setzen von Umgebungsvariablen über die Befehlszeile:
export AWS_DISABLE_HOST_PREFIX_INJECTION=true
Windows-Beispiel für das Setzen von Umgebungsvariablen über die Befehlszeile:
setx AWS_DISABLE_HOST_PREFIX_INJECTION true
Beispiele für die Injektion von Host-Präfixen
Die folgende Beispieltabelle zeigt, wie SDKs den endgültigen Endpunkt ändern, wenn die Host-Präfixinjektion aktiviert und deaktiviert ist.
-
Hostpräfix: Die Vorlage der Eigenschaftszeichenfolge für das Hostpräfix, die im Code für das Client-Objekt oder die Variable des SDK festgelegt ist.
-
Eingaben: Zusätzliche Eingaben, die für das Client-Objekt oder die Variable des SDK im Code festgelegt sind.
-
Client-Endpunkt: Der abgeleitete Endpunkt des Clients.
-
Einstellungswert: Aufgelöster Wert für die vorherige Einstellung.
-
Resultierender Endpunkt: Der resultierende Endpunkt, den der SDK-Client für den API-Aufruf verwendet.
| Host-Präfix | Eingaben | Client-Endpunkt | Wert setzen | Resultierender Endpunkt |
|---|---|---|---|---|
| „Daten“. | {} | "https://service.us-west-2.amazonaws.com" | false | "https://data.service.us-west-2.amazonaws.com" |
| „{Eimer} - {AccountId}.“ | Eimer: „amzn-s3-demo-bucket1",:" 123456789012" AccountId | "https://service.us-west-2.amazonaws.com" | false | "https://amzn-s3-demo-bucket1-123456789012.service.us-west-2.amazonaws.com" |
| „Daten.“ | {} | "https://override.us-west-2.amazonaws.com"(als Override-Endpunkt) | true | "https://override.us-west-2.amazonaws.com" |
Unterstützung von AWS SDKs und Tools
Die folgenden SDKs unterstützen die in diesem Thema beschriebenen Funktionen und Einstellungen. Alle teilweisen Ausnahmen werden vermerkt. Alle JVM-Systemeigenschaftseinstellungen werden von AWS SDK für Java and the AWS SDK für Kotlin only unterstützt.
| SDK | Unterstützt | Hinweise oder weitere Informationen |
|---|---|---|
| AWS CLI v2 | Ja | |
| SDK für C++ | Nein | Die Einstellung wird nicht unterstützt, kann aber im Code auf dem Client konfiguriert werden mit: enableHostPrefixInjection |
| SDK für Go V2 (1.x) | Nein | Kann mithilfe von Middleware deaktiviert werden. |
| SDK für Go 1.x (V1) | Nein | |
| SDK für Java 2.x | Nein | Die Einstellung wird nicht unterstützt, kann aber im Code auf dem Client konfiguriert werden mit: SdkAdvancedClientOption.DISABLE_HOST_PREFIX_INJECTION |
| SDK für Java 1.x | Nein | Die Einstellung wird nicht unterstützt, kann aber im Code auf dem Client konfiguriert werden mit: withDisableHostPrefixInjection. |
| SDK für JavaScript 3.x | Nein | Die Einstellung wird nicht unterstützt, kann aber im Code auf dem Client konfiguriert werden mit: disableHostPrefix. |
| SDK für JavaScript 2.x | Nein | Die Einstellung wird nicht unterstützt, kann aber im Code auf dem Client konfiguriert werden mit: hostPrefixEnabled. |
| SDK für Kotlin | Nein | |
| SDK für.NET 4.x | Nein | Die Einstellung wird nicht unterstützt, kann aber im Code auf dem Client konfiguriert werden mit: DisableHostPrefixInjection. |
| SDK für.NET 3.x | Nein | Die Einstellung wird nicht unterstützt, kann aber im Code auf dem Client konfiguriert werden mit: DisableHostPrefixInjection. |
| SDK für PHP 3.x | Nein | Die Einstellung wird nicht unterstützt, kann aber im Code auf dem Client konfiguriert werden mit: disable_host_prefix_injection. |
| SDK für Python (Boto3) | Ja | Kann auf dem Client im Code konfiguriert werden mit:. inject_host_prefix |
| SDK für Ruby 3.x | Nein | Die Einstellung wird nicht unterstützt, kann aber im Code auf dem Client konfiguriert werden mit: disable_host_prefix_injection |
| SDK für Rust | Nein | |
| SDK für Swift | Nein | |
| Tools für PowerShell V5 | Nein | Die Einstellung wird nicht unterstützt, kann aber mithilfe eines Parameters in bestimmte Cmdlets aufgenommen werden. -ClientConfig @{DisableHostPrefixInjection = $true} |
| Tools für V4 PowerShell | Nein | Die Einstellung wird nicht unterstützt, kann aber mithilfe eines Parameters in bestimmte Cmdlets aufgenommen werden. -ClientConfig @{DisableHostPrefixInjection = $true} |