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.
Host-Präfix-Injektion
Anmerkung
Hilfe zum Verständnis des Layouts von Einstellungsseiten oder zur Interpretation der nachfolgenden Tabelle Support by AWS SDKs und Tools finden Sie unterDie Einstellungsseiten dieses Handbuchs verstehen.
Bei der Host-Präfix-Injection handelt es sich um eine Funktion, bei der dem Hostnamen von Dienstendpunkten für bestimmte API-Operationen AWS SDKs automatisch ein Präfix vorangestellt wird. 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 S3-Objekten oder -Buckets durchzuführen, ersetzt das SDK Ihren Bucket-Namen und Ihre AWS-Konto Bucket-ID im endgültigen API-Endpunkt.
Dieses Verhalten ist zwar für normale AWS Dienstendpunkte 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 Funktionalität wie folgt:
disable_host_prefix_injection
- Einstellung für gemeinsam genutzte AWSconfig
DateienAWS_DISABLE_HOST_PREFIX_INJECTION
- Umgebungsvariableaws.disableHostPrefixInjection
- JVM-Systemeigenschaft: nur Java/Kotlin-
Diese Einstellung steuert, ob das SDK oder das Tool den Hostnamen des Endpunkts ändert, indem ein Hostpräfix vorangestellt wird, wie es im Client-Objekt oder in der Variablen Ihres SDK definiert ist.
Standardwert:
false
Zulässige Werte:
-
true
— Deaktiviert die Host-Präfix-Injection. Das SDK ändert den Hostnamen des Endpunkts nicht. -
false
— Aktiviert die Host-Präfix-Injection. 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 Hostpräfixen
Die folgende Tabelle mit Beispielen zeigt, wie der endgültige Endpunkt SDKs geändert wird, wenn die Hostpräfixinjektion aktiviert und deaktiviert ist.
-
Hostpräfix: Die Vorlage der Eigenschaftszeichenfolge für das Hostpräfix, die für das Client-Objekt oder die Variable des SDK im Code festgelegt ist.
-
Eingaben: Zusätzliche Eingaben, die für das Client-Objekt oder die Variable des SDK im Code festgelegt wurden.
-
Client-Endpunkt: Der abgeleitete Endpunkt des Clients.
-
Einstellungswert: Gelö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 einstellen | 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" |
Support von AWS SDKs und Tools
Im Folgenden werden die in diesem Thema beschriebenen Funktionen und Einstellungen SDKs unterstützt. Alle teilweisen Ausnahmen werden vermerkt. Alle Einstellungen für JVM-Systemeigenschaften werden AWS SDK für Kotlin nur von AWS SDK für Java und vom unterstützt.
SDK | Unterstützt | Hinweise oder weitere Informationen |
---|---|---|
AWS CLI v2 | Ja | |
SDK for C++ | Nein | Die Einstellung wird nicht unterstützt, kann aber im Code auf dem Client konfiguriert werden mit: enableHostPrefixInjection |
SDK for Go V2 (1.x) |
Nein | Kann mithilfe von Middleware deaktiviert werden. |
SDK for Go 1.x (V1) | Nein | |
SDK for 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 for 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, indem Sie Folgendes verwenden: disableHostPrefix . |
SDK für JavaScript 2.x | Nein | Die Einstellung wird nicht unterstützt, kann aber im Code auf dem Client konfiguriert werden, indem Sie Folgendes verwenden: hostPrefixEnabled . |
SDK für Kotlin | Nein | |
SDK for .NET 4.x | Nein | Die Einstellung wird nicht unterstützt, kann aber im Code auf dem Client konfiguriert werden, indem Sie Folgendes verwenden: DisableHostPrefixInjection . |
SDK for .NET 3.x | Nein | Die Einstellung wird nicht unterstützt, kann aber im Code auf dem Client konfiguriert werden, indem Sie Folgendes verwenden: DisableHostPrefixInjection . |
SDK for 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 for Python (Boto3) |
Ja | Kann im Code auf dem Client konfiguriert werden mit:. inject_host_prefix |
SDK for 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 von Parametern in bestimmte Cmdlets aufgenommen werden. -ClientConfig @{DisableHostPrefixInjection = $true} |
Tools für V4 PowerShell | Nein | Die Einstellung wird nicht unterstützt, kann aber mithilfe von Parametern in bestimmte Cmdlets aufgenommen werden. -ClientConfig @{DisableHostPrefixInjection = $true} |