リポジトリに存在する外部 Yaml ファイルからデータを取得するために、Bitbucket リポジトリに接続する必要がある Cloud Foundry にデプロイされた Spring Boot アプリケーションがあります。現在、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 ファイルは次のとおりです。この Yaml ファイルは、Spring Cloud Config Server を介して Spring ブート PaaS にロードして読み取る必要があります。Out.yaml ファイルがブランチ feature/RQ4 またはルート ロケーションの dev-intg ブランチに存在すると仮定します。
Spring ブート アプリケーションに完全な Yaml ファイルをプレーン テキストで Java 文字列としてロードすることは可能でしょうか。完全な Yaml コンテンツを取得したら、オブジェクト マッパーを使用し、その Yaml 用に作成されたマッパー クラスを使用して、対応する Java オブジェクトに変換します。SSH キーを使用して構成サーバー経由でリポジトリに接続できますが、bitbucket リポジトリから yaml または同等の Json ファイルを読み取る方法がわかりません。
Out.yaml
---
data:
- outNumber: 1234
outName: "name1"
priority: 2
clientTypes:
- clientType: XYZ
- outNumber: 4567
outName: "name2"
identifier: name2
priority: 1
clientTypes:
- clientType: ABC