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 AWSconfig
impostazione dei fileAWS_ENDPOINT_URL
- variabile d'ambienteaws.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
AWSconfig
file 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 dellaservices
sezione, vedere. Identificatori per endpoint specifici del servizioValore 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 ambienteaws.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 servizioQuesto 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 AWSconfig
impostazione dei fileAWS_IGNORE_CONFIGURED_ENDPOINT_URLS
- variabile d'ambienteaws.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 dalconfig
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 dalconfig
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
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
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_url
specificato direttamente all'interno di aprofile
rende quell'endpoint l'endpoint globale. -
endpoint_url
annidato sotto una chiave identificativa del servizio all'interno di unaservices
sezione fa sì che l'endpoint si applichi alle richieste fatte solo a quel servizio. Per i dettagli sulla definizione di unaservices
sezione nelconfig
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
[servicess3-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
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
[profiledev
] 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
[profiletesting-json
] output = json services =testing-s3
[profiletesting-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/
[profileB
] source_profile =A
role_arn =arn:aws:iam::123456789012:role/roleB
services =profileB
[servicesprofileB
] 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:
-
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.
-
-
Il valore fornito da una variabile di ambiente specifica del servizio, ad esempio.
AWS_ENDPOINT_URL_DYNAMODB
-
Il valore fornito dalla variabile di ambiente
AWS_ENDPOINT_URL
globale dell'endpoint. -
Il valore fornito dall'
endpoint_url
impostazione annidata in una chiave di identificazione del servizio all'interno di unaservices
sezione del file condiviso.config
-
Il valore fornito dall'
endpoint_url
impostazione specificato direttamente all'internoprofile
di uno dei file condivisiconfig
. -
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.
SDK | Supportato | Note o ulteriori informazioni |
---|---|---|
AWS CLI v2 | Sì | |
SDKper C++ | No | |
SDKper Go V2 (1.x) |
Sì | |
SDKper Go 1.x (V1) | No | |
SDKper Java 2.x | Sì | |
SDKper Java 1.x | No | |
SDKper JavaScript 3.x | Sì | |
SDKper JavaScript 2.x | No | |
SDKper Kotlin | Sì | |
SDKper. NET3.x | Sì | |
SDKper PHP 3.x | Sì | |
SDKper Python (Boto3) |
Sì | |
SDKper Ruby 3.x | Sì | |
SDKper Rust | No | |
SDKper Swift | No | |
Utensili per PowerShell | Sì |