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 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 parti AWS . È 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 AWSconfig
file condivisiAWS_ENDPOINT_URL
- variabile d'ambienteaws.endpointUrl
- Proprietà del sistema JVM: 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.
È inoltre possibile utilizzare questa impostazione all'interno di una
services
sezione di un AWSconfig
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 dellaservices
sezione, vedere. Identificatori per endpoint specifici del servizioValore 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 ambienteaws.endpointUrl<ServiceName>
- Proprietà del sistema JVM: solo Java/Kotlin-
AWS_ENDPOINT_URL_<SERVICE>
,<SERVICE>
dov'è l' Servizio AWS identificatore, 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: 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 AWSconfig
dei fileAWS_IGNORE_CONFIGURED_ENDPOINT_URLS
- variabile d'ambienteaws.ignoreConfiguredEndpointUrls
- Proprietà del sistema JVM: 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, 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 dalconfig
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 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 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 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 un di. serviceId
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 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
[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 un. serviceId
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 Assume Role Functionality, l'SDK utilizza 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 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 valore Servizio AWS, viene utilizzato il seguente ordine per selezionare un valore:
-
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. 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.
-
-
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 URL di endpoint predefinito per il rispettivo Servizio AWS viene utilizzato 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à del sistema JVM sono supportate solo da AWS SDK for Java and the. SDK AWS for Kotlin
SDK | Supportato | Note o ulteriori informazioni |
---|---|---|
AWS CLI v2 | Sì | |
SDK per C++ | No | |
SDK per Go V2 (1.x) |
Sì | |
SDK per Go 1.x (V1) | No | |
SDK per Java 2.x | Sì | |
SDK per Java 1.x | No | |
SDK per 3.x JavaScript | Sì | |
SDK per 2.x JavaScript | No | |
SDK per Kotlin | Sì | |
SDK per.NET 3.x | Sì | |
SDK per PHP 3.x | Sì | |
SDK per Python (Boto3) |
Sì | |
SDK per Ruby 3.x | Sì | |
SDK per Rust | Sì | |
SDK per Swift | Sì | |
Strumenti per PowerShell | Sì |