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 Drittanbieter AWS Entwicklungsumgebungen. Verschiedene Endpunkte können für Test- und Produktionsumgebungen verwendet werden. Sie können einen Endpunkt URL für einzelne Personen angeben AWS-Services.
Konfigurieren Sie diese Funktionalität wie folgt:
endpoint_url
- geteilt AWSconfig
DateieinstellungAWS_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
Bereich einer geteilten Datei verwenden AWSconfig
Datei, 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: AURL, einschließlich des Schemas und des Hosts für den Endpunkt. URLSie 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>
, wo ist der<SERVICE>
AWS-Service Identifier, 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 in festgelegten globalen Endpunkten.
AWS_ENDPOINT_URL
Standardwert:
none
Gültige Werte: A, URL einschließlich des Schemas und des Hosts für den Endpunkt. URLSie kann optional eine Pfadkomponente enthalten, die ein oder mehrere Pfadsegmente enthält.
ignore_configured_endpoint_urls
- gemeinsam genutzt AWSconfig
DateieinstellungAWS_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. Zum Beispiel einschließlich des
--endpoint-url
Befehlszeilenparameters mit einem AWS CLI Ein Befehl oder URL die Übergabe eines Endpunkts an einen Client-Konstruktor ist immer wirksam.Standardwert:
false
Zulässige Werte:
-
true
— Das Tool SDK oder liest keine benutzerdefinierten Konfigurationsoptionen aus der gemeinsam genutztenconfig
Datei oder aus Umgebungsvariablen zum Setzen eines EndpunktsURL. -
false
— Das Tool SDK oder 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 einen benutzerdefinierten Endpunkt weiterzuleitenURL, legen Sie die AWS_ENDPOINT_URL
globale Umgebungsvariable fest.
export AWS_ENDPOINT_URL=
http://localhost:4567
Um Anfragen für einen bestimmten AWS-Service Verwenden Sie die AWS_ENDPOINT_URL_<SERVICE>
Umgebungsvariable an einen benutzerdefinierten EndpunktURL. 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 ein serviceId
von Elastic Beanstalk
serviceId
indem alle Leerzeichen 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 einen dienstspezifischen 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 eingerichtet wird und AWS Elastic Beanstalk
im selben Profil. AWS Elastic Beanstalk hat ein 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 auf der Leitung. 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 Funktion „Rolle IAM übernehmen“ konfiguriert wurden, werden SDK nur Dienstkonfigurationen für das angegebene Profil verwendet. 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 anrufenEC2, 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 Anrufe an einen bestimmten AWS-Service wird die folgende Reihenfolge verwendet, 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 den AWS CLI, dies ist der Wert, der vom
--endpoint-url
Befehlszeilenparameter bereitgestellt wird. Bei einem SDK können explizite Zuweisungen die Form eines Parameters annehmen, den Sie bei der Instanziierung eines AWS-Service Client- oder Konfigurationsobjekt.
-
-
Der Wert, der von einer dienstspezifischen Umgebungsvariablen bereitgestellt wird, z. B.
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. -
Jeder Standardendpunkt URL für den jeweiligen AWS-Service 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 unterstützt von AWS SDK for Java und die AWS SDK for Kotlin nur.
SDK | Unterstützt | Notizen oder weitere Informationen |
---|---|---|
AWS CLI v2 | Ja | |
SDKfür C++ | Nein | |
SDKfür Go V2 (1.x) |
Ja | |
SDKfür Go 1.x (V1) | Nein | |
SDKfür Java 2.x | Ja | |
SDKfür Java 1.x | Nein | |
SDKfür 3.x JavaScript | Ja | |
SDKfür 2.x JavaScript | Nein | |
SDKfür Kotlin | Ja | |
SDKfür. NET3.x | Ja | |
SDKfür 3.x PHP | Ja | |
SDKfür Python (Boto3) |
Ja | |
SDKfür Ruby 3.x | Ja | |
SDKfür Rust | Nein | |
SDKfür Swift | Nein | |
Tools für PowerShell | Ja |