Tengo un servidor Spring Cloud Data Flow instalado en mi local. al crear una transmisión desde la fuente (archivo) a AWS-S3 como sumidero , aparece el siguiente error:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.cloud.aws.context.support.io.ResourceLoaderBeanPostProcessor#0': Cannot resolve reference to bean 'amazonS3' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'amazonS3' defined in org.springframework.cloud.stream.app.s3.AmazonS3Configuration: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.amazonaws.services.s3.AmazonS3]: Factory method 'amazonS3' threw exception; nested exception is java.lang.IllegalStateException: There is not EC2 meta data available, because the application is not running in the EC2 environment. Region detection is only possible if the application is running on a EC2 instanceCausado por:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'amazonS3' defined in org.springframework.cloud.stream.app.s3.AmazonS3Configuration: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.amazonaws.services.s3.AmazonS3]: Factory method 'amazonS3' threw exception; nested exception is java.lang.IllegalStateException: There is not EC2 meta data available, because the application is not running in the EC2 environment. Region detection is only possible if the application is running on a EC2 instanceLo que observo es que S3 solo se puede usar como sumidero si el servidor Spring Cloud Dataflow está instalado en AWS EC2.
¿Hay alguna forma en que un servidor Spring Cloud Data Flow instalado en una máquina local se pueda usar para conectarse al depósito de AWS S3 y usar lo mismo como sumidero?
Tal vez sea un problema de configuración en su entorno de desarrollo, en cuanto a la versión de Spring Cloud Brixton.SR7, para configurar manualmente la región que establecería en su aplicación.propiedades (o .xml, .yml lo que sea que esté usando). Este parámetro debe ser SOLO para su entorno de desarrollo, a menos que realmente necesite especificarlo en producción.
cloud.aws.region.static=us-east-1También tuve que configurar la siguiente propiedad para el desarrollador, pero tal vez no la necesites.
cloud.aws.stack.auto=false