Endpoint specifici del servizio - AWS SDKse strumenti

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Endpoint specifici del servizio

La configurazione degli endpoint specifica per il servizio offre la possibilità di utilizzare un endpoint di propria scelta per API le richieste e di mantenere tale scelta. Queste impostazioni offrono la flessibilità necessaria per supportare endpoint locali, endpoint e dispositivi locali di terze parti VPC AWS ambienti di sviluppo. È possibile utilizzare diversi endpoint per ambienti di test e produzione. È possibile specificare un endpoint URL per singoli Servizi AWS.

Configura questa funzionalità utilizzando quanto segue:

endpoint_url- condiviso AWS configimpostazione dei file
AWS_ENDPOINT_URL- variabile d'ambiente
aws.endpointUrl- proprietà JVM del sistema: solo Java/Kotlin

Se specificata direttamente all'interno di un profilo o come variabile di ambiente, questa impostazione specifica l'endpoint utilizzato per tutte le richieste di servizio. Questo endpoint viene sovrascritto da qualsiasi endpoint configurato specifico del servizio.

Puoi utilizzare questa impostazione anche all'interno di una sezione di un file condiviso services AWS configfile per impostare un endpoint personalizzato per un servizio specifico. Per un elenco di tutte le chiavi identificative del servizio da utilizzare per le sottosezioni all'interno della services sezione, vedere. Identificatori per endpoint specifici del servizio

Valore predefinito: none

Valori validi: AURL, inclusi lo schema e l'host per l'endpoint. Facoltativamente URL possono contenere un componente del percorso che contiene uno o più segmenti di percorso.

AWS_ENDPOINT_URL_<SERVICE>- variabile di ambiente
aws.endpointUrl<ServiceName>- proprietà JVM del sistema: solo Java/Kotlin

AWS_ENDPOINT_URL_<SERVICE>, dov'è il <SERVICE> Servizio AWS identifier, imposta un endpoint personalizzato per un servizio specifico. Per un elenco di tutte le variabili di ambiente specifiche del servizio, vedere. Identificatori per endpoint specifici del servizio

Questo endpoint specifico del servizio sostituisce qualsiasi endpoint globale impostato. AWS_ENDPOINT_URL

Valore predefinito: none

Valori validi: A, URL inclusi lo schema e l'host per l'endpoint. Facoltativamente URL possono contenere un componente del percorso che contiene uno o più segmenti di percorso.

ignore_configured_endpoint_urls- condiviso AWS configimpostazione dei file
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS- variabile d'ambiente
aws.ignoreConfiguredEndpointUrls- proprietà JVM del sistema: solo Java/Kotlin

Questa impostazione viene utilizzata per ignorare tutte le configurazioni personalizzate degli endpoint.

Tieni presente che qualsiasi endpoint esplicito impostato nel codice o su uno stesso client di servizio viene utilizzato indipendentemente da questa impostazione. Ad esempio, includendo il parametro della --endpoint-url riga di comando con un AWS CLI il comando o il passaggio di un URL endpoint a un costruttore client avranno sempre effetto.

Valore predefinito: false

Valori validi:

  • true— Lo strumento SDK o non legge alcuna opzione di configurazione personalizzata dal config file condiviso o dalle variabili di ambiente per l'impostazione di un endpoint. URL

  • false— Lo strumento SDK or utilizza tutti gli endpoint disponibili forniti dall'utente dal config file condiviso o dalle variabili di ambiente.

Configura gli endpoint utilizzando variabili di ambiente

Per indirizzare le richieste di tutti i servizi a un endpoint personalizzatoURL, imposta la variabile di ambiente AWS_ENDPOINT_URL globale.

export AWS_ENDPOINT_URL=http://localhost:4567

Per indirizzare le richieste per uno specifico Servizio AWS verso un endpoint personalizzatoURL, usa la variabile di AWS_ENDPOINT_URL_<SERVICE> ambiente. Amazon DynamoDB ha unserviceId. DynamoDB Per questo servizio, la variabile di URL ambiente dell'endpoint èAWS_ENDPOINT_URL_DYNAMODB. Questo endpoint ha la precedenza sull'endpoint globale impostato per questo servizio. AWS_ENDPOINT_URL

export AWS_ENDPOINT_URL_DYNAMODB=http://localhost:5678

Come altro esempio, AWS Elastic Beanstalk ha serviceId un Elastic Beanstalk. Il Servizio AWS l'identificatore si basa sul API modello serviceId sostituendo tutti gli spazi con caratteri di sottolineatura e tutte le lettere maiuscole. Per impostare l'endpoint per questo servizio, la variabile di ambiente corrispondente è. AWS_ENDPOINT_URL_ELASTIC_BEANSTALK Per un elenco di tutte le variabili di ambiente specifiche del servizio, vedere. Identificatori per endpoint specifici del servizio

export AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=http://localhost:5567

Configurare gli endpoint utilizzando il file condiviso config

Nel config file condiviso, endpoint_url viene utilizzato in luoghi diversi per funzionalità diverse.

  • endpoint_urlspecificato direttamente all'interno di a profile rende quell'endpoint l'endpoint globale.

  • endpoint_urlannidato sotto una chiave identificativa del servizio all'interno di una services sezione fa sì che l'endpoint si applichi alle richieste fatte solo a quel servizio. Per i dettagli sulla definizione di una services sezione nel config file condiviso, consulta. Formato del file di configurazione

L'esempio seguente utilizza una services definizione per configurare un endpoint specifico del servizio da utilizzare URL per Amazon S3 e un endpoint globale personalizzato da utilizzare per tutti gli altri servizi:

[profile dev-s3-specific-and-global] endpoint_url = http://localhost:1234 services = s3-specific [services s3-specific] s3 = endpoint_url = https://play.min.io:9000

Un singolo profilo può configurare gli endpoint per più servizi. Questo esempio mostra come impostare l'endpoint specifico del servizio per Amazon URLs S3 e AWS Elastic Beanstalk nello stesso profilo. AWS Elastic Beanstalk ha serviceId un Elastic Beanstalk. Il Servizio AWS l'identificatore si basa sul API modello serviceId sostituendo tutti gli spazi con caratteri di sottolineatura e tutte le lettere minuscole. Pertanto, la chiave identificativa del servizio diventa elastic_beanstalk e le impostazioni per questo servizio iniziano sulla linea. elastic_beanstalk = Per un elenco di tutte le chiavi identificative del servizio da utilizzare nella services sezione, vedere. Identificatori per endpoint specifici del servizio

[services testing-s3-and-eb] s3 = endpoint_url = http://localhost:4567 elastic_beanstalk = endpoint_url = http://localhost:8000 [profile dev] services = testing-s3-and-eb

La sezione di configurazione del servizio può essere utilizzata da più profili. Ad esempio, due profili possono utilizzare la stessa services definizione modificando altre proprietà del profilo:

[services testing-s3] s3 = endpoint_url = https://localhost:4567 [profile testing-json] output = json services = testing-s3 [profile testing-text] output = text services = testing-s3

Configura gli endpoint nei profili utilizzando credenziali basate sui ruoli

Se il tuo profilo ha credenziali basate sui ruoli configurate tramite un source_profile parametro per IAM assumere la funzionalità del ruolo, utilizza SDK solo le configurazioni di servizio per il profilo specificato. Non utilizza profili concatenati a ruoli. Ad esempio, utilizzando il seguente config file condiviso:

[profile A] credential_source = Ec2InstanceMetadata endpoint_url = https://profile-a-endpoint.aws/ [profile B] source_profile = A role_arn = arn:aws:iam::123456789012:role/roleB services = profileB [services profileB] ec2 = endpoint_url = https://profile-b-ec2-endpoint.aws

Se usi il profilo B ed effettui una chiamata nel tuo codice verso AmazonEC2, l'endpoint si risolve come. https://profile-b-ec2-endpoint.aws Se il codice effettua una richiesta a qualsiasi altro servizio, la risoluzione dell'endpoint non seguirà alcuna logica personalizzata. L'endpoint non si risolve nell'endpoint globale definito nel profilo. A Affinché un endpoint globale abbia effetto sul profiloB, è necessario endpoint_url impostarlo direttamente all'interno del profilo. B Per ulteriori informazioni in merito all'impostazione source_profile, consulta Assumi il ruolo di fornitore di credenziali.

Precedenza delle impostazioni

Le impostazioni di questa funzionalità possono essere utilizzate contemporaneamente, ma solo un valore avrà la priorità per servizio. Per API le chiamate effettuate verso un determinato indirizzo Servizio AWS, per selezionare un valore viene utilizzato il seguente ordine:

  1. Qualsiasi impostazione esplicita impostata nel codice o su un client di servizio stesso ha la precedenza su qualsiasi altra cosa.

    • Per il AWS CLI, questo è il valore fornito dal parametro della --endpoint-url riga di comando. Ad esempioSDK, le assegnazioni esplicite possono assumere la forma di un parametro impostato quando si crea un'istanza di Servizio AWS client o oggetto di configurazione.

  2. Il valore fornito da una variabile di ambiente specifica del servizio, ad esempio. AWS_ENDPOINT_URL_DYNAMODB

  3. Il valore fornito dalla variabile di ambiente AWS_ENDPOINT_URL globale dell'endpoint.

  4. Il valore fornito dall'endpoint_urlimpostazione annidata in una chiave di identificazione del servizio all'interno di una services sezione del file condiviso. config

  5. Il valore fornito dall'endpoint_urlimpostazione specificato direttamente all'interno profile di uno dei file condivisiconfig.

  6. Qualsiasi endpoint predefinito URL per il rispettivo Servizio AWS viene usato per ultimo.

Compatibilità con AWS SDKs

Di seguito sono SDKs supportate le funzionalità e le impostazioni descritte in questo argomento. Vengono annotate eventuali eccezioni parziali. Tutte le impostazioni delle proprietà di JVM sistema sono supportate da AWS SDK for Java e il SDK AWS for Kotlin solo.