Cloud Foundry 上部署了一个 Spring Boot 应用程序,它需要连接到 Bitbucket 存储库以从存储库中存在的外部 Yaml 文件获取数据。目前,我正在使用 Spring Cloud Config Server 并通过 application.yaml 中的 SSH 密钥配置 bitbucket 存储库。公钥放置在 bitbucket 服务器上的存储库设置下。
应用程序.yaml
spring:
cloud:
config:
server:
git:
uri: ssh://git@bitbucket.bip.intl.com/in/myrepo.git
cloneOnStart: true
ignoreLocalSshSettings: true
default-label: feature/RQ4
privateKey: |
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAx8yTitlZiJQ8WbQueMBXK3pfBlHM7XQ69i7asDZK14bAjmAH
ER3V8rynmvKGpkih7TPyqyr6r+HAEalckLaCqwH6GANA24gdHYl+un5czLQiHY9G
PyWBwH3NXv5jsPxwrgWRoQGYwQ8U8lzA+eI6g7+x7qeRK5+Vpi5+GghEHS/x0ujb
BXUL2MwieB+yOpOyPGDvj5jDCaFo0wWrUeQ8hyoUVDNdV0+U4LrU1GDFsfNLCmUt
udQ5pwmUgYWDRnw4mGsI20cP/wuWeys3ZToUSYLPQFJTXE5ZaJe/XPxPoFbFMS8k
9zob5trbuuvMul3G56xnN15CBdo+50T19OG8oQIDAQABAoIBAQC/3EaOXfspOVfe
uDSsBd9vQ9p+QgzstOFtyD5+WhRydNbxoWsH18O8jcbQ9zWv9i1wj6LnFaWXQcxj
6WOXH3vI5WQYrP8aENIMrB0CzxckB5J/GjdVqhm4E9Yj81sd+LvnkDdxCgx6z5XI
yqMRElooa+tchpLT9jIJW7oCG4/1CYNYLlH0gTjhCEQwLwm2C7FlbcaJsADlQhRa
+CUbqU5r0fI1ixTlg1VHAVyGtLEM2w0E3Cc0zAioYu/+re6zadTJHU5osyIMYpzj
5CYleWBh6/cfu2JrT8Dd5jxdXhG2mirLZrWpbGXjcLTHjp8FSdmDo8pgfcW5aYgR
SzuuqamVAoGBAO47UjGFCpph6YbepOvZnt0Uxo+IwOIqvgYt8ox5A2pOQBOjOSQU
YClhclhzuJ4zHHOgvv1PzC2E7tNEH4e93Lcfssqqx6WdyFnPlf6fo9tNh+ZZETWd
jMByzinK7j788AkOhpDxiULSkc1EMJ3T/D9ADrN6ZxfI9lq4LXVCJ79/AoGBANaz
cTaWIyD1CShaMx7oBLxq9Q8h2OnPhzsA9N8z8E6ZczXIUUC7TAZPEJA6bkECusxl
vDhb3LxIyHDk03RBybmOBsxqpzIdpx8DiHTwwaWqw8Qo852Rxgr7gqxIY5lC6Ll3
+ZF2iTGQJeS04bo9RSU9cuRuz1UAh+dgvgwktJPfAoGBALkLGM/gEBlUfkjFPYL4
uV3uGkE5LuE94/X20JRuFsoG19ypBuRQc1URHPk5gahX+PyTWmZ2Chk9TSiKnJca
UYtoMr8bIhIxWYLxLAfoRiU8tpekjSqBIugFBMAPoTkJzQSr5LhG9KAT4S54je65
zw/uGL0uEU+3SCu1LZIL/cXPAoGAF6clLdJUhGj6XUuynhEJlIhj/wrHjtqiF0n/
sCdUrhQRsTckXHFF6twDAyCszNS0J5h9p+fW5ZdPHcDX2tL0mlCfRx3o1YiWxL/q
5JcxfkLV1mJ8lDtfCg6zUq+W6WeJpAUnpdffddfcAIM86vudBoFCiw/6H28zibYK
uePBURkCgYBtrsPfcqStKzgYMEM+xPtJHYuuBcVNmZfRZzRCmCF5wlgSSdHUkO0K
ZTZZNmqeQTHK0AWDLg+W/Fr0HWrY6Y1aj8Fo/II8eMLsCQIX+fVayXgRxM9vqJgb
cCfB7Fg0OOA9NofWifXmL7jRyR86jipEo6Ixc+ULhrehnS+FioPcRw==
-----END RSA PRIVATE KEY-----
我的 bitbucket 存储库中存在的外部 yaml 文件如下所示。我需要通过 Spring Cloud Config Server 在我的 Spring boot PaaS 中加载和读取这个 Yaml 文件。假设 Out.yaml 文件存在于分支功能/RQ4 或根位置的 dev-intg 分支中。
是否可以在我的 Spring 启动应用程序中以纯文本形式将完整的 Yaml 文件加载为 Java 字符串。获得完整的 Yaml 内容后,我将使用 Object mapper 并使用为该 Yaml 编写的映射器类转换为相应的 java 对象。我可以使用 SSH 密钥通过 Config Server 连接到我的存储库,但不确定如何从 bitbucket 存储库读取 yaml 或等效的 Json 文件。
输出.yaml
---
data:
- outNumber: 1234
outName: "name1"
priority: 2
clientTypes:
- clientType: XYZ
- outNumber: 4567
outName: "name2"
identifier: name2
priority: 1
clientTypes:
- clientType: ABC