按照本教程尝试当前安装approuter:
将approuter推到CF时,出现目标错误:
xs-app.json / routes / 0:格式验证失败(路由引用了未知目标“服务目标”)
这是我的manifest.yml:
---
applications:
- name: xyz
command: 'node approuter/approuter.js'
host: xyz-93deb1cd-7b72-4060-94e7-21342342
path: approuter
memory: 128M
buildpack: https://github.com/cloudfoundry/nodejs-buildpack
env:
TENANT_HOST_PATTERN: 'xyz(.*).cfapps.eu10.hana.ondemand.com'
destinations: "[{"name":"service-destination", "url": "https://gfuowbasdatq19agtuthorizations-srv.cfapps.eu10.hana.ondemand.com", "forwardAuthToken": true}]"
SAP_JWT_TRUST_ACL: '[{"clientid" : "*", "identityzone" : "*"}]'
services:
- my-xsuaa
- service-destination
这是我的xs-app.json:
{
"routes": [{
"source": "/",
"target": "/",
"destination": "service-destination"
}]
}
应用程序实际在哪里搜索此目的地?我也在我的CF帐户中创建了它,并指向了我的service-url。
答案 0 :(得分:1)
在YAML(以及许多其他标记语言,例如JSON)中,双引号内的双引号需要转义。 (参见the YAML spec节7.3.1和this blog post)
因此,对于您来说,destinations
变量有两个选择:
1.用"
替换内部的所有\"
(比较麻烦,尤其是将来要更改目的地时)
2.使用单引号作为边界。因此,destinations
变量的值应如下所示:
'[{"name":"service-destination", "url": "https://gfuowbasdatq19agtuthorizations-srv.cfapps.eu10.hana.ondemand.com", "forwardAuthToken": true}]'