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
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.
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 AWSconfigDateienAWS_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
servicesAbschnitt einer gemeinsam genutzten AWSconfigDatei verwenden, um einen benutzerdefinierten Endpunkt für einen bestimmten Dienst festzulegen. Eine Liste aller Dienstkennungsschlüssel, die für Unterabschnitte innerhalb diesesservicesAbschnitts verwendet werden können, finden Sie unterIdentifikatoren für dienstspezifische Endpunkte.Standardwert:
noneGü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_URLStandardwert:
noneGü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 AWSconfigDateienAWS_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-urlBefehlszeilenparameter in einen AWS CLI Befehl aufnehmen oder eine Endpunkt-URL an einen Client-Konstruktor übergeben, ist dies immer wirksam.Standardwert:
falseZulässige Werte:
-
true— Das SDK oder Tool liest keine benutzerdefinierten Konfigurationsoptionen aus der gemeinsam genutztenconfigDatei oder aus Umgebungsvariablen zum Setzen einer Endpunkt-URL. -
false— Das SDK oder Tool verwendet alle verfügbaren, vom Benutzer bereitgestellten Endpunkte aus der gemeinsam genutztenconfigDatei 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 DynamoDBAWS_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 BeanstalkserviceId 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_urldirekt in a angegeben,profilemacht diesen Endpunkt zum globalen Endpunkt. -
endpoint_urlWenn dieser Endpunkt unter einem Dienstbezeichnerschlüssel innerhalb einesservicesAbschnitts 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:
[profiledev-s3-specific-and-global] endpoint_url =http://localhost:1234services =s3-specific[servicess3-specific] s3 = endpoint_url =http://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 BeanstalkserviceId 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.
[servicestesting-s3-and-eb] s3 = endpoint_url =http://localhost:4567elastic_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:
[servicestesting-s3] s3 = endpoint_url =http://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:
[profileA] credential_source =Ec2InstanceMetadataendpoint_url =http://profile-a-endpoint.aws/[profileB] source_profile =Arole_arn =arn:aws:iam::123456789012:role/roleBservices =profileB[servicesprofileB] ec2 = endpoint_url =http://profile-b-ec2-endpoint.aws
Wenn Sie das Profil verwenden B und in Ihrem Code Amazon anrufen EC2, wird der Endpunkt als http://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-urlBefehlszeilenparameter 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_URLbereitgestellte Wert -
Der Wert, der von der
endpoint_urlEinstellung bereitgestellt wird, die unter einem Dienstbezeichnerschlüssel in einemservicesAbschnitt der gemeinsam genutztenconfigDatei verschachtelt ist. -
Der Wert, der durch die
endpoint_urlEinstellung bereitgestellt wird, die direkt in einerprofileder gemeinsam genutztenconfigDatei angegeben wurde. -
Jede Standard-Endpunkt-URL für die jeweilige AWS-Service Datei wird zuletzt verwendet.
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 | |
| 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 4.x | 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 V5 | Ja | |
| Tools für V4 PowerShell | Ja |