Spring Cloud Function Lambda application.yaml未加载

时间:2018-11-06 14:29:16

标签: java spring-boot kotlin aws-lambda spring-cloud

我正在尝试使用Spring-Cloud-Function来编写kotlin AWS Lambda。当我尝试同时在AWS和Sam上将其作为AWS Lambda运行时,无法解析我用@Value注入并位于 resources / application.yaml 中的任何属性。< / p>

根据documentation,我可以包含以下依赖项以将公开的功能作为独立的Web应用程序运行:

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-function-web</artifactId>
  <version>${spring-cloud-function.version}</version>
</dependency>

这对于在使用sam之前在本地运行非常有用,并且对于调试非常有用。从那以后,我用它来验证作为独立应用程序运行时是否从application.yaml中拾取了属性。因此,我的文件结构和代码没有错。

application.yaml

aws:
  region: us-east-1
  bucket:
    directory : "myFiles"

使用属性的示例类:

@Configuration
class AwsConfig(
    @Value("\${aws.region}")
    private val region: String
) {

   @Bean
   fun s3Client(): AmazonS3 = AmazonS3Client.builder()
        .withClientConfiguration(awsConfig())
        .withRegion(region)
        .build()


   private fun awsConfig(): ClientConfiguration = ClientConfiguration()

}

项目结构:

.
├── pom.xml
├── serverless.yaml
└── src
    └── main
        ├── kotlin
        └── resources
            └── application.yaml

这是Spring-Cloud-Function的已知缺点吗?还是还有其他问题?

0 个答案:

没有答案