Estou recebendo o erro a seguir quando tento executar um aplicativo Spring boot-AWS localmente:
Não há metadados EC2 disponíveis porque o aplicativo não está sendo executado no ambiente EC2. A detecção de região só é possível se o aplicativo estiver sendo executado em uma instância EC2
Meu aws-config.xml fica assim abaixo:
<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"/>
Estou tentando ouvir com um SQSListner na classe abaixo:
@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);
}
}
}
Edit: acabei de notar que o erro ocorre quando incluo a seguinte dependência maven do aws-messaging:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-aws-messaging</artifactId>
<version>${spring-cloud-aws-version}</version>
</dependency>
Estou usando spring-cloud-aws-version - 1.2.1.RELEASE
Encontrou o problema. Eu estava usando o spring-cloud-starter-aws-messaging para mensagens SQS. A dependência acima inclui muitas classes de Detecção Automática que eventualmente foram iniciadas, mesmo que não fossem necessárias.
Em vez disso, usei o spring-cloud-aws-messaging que resolveu o problema junto com muitos outros problemas de detecção automática.
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras