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.
Servicespezifische Endpunkte
Die dienstspezifische Endpunktkonfiguration bietet die Möglichkeit, einen Endpunkt Ihrer Wahl für API-Anfragen zu verwenden und diese Auswahl beizubehalten. Diese Einstellungen bieten Flexibilität bei der Unterstützung lokaler Endpunkte, VPC-Endpunkte und lokaler AWS -Entwicklungsumgebungen von Drittanbietern. Verschiedene Endpunkte können für Test- und Produktionsumgebungen verwendet werden. Sie können eine Endpunkt-URL für einzelne AWS-Services angeben.
Konfigurieren Sie diese Funktionalität wie folgt:
endpoint_url
- Einstellung für gemeinsam genutzte AWSconfig
DateienAWS_ENDPOINT_URL
- Umgebungsvariableaws.endpointUrl
- JVM-Systemeigenschaft: Nur Java/Kotlin-
Wenn diese Einstellung direkt in einem Profil oder als Umgebungsvariable angegeben wird, gibt sie den Endpunkt an, der für alle Serviceanfragen verwendet wird. Dieser Endpunkt wird von jedem konfigurierten dienstspezifischen Endpunkt überschrieben.
Sie können diese Einstellung auch in einem
services
Abschnitt einer gemeinsam genutzten AWSconfig
Datei verwenden, um einen benutzerdefinierten Endpunkt für einen bestimmten Dienst festzulegen. Eine Liste aller Dienstkennungsschlüssel, die für Unterabschnitte innerhalb diesesservices
Abschnitts verwendet werden können, finden Sie unterIdentifikatoren für dienstspezifische Endpunkte.Standardwert:
none
Gültige Werte: Eine URL, die das Schema und den Host für den Endpunkt enthält. Die URL kann optional eine Pfadkomponente enthalten, die ein oder mehrere Pfadsegmente enthält.
AWS_ENDPOINT_URL_<SERVICE>
- Umgebungsvariableaws.endpointUrl<ServiceName>
- JVM-Systemeigenschaft: Nur Java/Kotlin-
AWS_ENDPOINT_URL_<SERVICE>
, wobei sich der AWS-Service Bezeichner<SERVICE>
befindet, legt einen benutzerdefinierten Endpunkt für einen bestimmten Dienst fest. Eine Liste aller servicespezifischen Umgebungsvariablen finden Sie unter Identifikatoren für dienstspezifische Endpunkte.Dieser dienstspezifische Endpunkt hat Vorrang vor allen globalen Endpunkten, die in festgelegt sind.
AWS_ENDPOINT_URL
Standardwert:
none
Gültige Werte: Eine URL, die das Schema und den Host für den Endpunkt enthält. Die URL kann optional eine Pfadkomponente enthalten, die ein oder mehrere Pfadsegmente enthält.
ignore_configured_endpoint_urls
- Einstellung für gemeinsam genutzte AWSconfig
DateienAWS_IGNORE_CONFIGURED_ENDPOINT_URLS
- Umgebungsvariableaws.ignoreConfiguredEndpointUrls
- JVM-Systemeigenschaft: Nur Java/Kotlin-
Diese Einstellung wird verwendet, um alle benutzerdefinierten Endpunktkonfigurationen zu ignorieren.
Beachten Sie, dass jeder explizite Endpunkt, der im Code oder auf einem Service-Client selbst festgelegt ist, unabhängig von dieser Einstellung verwendet wird. Wenn Sie beispielsweise den
--endpoint-url
Befehlszeilenparameter in einen AWS CLI Befehl aufnehmen oder eine Endpunkt-URL an einen Client-Konstruktor übergeben, ist dies immer wirksam.Standardwert:
false
Zulässige Werte:
-
true
— Das SDK oder Tool liest keine benutzerdefinierten Konfigurationsoptionen aus der gemeinsam genutztenconfig
Datei oder aus Umgebungsvariablen zum Setzen einer Endpunkt-URL. -
false
— Das SDK oder Tool verwendet alle verfügbaren, vom Benutzer bereitgestellten Endpunkte aus der gemeinsam genutztenconfig
Datei oder aus Umgebungsvariablen.
-
Konfigurieren Sie Endpunkte mithilfe von Umgebungsvariablen
Um Anfragen für alle Dienste an eine benutzerdefinierte Endpunkt-URL weiterzuleiten, legen Sie die AWS_ENDPOINT_URL
globale Umgebungsvariable fest.
export AWS_ENDPOINT_URL=
http://localhost:4567
Verwenden Sie die AWS_ENDPOINT_URL_<SERVICE>
Umgebungsvariable AWS-Service , um Anfragen für eine bestimmte URL an einen benutzerdefinierten Endpunkt weiterzuleiten. Amazon DynamoDB hat ein serviceId
von DynamoDB
AWS_ENDPOINT_URL_DYNAMODB
. Dieser Endpunkt hat Vorrang vor dem globalen Endpunkt, der AWS_ENDPOINT_URL
für diesen Dienst eingerichtet wurde.
export AWS_ENDPOINT_URL_DYNAMODB=
http://localhost:5678
Als weiteres Beispiel AWS Elastic Beanstalk hat er ein serviceId
von. Elastic Beanstalk
serviceId
durch Unterstriche ersetzt und alle Buchstaben in Großbuchstaben geschrieben werden. Um den Endpunkt für diesen Dienst festzulegen, lautet die entsprechende Umgebungsvariable. AWS_ENDPOINT_URL_ELASTIC_BEANSTALK
Eine Liste aller servicespezifischen Umgebungsvariablen finden Sie unter Identifikatoren für dienstspezifische Endpunkte.
export AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=
http://localhost:5567
Konfigurieren Sie Endpunkte mithilfe der gemeinsam genutzten Datei config
Wird in der gemeinsam genutzten config
Datei an verschiedenen Stellen für unterschiedliche Funktionen verwendet. endpoint_url
-
endpoint_url
direkt in a angegeben,profile
macht diesen Endpunkt zum globalen Endpunkt. -
endpoint_url
Wenn dieser Endpunkt unter einem Dienstbezeichnerschlüssel innerhalb einesservices
Abschnitts verschachtelt ist, gilt dieser Endpunkt nur für Anfragen, die an diesen Dienst gestellt werden. Details zur Definition einesservices
-Abschnitts in Ihrer freigegebenenconfig
-Datei finden Sie unter Format der Konfigurationsdatei.
Das folgende Beispiel verwendet eine services
Definition, um eine dienstspezifische Endpunkt-URL für Amazon S3 und einen benutzerdefinierten globalen Endpunkt für alle anderen Services zu konfigurieren:
[profile
dev-s3-specific-and-global
] endpoint_url =http://localhost:1234
services =s3-specific
[servicess3-specific
] s3 = endpoint_url =https://play.min.io:9000
Mit einem einzigen Profil können Endpunkte für mehrere Services konfiguriert werden. Dieses Beispiel zeigt, wie der dienstspezifische Endpunkt URLs für Amazon S3 und AWS Elastic Beanstalk
im selben Profil eingerichtet wird. AWS Elastic Beanstalk hat einen serviceId
von. Elastic Beanstalk
serviceId
indem alle Leerzeichen durch Unterstriche ersetzt und alle Buchstaben klein geschrieben werden. Somit wird der Service-Identifier-Schlüssel elastic_beanstalk
und die Einstellungen für diesen Dienst beginnen in der Zeile. elastic_beanstalk =
Eine Liste aller Service-ID-Schlüssel, die im services
-Abschnitt verwendet werden können, finden Sie unter Identifikatoren für dienstspezifische Endpunkte.
[services
testing-s3-and-eb
] s3 = endpoint_url =http://localhost:4567
elastic_beanstalk = endpoint_url =http://localhost:8000
[profiledev
] services =testing-s3-and-eb
Der Abschnitt zur Dienstkonfiguration kann von mehreren Profilen aus verwendet werden. Beispielsweise können zwei Profile dieselbe services
Definition verwenden und gleichzeitig andere Profileigenschaften ändern:
[services
testing-s3
] s3 = endpoint_url =https://localhost:4567
[profiletesting-json
] output = json services =testing-s3
[profiletesting-text
] output = text services =testing-s3
Konfigurieren Sie Endpunkte in Profilen mithilfe von rollenbasierten Anmeldeinformationen
Wenn Ihr Profil über rollenbasierte Anmeldeinformationen verfügt, die über einen source_profile
-Parameter für die IAM-Funktion „Rolle übernehmen“ konfiguriert wurden, verwendet das SDK nur Servicekonfigurationen für das angegebene Profil. Es verwendet keine Profile mit verketteten Rollen. Verwenden Sie beispielsweise die folgende freigegebene config
-Datei:
[profile
A
] credential_source =Ec2InstanceMetadata
endpoint_url =https://profile-a-endpoint.aws/
[profileB
] source_profile =A
role_arn =arn:aws:iam::123456789012:role/roleB
services =profileB
[servicesprofileB
] ec2 = endpoint_url =https://profile-b-ec2-endpoint.aws
Wenn Sie das Profil verwenden B
und in Ihrem Code Amazon anrufen EC2, wird der Endpunkt als https://profile-b-ec2-endpoint.aws
aufgelöst. Wenn Ihr Code eine Anforderung für einen anderen Service stellt, folgt die Endpunktauflösung keiner benutzerdefinierten Logik. Der Endpunkt wird nicht zu dem im Profil A
definierten globalen Endpunkt aufgelöst. Damit ein globaler Endpunkt für das Profil B
wirksam wird, müssten Sie endpoint_url
direkt im Profil B
festlegen. Weitere Informationen zur source_profile
-Einstellung finden Sie unter Übernehmen Sie die Rolle Credential Provider.
Vorrang der Einstellungen
Die Einstellungen für diese Funktion können gleichzeitig verwendet werden, pro Dienst hat jedoch nur ein Wert Priorität. Für API-Aufrufe an einen bestimmten Wert wird die folgende Reihenfolge verwendet AWS-Service, um einen Wert auszuwählen:
-
Jede explizite Einstellung, die im Code oder auf einem Service-Client selbst festgelegt ist, hat Vorrang vor allen anderen Einstellungen.
-
Für die ist dies der Wert AWS CLI, der vom
--endpoint-url
Befehlszeilenparameter bereitgestellt wird. Bei einem SDK können explizite Zuweisungen die Form eines Parameters annehmen, den Sie festlegen, wenn Sie einen AWS-Service Client oder ein Konfigurationsobjekt instanziieren.
-
-
Der Wert, der von einer dienstspezifischen Umgebungsvariablen bereitgestellt wird, wie z.
AWS_ENDPOINT_URL_DYNAMODB
-
Der von der globalen Endpunkt-Umgebungsvariable
AWS_ENDPOINT_URL
bereitgestellte Wert -
Der Wert, der von der
endpoint_url
Einstellung bereitgestellt wird, die unter einem Dienstbezeichnerschlüssel in einemservices
Abschnitt der gemeinsam genutztenconfig
Datei verschachtelt ist. -
Der Wert, der durch die
endpoint_url
Einstellung bereitgestellt wird, die direkt in einerprofile
der gemeinsam genutztenconfig
Datei angegeben wurde. -
Jede Standard-Endpunkt-URL für die jeweilige AWS-Service Datei wird zuletzt verwendet.
Kompatibilität mit AWS SDKs
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 for Kotlin nur von AWS SDK for Java und vom unterstützt.
SDK | Unterstützt | Hinweise oder weitere Informationen |
---|---|---|
AWS CLI v2 | Ja | |
SDK for C++ | Nein | |
SDK for Go V2 (1.x) |
Ja | |
SDK for Go 1.x (V1) | Nein | |
SDK for Java 2.x | Ja | |
SDK for Java 1.x | Nein | |
SDK für 3.x JavaScript | Ja | |
SDK für 2.x JavaScript | Nein | |
SDK für Kotlin | Ja | |
SDK for .NET 3.x | Ja | |
SDK for PHP 3.x | Ja | |
SDK for Python (Boto3) |
Ja | |
SDK for Ruby 3.x | Ja | |
SDK für Rust | Ja | |
SDK für Swift | Ja | |
Tools für PowerShell | Ja |