Endpoint specifici del servizio - AWSSDK e 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 del servizio offre la possibilità di utilizzare un endpoint di propria scelta per le richieste API e di mantenere tale scelta. Queste impostazioni offrono la flessibilità necessaria per supportare endpoint locali, endpoint VPC e ambienti di sviluppo locale di terze partiAWS. È possibile utilizzare endpoint diversi per ambienti di test e produzione. È possibile specificare un URL di endpoint per singoli utenti. Servizi AWS

Configura questa funzionalità utilizzando quanto segue:

endpoint_url- impostazione dei AWS config file condivisi
AWS_ENDPOINT_URL- variabile d'ambiente

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.

È inoltre possibile utilizzare questa impostazione all'interno di una services sezione di un AWS config file condiviso 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: un URL che include lo schema e l'host per l'endpoint. L'URL può facoltativamente contenere un componente del percorso che contiene uno o più segmenti di percorso.

AWS_ENDPOINT_URL_<SERVICE>- variabile di ambiente

AWS_ENDPOINT_URL_<SERVICE>, <SERVICE> dov'è l'Servizio AWSidentificatore, 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: un URL che include lo schema e l'host per l'endpoint. L'URL può facoltativamente contenere un componente del percorso che contiene uno o più segmenti di percorso.

ignore_configured_endpoint_urls- impostazione condivisa AWS config dei file
AWS_IGNORE_CONFIGURED_ENDPOINT_URLS- variabile d'ambiente

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, l'inclusione del parametro della riga di --endpoint-url comando con un AWS CLI comando o il passaggio di un URL di endpoint a un costruttore del client avrà sempre effetto.

Valore predefinito: false

Valori validi:

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

  • false— L'SDK o lo strumento 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 URL endpoint personalizzato, imposta la variabile di ambiente AWS_ENDPOINT_URL globale.

export AWS_ENDPOINT_URL=http://localhost:4567

Per indirizzare le richieste per un URL di endpoint specifico Servizio AWS a un URL di endpoint personalizzato, utilizza la variabile di AWS_ENDPOINT_URL_<SERVICE> ambiente. Amazon DynamoDBha unserviceId. DynamoDB Per questo servizio, la variabile di ambiente dell'URL 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 un di. serviceId Elastic Beanstalk L'Servizio AWSidentificatore si basa sul modello API 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 URL di endpoint specifico del servizio da utilizzare 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 gli URL degli endpoint specifici del servizio per Amazon S3 e nello stesso profilo. AWS Elastic Beanstalk AWS Elastic Beanstalkha un. serviceId Elastic Beanstalk L'Servizio AWSidentificatore si basa sul modello API 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 Assume Role Functionality, l'SDK utilizza solo le configurazioni di servizio per il profilo specificato. Non utilizza profili a cui sono associati ruoli concatenati. 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 codice verso Amazon EC2, l'endpoint si risolve come. https://profile-b-ec2-endpoint.aws Se il codice invia 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 le chiamate API effettuate verso un determinato valoreServizio AWS, viene utilizzato il seguente ordine per selezionare un valore:

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

    • Per ilAWS CLI, questo è il valore fornito dal parametro della --endpoint-url riga di comando. Per un SDK, le assegnazioni esplicite possono assumere la forma di un parametro impostato quando si crea un'istanza di un client o di un Servizio AWS 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 URL di endpoint predefinito per il rispettivo Servizio AWS viene utilizzato per ultimo.

Compatibilità con SDKS AWS

I seguenti SDK supportano le funzionalità e le impostazioni descritte in questo argomento. Vengono annotate eventuali eccezioni parziali.