Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Puntos de conexión específicos del servicio
La configuración del punto de conexión específico del servicio ofrece la opción de utilizar un punto de conexión de su elección para las solicitudes de la API y de hacer que esa opción persista. Estas configuraciones proporcionan flexibilidad para admitir puntos de conexión locales, puntos de conexión de VPC y entornos de desarrollo de AWS locales de terceros. Se pueden usar diferentes puntos de conexión para los entornos de prueba y producción. Puede especificar una URL de punto de conexión para Servicios de AWS individuales.
Configure esta funcionalidad mediante lo siguiente:
endpoint_url
- configuración de AWSconfig
archivos compartidosAWS_ENDPOINT_URL
: variable de entornoaws.endpointUrl
- Propiedad del sistema JVM: solo en Java/Kotlin-
Cuando se especifica directamente en un perfil o como variable de entorno, esta configuración especifica el punto de conexión que se utiliza para todas las solicitudes de servicio. Este punto final es anulado por cualquier punto de conexión específico del servicio configurado.
También puedes usar esta configuración dentro de una
services
sección de un AWSconfig
archivo compartido para establecer un punto final personalizado para un servicio específico. Para obtener una lista de todas las claves de identificación de servicio que se van a utilizar para las subsecciones en la secciónservices
, consulte Identificadores de punto de conexión específicos del servicio.Valor predeterminado:
none
Valores válidos: una URL que incluye el esquema y el host del punto de conexión. La URL puede contener opcionalmente un componente de ruta que contenga uno o más segmentos de ruta.
AWS_ENDPOINT_URL_<SERVICE>
: variable de entornoaws.endpointUrl<ServiceName>
- Propiedad del sistema JVM: solo en Java/Kotlin-
AWS_ENDPOINT_URL_<SERVICE>
, donde<SERVICE>
está el Servicio de AWS identificador, establece un punto final personalizado para un servicio específico. Para obtener una lista de todas las variables de entorno específicas del servicio, consulte Identificadores de punto de conexión específicos del servicio.Este punto de conexión específico del servicio anula cualquier punto de conexión global establecido en
AWS_ENDPOINT_URL
.Valor predeterminado:
none
Valores válidos: una URL que incluye el esquema y el host del punto de conexión. La URL puede contener opcionalmente un componente de ruta que contenga uno o más segmentos de ruta.
ignore_configured_endpoint_urls
- configuración de AWSconfig
archivos compartidosAWS_IGNORE_CONFIGURED_ENDPOINT_URLS
: variable de entornoaws.ignoreConfiguredEndpointUrls
- Propiedad del sistema JVM: solo en Java/Kotlin-
Esta configuración se utiliza para ignorar todas las configuraciones de puntos de conexión personalizadas.
Tenga en cuenta que cualquier punto de conexión explícito establecido en el código o en el propio cliente de servicio se utiliza independientemente de esta configuración. Por ejemplo, siempre tendrá efecto incluir el
--endpoint-url
parámetro de línea de comandos en un AWS CLI comando o pasar la URL de un punto final a un constructor de clientes.Valor predeterminado:
false
Valores válidos:
-
true
: el SDK o la herramienta no leen ninguna opción de configuración personalizada del archivo compartidoconfig
ni de las variables de entorno para configurar la URL de un punto de conexión. -
false
: el SDK o la herramienta utilizan todos los puntos de conexión disponibles proporcionados por el usuario desde el archivo compartidoconfig
o desde las variables de entorno.
-
Configuración de puntos de conexión mediante variables de entorno
Para dirigir las solicitudes de todos los servicios a una URL de punto de conexión personalizada, establezca la variable de entorno global de AWS_ENDPOINT_URL
.
export AWS_ENDPOINT_URL=
http://localhost:4567
Para enrutar las solicitudes de una URL de punto final específica Servicio de AWS a una URL de punto final personalizada, usa la variable de AWS_ENDPOINT_URL_<SERVICE>
entorno. Amazon DynamoDB tiene un serviceId
de DynamoDB
AWS_ENDPOINT_URL_DYNAMODB
. Este punto de conexión tiene prioridad sobre el punto de conexión global establecido en AWS_ENDPOINT_URL
para este servicio.
export AWS_ENDPOINT_URL_DYNAMODB=
http://localhost:5678
Como otro ejemplo, AWS Elastic Beanstalk tiene un serviceId
de Elastic Beanstalk
serviceId
por guiones bajos y mayúsculas todas las letras. Para este servicio, la variable de entorno de la URL del punto de conexión es AWS_ENDPOINT_URL_ELASTIC_BEANSTALK
. Para obtener una lista de todas las variables de entorno específicas del servicio, consulte Identificadores de punto de conexión específicos del servicio.
export AWS_ENDPOINT_URL_ELASTIC_BEANSTALK=
http://localhost:5567
Configure los puntos de conexión mediante el archivo compartido config
En el archivo compartido config
, endpoint_url
se usa en diferentes lugares para diferentes funciones.
-
Si se especifica
endpoint_url
directamente en unprofile
, ese punto de conexión se convierte en el punto de conexión global. -
El
endpoint_url
anidado bajo una clave identificadora de servicio en una secciónservices
, hace que ese punto de conexión se aplique únicamente a las solicitudes realizadas a ese servicio. Para obtener más información sobre cómo definir una sección deservices
en el archivo compartidoconfig
, consulte Formato del archivo de configuración.
En el siguiente ejemplo, se utiliza una definición de services
para configurar una URL de punto de conexión específica que se utilizará para Amazon S3 y un punto de conexión global personalizado que se utilizará para todos los demás servicios:
[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 único perfil puede configurar puntos de conexión para varios servicios. En este ejemplo, se muestra cómo configurar el punto final específico del servicio URLs para Amazon S3 y AWS Elastic Beanstalk
en el mismo perfil. AWS Elastic Beanstalk tiene un deserviceId
. Elastic Beanstalk
serviceId
por guiones bajos y minúsculas todas las letras. Por lo tanto, la clave identificadora del servicio pasa a ser elastic_beanstalk
y la configuración de este servicio comienza en la línea elastic_beanstalk =
. Para obtener una lista de todas las claves de identificación de servicio que se van a utilizar en la sección de services
, consulte Identificadores de punto de conexión específicos del servicio.
[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 sección de configuración de servicios se puede utilizar en varios perfiles. Por ejemplo, dos perfiles pueden usar la misma definición de services
y, al mismo tiempo, modificar otras propiedades del perfil:
[services
testing-s3
] s3 = endpoint_url =https://localhost:4567
[profiletesting-json
] output = json services =testing-s3
[profiletesting-text
] output = text services =testing-s3
Configure los puntos de conexión de los perfiles mediante credenciales basadas en roles
Si el perfil tiene credenciales basadas en roles configuradas mediante un parámetro source_profile
para la funcionalidad de asumir roles de IAM, el SDK solo usa configuraciones de servicio para el perfil especificado. No utiliza perfiles que estén vinculados a él por roles. Por ejemplo, mediante el siguiente archivo config
compartido:
[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
Si utilizas el perfil B
y haces una llamada en tu código a Amazon EC2, el punto final se resuelve comohttps://profile-b-ec2-endpoint.aws
. Si el código realiza una solicitud a cualquier otro servicio, la resolución del punto de conexión no seguirá ninguna lógica personalizada. El punto de conexión no se convierte en el punto de conexión global definido en el perfil A
. Para que un punto de conexión global surta efecto en el perfil B
, tendrá que configurar endpoint_url
directamente dentro del perfil B
. Para obtener más información sobre la configuración de source_profile
, consulte Asumir el rol de proveedor de credenciales.
Precedencia de configuración
La configuración de esta característica se puede usar al mismo tiempo, pero solo tendrá prioridad un valor por servicio. En el caso de las llamadas a la API realizadas a un valor determinado Servicio de AWS, se utiliza el siguiente orden para seleccionar un valor:
-
Cualquier ajuste explícito establecido en el código o en el propio cliente de un servicio tiene prioridad sobre cualquier otra cosa.
-
En el caso de AWS CLI, este es el valor que proporciona el parámetro de línea de
--endpoint-url
comandos. En el caso de un SDK, las asignaciones explícitas pueden adoptar la forma de un parámetro que se establece al crear una instancia de un Servicio de AWS cliente o un objeto de configuración.
-
-
El valor proporcionado por una variable de entorno específica del servicio, como
AWS_ENDPOINT_URL_DYNAMODB
. -
El valor proporcionado por la variable de entorno de punto de conexión
AWS_ENDPOINT_URL
global. -
El valor que proporciona la configuración anidada
endpoint_url
bajo una clave de identificación de servicio dentro de una secciónservices
del archivo compartidoconfig
. -
El valor proporcionado por la configuración de
endpoint_url
en unprofile
de un archivo compartidoconfig
. -
En último lugar, se usa cualquier URL de punto final predeterminada para Servicio de AWS el respectivo.
Compatibilidad con AWS SDKs
Las siguientes opciones SDKs son compatibles con las funciones y configuraciones descritas en este tema. Se anotan todas las excepciones parciales. Todos los ajustes de propiedades del sistema JVM son compatibles con AWS SDK for Java y AWS SDK para Kotlin únicamente.
SDK | Compatible | Notas o más información |
---|---|---|
AWS CLI v2 | Sí | |
SDK para C++ | No | |
SDK para Go V2 (1.x) |
Sí | |
SDK para Go 1.x (V1) | No | |
SDK para Java 2.x | Sí | |
SDK para Java 1.x | No | |
SDK para 3.x JavaScript | Sí | |
SDK para 2.x JavaScript | No | |
SDK para Kotlin | Sí | |
SDK para .NET 3.x | Sí | |
SDK para PHP 3.x | Sí | |
SDK para Python (Boto3) |
Sí | |
SDK para Ruby 3.x | Sí | |
SDK para Rust | Sí | |
SDK para Swift | Sí | |
Herramientas para PowerShell | Sí |