Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

314
Vistas
Asuma un rol con Spring Cloud AWS Autoconfiguration

Para publicar mensajes en SNS, necesito asumir el rol correcto, por lo que cuando uso AWS SDK, creo un bean de AmazonSNS como este:

 @Bean public AmazonSNS amazonSnsClient( @Value("${cloud.aws.credentials.accessKey}") String accessKey, @Value("${cloud.aws.credentials.secretKey}") String secretKey, @Value("${cloud.aws.role.publisherArn}") String publisherRoleArn ) { AWSSecurityTokenService stsClient = AWSSecurityTokenServiceClientBuilder.standard() .withRegion(EU_CENTRAL_1) .withCredentials(new AWSStaticCredentialsProvider(new BasicAWSCredentials(accessKey, secretKey))) .build(); STSAssumeRoleSessionCredentialsProvider credentialsProvider = new STSAssumeRoleSessionCredentialsProvider .Builder(publisherRoleArn, SESSION_NAME) .withStsClient(stsClient) .build(); return AmazonSNSClientBuilder.standard() .withRegion(EU_CENTRAL_1) .withCredentials(credentialsProvider) .build(); }

Estoy tratando de hacer lo mismo con Spring Cloud AWS Messaging & Autoconfiguration pero hasta ahora no encontré ninguna información sobre el tema. Mi aplicación.yml se ve así

 cloud: aws: credentials: accessKey: *** secretKey: *** instanceProfile: true region: static: eu-central-1

¿Es compatible con Spring y simplemente no logré encontrarlo o debería limitarme a AWS SDK?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Parece que no hay una solución lista para usar para eso. La solución más sencilla es crear su propio bean AWSCredentialsProvider

 @Configuration public class AwsCredentials { private static final String SESSION_NAME = "TestConsumer"; @Bean @Primary public AWSCredentialsProvider credentialsProvider( @Value("${cloud.aws.credentials.accessKey}") String accessKey, @Value("${cloud.aws.credentials.secretKey}") String secretKey, @Value("${cloud.aws.role}") String role ) { AWSSecurityTokenService stsClient = AWSSecurityTokenServiceClientBuilder.standard() .withRegion(EU_CENTRAL_1) .withCredentials(new AWSStaticCredentialsProvider(new BasicAWSCredentials(accessKey, secretKey))) .build(); return new STSAssumeRoleSessionCredentialsProvider .Builder(role, SESSION_NAME) .withStsClient(stsClient) .build(); } }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda