Error de inicio de arranque de primavera para la aplicación AWS: no hay metadatos EC2 disponibles
Recibo el siguiente error cuando intento ejecutar una aplicación Spring boot-AWS localmente:
No hay metadatos EC2 disponibles, porque la aplicación no se está ejecutando en el entorno EC2. La detección de región solo es posible si la aplicación se ejecuta en una instancia EC2
Mi aws-config.xml se ve a continuación:
<aws-context:context-credentials>
<aws-context:simple-credentials access-key="*****" secret-key="*****"/>
</aws-context:context-credentials>
<aws-context:context-region auto-detect="false" region="ap-south-1" />
<aws-context:context-resource-loader/>
<aws-messaging:annotation-driven-queue-listener max-number-of-messages="10" wait-time-out="20" visibility-timeout="3600"/>
Estoy tratando de escuchar con un SQSListner en la siguiente clase:
@Configuration
@EnableSqs
@ImportResource("classpath:/aws-config.xml")
@EnableRdsInstance(databaseName = "******",
dbInstanceIdentifier = "*****",
password = "******")
public class AwsResourceConfig {
@SqsListener(value = "souviksqs", deletionPolicy = SqsMessageDeletionPolicy.ON_SUCCESS)
public void receiveNewFileUpload(S3EventNotification event) {
try {
if ( event != null && !CollectionUtils.isNullOrEmpty( event.getRecords() ) && event.getRecords().get( 0 ) != null ) {
S3Entity entry = event.getRecords().get(0).getS3();
System.out.println("############ File Uploaded to ###################### " + entry.getBucket().getName() + "/" + entry.getObject().getKey());
}
} catch (Exception e) {
System.out.println("Error reading the SQS message " + e);
}
}
}
Editar: Acabo de notar que el error se produce cuando incluyo la siguiente dependencia de aws-messaging maven:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-aws-messaging</artifactId>
<version>${spring-cloud-aws-version}</version>
</dependency>
Estoy usando spring-cloud-aws-version - 1.2.1.RELEASE