为什么将 Spring Cloud 应用程序与 AWS Parameter Store 集成不会从参数存储中返回任何属性?

2024-03-12

Intent:我正在开发一个 POC,打算使用 AWS 参数存储作为属性存储。这会将机密应用程序属性存储在 AWS SSM 的参数存储中。我正在使用 Java 8 和 spring boot/cloud 版本 2。

Resource: 我跟着本参考指南 http://cloud.spring.io/spring-cloud-static/spring-cloud-aws/2.0.0.RELEASE/multi/multi__cloud_environment.html#_integrating_your_spring_cloud_application_with_the_aws_parameter_store来自春季文档 和

也是一篇综合性的文章将 AWS Parameter Store 与 Spring Cloud 集成 https://blog.trifork.com/2018/07/20/integrating-the-aws-parameter-store-with-spring-cloud/.因此试图利用

spring-cloud-starter-aws-parameter-store-config.jar

因此在构建文件中添加了所需的依赖项。

预期输出:

实际产量 :

Here is 来自 AWS 控制台的快照我正在尝试从 AWS 参数存储访问下面显示的参数

以下是我的弹簧属性文件:

应用程序.yml

bootstrap.yml

我正在使用具有以下依赖项的 MavenPOM.xml

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-aws-parameter-store-config</artifactId>
        </dependency>
    </dependencies>

我在这里错过了什么吗?如果有人已经遇到并解决了这个问题,请告诉我。

我可以从命令行输入和获取参数,但它只是无法让这个 java lib 工作。

我正在尝试的示例的 GitHub 存储库 -

GitHub 存储库链接 https://github.com/MaheshLoya/springcloud-aws-paramstore-integration-sample/tree/master


我检查了您的应用程序,它没有按我预期的方式工作,因为我有 ~.aws/config 文件,这导致 AWS 凭证配置错误(原因是DefaultAWSCredentialsProviderChain, 阅读更多here https://github.com/spring-cloud/spring-cloud-aws/blob/master/docs/src/main/asciidoc/spring-cloud-aws.adoc#simple-credentials-configuration),所以我删除了它,然后再次尝试,但它失败了,说 spring 无法在 env 中找到 aws 区域,因此显然在 spring 从 AWS 参数存储加载属性之前,不会使用 application.yml 中指定的那些属性。

我是如何让它发挥作用的

I added:

        System.setProperty("aws.accessKeyId","My_Key");
        System.setProperty("aws.secretKey","Secret");
        System.setProperty("aws.region","us-east-1");//same region where all your params exist

before SpringApplication.run(DemoApplication.class, args);然后就成功了。

当改变aws.region对于没有定义参数值的另一个,我得到了与你完全相同的结果(空值)。

确保您的计算机或 EC2 实例上没有任何 aws 配置会覆盖您的应用程序中提供的配置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么将 Spring Cloud 应用程序与 AWS Parameter Store 集成不会从参数存储中返回任何属性? 的相关文章

随机推荐

  • 将多个序列化器添加到嵌套序列化器字段

    序列化器 py class BusOncomingSerializer serializers Serializer idn serializers IntegerField read only True stops left serial
  • 无法解析 com.android.support:support-annotations 26.0.1

    dependencies compile fileTree dir libs include jar androidTestCompile com android support test espresso espresso core 2
  • 为什么 RDBMS 不支持列的数组类型?

    让我们以博客引擎为例 您有博客 博客有帖子 帖子有用于组织目的的标签 在确定标签问题在 RDBMS 环境中并非微不足道之后 我们去 google 寻求指导 并找到了以下解决方案的简洁摘要作为第一个命中 designs http www pu
  • 设置活动窗口

    我正在尝试制作一个提供地震风格下拉 HUD 控制台的应用程序 我可以让它显示和隐藏窗口 但我不知道如何在显示它后将其设置为活动窗口 我使用 Win API 调用来显示和隐藏窗口 我尝试过 SetForegroundWindow IntPtr
  • Java Arrays.sort() 方法接受 1D 数组,但我也可以传递 2D 数组,那么为什么我不能执行 int[] a=b(其中 b 是 2D 数组)?

    我很难理解可以将 2D 数组传递给 java 的 Arrays sort 方法的概念 我看过 java 文档 sort 方法只能接受 1D 数组 但是当我尝试以下代码时出现错误 int b 1 2 2 3 int a b 但下面的代码工作正
  • 结合修剪和 if 公式

    我在Excel中使用修剪公式 TRIM LEFT SUBSTITUTE MID M2 FIND SUBSTITUTE M2 2 1 LEN M2 REPT LEN M2 LEN M2 查找 4 个数字组成的字符串之间的数字 19344954
  • 如何将 HTML 作为文本插入

    例如 我想要 HTML p 以纯文本形式显示 show 而不是被浏览器解释为实际标签 我知道 JQuery 有 html 和 text 但是在原始 JS 中这是如何完成的呢 有像encodeURIComponent这样的函数可以编码 p p
  • 在 SimpleHTTPServer.py 中重定向浏览器?

    我部分通过实现功能简单HTTP服务器 py http hg python org cpython file tip Lib SimpleHTTPServer py在方案中 我对 HTTP 请求 响应机制很感兴趣 在查看上面的文件时 我遇到了
  • PostgreSQL 中的 IN 与 ANY 运算符

    有什么区别IN and ANYPostgreSQL 中的运算符 两者的工作机制似乎是相同的 谁能用一个例子来解释这一点 严格来讲 IN and ANY是 Postgres 构造 或 语法元素 而不是 运算符 从逻辑上来说 引用手册 http
  • 从“最近的应用程序”启动应用程序和点击应用程序图标有什么区别

    我正在开发大型项目 因此有一些逻辑可以保存应用程序状态 然后在来自后台时打开正确的活动 片段 但无论如何 我发现如果用户浏览我的应用程序然后最小化它 android 在以下情况下会以不同的方式从后台打开它 用户点击应用程序图标 行为 当应用
  • 扩展 Object.setPrototypeOf() 与 Object.create

    我知道继承函数构造函数的两种方法 选项1对象 创建 function x x y this x x this y y x prototype XDD function function y c r x call this 1 2 this
  • 引用其他类上的静态属性时的 C# 线程安全

    我有一个方法来生成我编写的完全限定的 URL 我希望将其作为静态的 以便根据需要从模型中轻松调用 然而 我仍然无法确定其线程是否安全 这是代码 public string GenerateURLFromModel string action
  • Windows 中什么是零字节可执行文件

    我注意到在安装某些应用程序期间创建的文件夹 USERPROFILE AppData Local Microsoft WindowsApps 中有一些零字节可执行文件 这些是什么 如何像Windows一样创建和调用它 谢谢 GameBarEl
  • ASP.NET 多个联合身份提供商

    我正在开发一个 ASP NET 应用程序 我已成功添加对独立 AD FS 2 0 服务器的 STS 引用 因此我可以针对第 3 方的活动目录进行身份验证 问题是我有多个客户希望能够针对自己的活动目录进行身份验证 看来我只能在一个项目中添加一
  • 有没有办法限制 firebase 中的儿童数量?

    我有一个火力基地 我经常推动它 就像聊天一样 我担心聚集在火力基地的孩子数量 当所有连接都消失时 它们都会被删除 但是有没有办法限制其中的数量 Cheers 你可以使用这样的方法来实现类似的东西环形缓冲区 http en wikipedia
  • SQL 数据库中的持久变量?

    有没有办法将简单 持久 变量声明为 SQL 数据库的一部分 我正在尝试手动实现类似于 auto increment 的机制 但不与任何特定字段或表关联 每次调用我的一组过程中的一个时 我希望该变量增加 我发现你可以创建本地变量 会话变量和全
  • Pandas:在条件后创建指示列

    import numpy as np import pandas as pd df pd DataFrame cond A A A A A A A A A B B B B B B B B B Array S S TT TT S S TT T
  • Crashlytics 在初始化期间超时

    当我使用 Crashlytics 运行 Android 应用程序时 它在启动时挂起 并且我得到一个TimeoutException 然后 当我尝试使应用程序崩溃时 我收到另一个 TimeoutException 并显示消息Crashlyti
  • Django BooleanField 作为下拉菜单

    有没有办法让 Django BooleanField 成为表单中的下拉菜单 现在它呈现为单选按钮 是否可以有一个带有选项的下拉菜单 是 否 目前我对该字段的表单定义是 attending forms BooleanField require
  • 为什么将 Spring Cloud 应用程序与 AWS Parameter Store 集成不会从参数存储中返回任何属性?

    Intent 我正在开发一个 POC 打算使用 AWS 参数存储作为属性存储 这会将机密应用程序属性存储在 AWS SSM 的参数存储中 我正在使用 Java 8 和 spring boot cloud 版本 2 Resource 我跟着本