利用可能EC2メタデータがありません、私はローカルに春のブートAWSアプリケーションを実行しようとしているとき、私は以下のエラーを取得しています:春のブート起動エラー:
は、利用可能なEC2メタデータがありませんアプリケーションがEC2環境で実行されていないためです。
<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"/>
私は下のクラスでSQSListnerと聞きしようとしています:
アプリケーションが私のAWS-config.xmlには、以下のように見えるEC2インスタンス上を実行している場合、領域検出にのみ可能です
@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);
}
}
}
編集:ただ、私は、次のAWSメッセージングMavenの依存関係を含めるときにエラーが来ることに気づい:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-aws-messaging</artifactId>
<version>${spring-cloud-aws-version}</version>
</dependency>
私は春-クラウドAWS-バージョンを使用しています - 1.2.1.RELEASE
は多分 'AP-南-1 '領域は、まだ'春-クラウドaws'でサポートされていませんか? – Strelok
私はspring-cloud-aws-version-1.2.1.RELEASEを使用しています。これはap-south-1をサポートしています。 – souvikc