根据使用的命令,我建议验证您是否正确设置了端点。
export INSTANCE_ID=your-instance-id
export CDAP_ENDPOINT=$(gcloud beta data-fusion instances describe \
--location=us-central1 \
--format="value(apiEndpoint)" \
${INSTANCE_ID})
根据官方 CDAP文档,似乎端点不应包含v3之前的部分api。
此外,如果您的实例属于Basic edition,则命名空间为default;否则,当使用企业版时,您可以创建命名空间。
使用 curl 方法时,似乎您需要在标头中添加配置信息,因为此方法不包括 json 加载
另一方面,如果您在使用 curl 时遇到问题,我建议您使用 UI。
以这个例子上传插件mysql-connector-java-5.1.35.jar到Data fusion with curl,配置文件应该是这样的:
{
"parents": [ "system:cdap-data-pipeline[6.1.1,6.1.1]", "system:cdap-data-streams[6.1.1,6.1.1]" ],
"plugins": [
{
"name": "mysql",
"type": "jdbc",
"className": "com.mysql.jdbc.Driver"
}
]
}
由于使用 curl 您只能上传 jar文件,要包含配置文件中的信息,您应该使用 HTTP 标头包含此信息,如下所示:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"${CDAP_ENDPOINT}/v3/namespaces/default/artifacts/example" \
-H 'Artifact-Plugins: [ { "name": "mysql", "type": "jdbc", "className": "com.mysql.jdbc.Driver" } ]' \
-H "Artifact-Version: 5.1.35" \
-H "Artifact-Extends: system:cdap-data-pipeline[6.1.1, 6.1.1]/system:cdap-data-streams[6.1.1, 6.1.1]" \
--data-binary @mysql-connector-java-5.1.35.jar