首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无法通过curl请求使用post请求在Flink中提交作业(请求不匹配...)

无法通过curl请求使用post请求在Flink中提交作业(请求不匹配...)
EN

Stack Overflow用户
提问于 2020-07-06 14:18:35
回答 2查看 141关注 0票数 0

我试图向Kubernetes集群上运行的Flink作业管理器发送post请求。在为不需要任何命令行参数的类发送/jar/run的post请求时,它工作得很好。但是,当尝试在同一个jar中提交一个不同的类(需要命令行参数)时,会出现以下错误。-:{"errors":["Request did not match expected format JarRunRequestBody."]}'

然而,在传递命令行参数和直接提交作业时,就像下面的works -:

代码语言:javascript
代码运行次数:0
运行
复制
./flink run -m localhost:30287 -c com.class.name ~/path/to/jar/1.0-1.0-SNAPSHOT.jar --bootstrap.servers izac-cp-kafka:9092 --group.id test --topic bank_transaction --schema.registry http://mysr-schema-registry:8081 --CepJson """{\"keyId\": \"customer_id\",\"pattern\": [{\"patternName\": \"p1\",\"simpleCondition\":{\"columnName\": \"amount\",\"operator\": \">\",\"value\": \"50\",\"dataType\": \"Int\"}},{\"patternName\":\"p2\",\"simpleCondition\":{\"columnName\":\"amount\",\"operator\":\">\",\"value\":\"30\",\"dataType\":\"Int\"}}],\"connector\":[{\"name\":\"begin\",\"connectorType\":\"next\",\"start\":\"p1\",\"end\":\"p2\"}]}"""

为了将上述命令转换为基于flink REST的post请求,我执行了以下-:

代码语言:javascript
代码运行次数:0
运行
复制
curl -k -v -X POST -H "Content-Type: application/json" --data '{    "entryClass":"com.class.name",   "programArgsList": [        "--bootstrap.servers izac-cp-kafka:9092",        "--group.id test",        "--topic bank_transaction",        "--schema.registry http://mysr-schema-registry:8081",        "--CepJson """{\"keyId\": \"customer_id\",\"pattern\": [{\"patternName\": \"p1\",\"simpleCondition\":{\"columnName\": \"amount\",\"operator\": \">\",\"value\": \"50\",\"dataType\": \"Int\"}},{\"patternName\":\"p2\",\"simpleCondition\":{\"columnName\":\"amount\",\"operator\":\">\",\"value\":\"30\",\"dataType\":\"Int\"}}],\"connector\":[{\"name\":\"begin\",\"connectorType\":\"next\",\"start\":\"p1\",\"end\":\"p2\"}]}""""]}' http://localhost:30287/jars/2a788e33-c92d-47c4-84af-31e3dff28666_1.0-1.0-SNAPSHOT.jar/run

然而,这给出了前面提到的错误。我只想将上面的命令行作业提交转换为基于rest api的flink集群提交。

注意-:post请求是针对已经包含所需Jar的flink集群的。我只想提交一个使用特定类的作业。

EN

回答 2

Stack Overflow用户

发布于 2020-07-06 15:59:27

我认为curl不会像scala那样接受"""作为字符串插值,因此它不会确切地发送正确的CepJson参数,所以我将从改变这一点开始。

票数 0
EN

Stack Overflow用户

发布于 2020-07-06 19:28:00

我将上面的curl请求更改为以下内容,并在-中运行:

代码语言:javascript
代码运行次数:0
运行
复制
curl -k -v -X POST -H "Content-Type: application/json" --data '{    "entryClass":"com.class.name",   "programArgsList": [        "--bootstrap.servers", "izac-cp-kafka:9092",        "--group.id"," test",        "--topic","bank_transaction",        "--schema.registry", "http://mysr-schema-registry:8081",        "--CepJson", "{\"keyId\": \"customer_id\",\"pattern\": [{\"patternName\": \"p1\",\"simpleCondition\":{\"columnName\": \"amount\",\"operator\": \">\",\"value\": \"50\",\"dataType\": \"Int\"}},{\"patternName\":\"p2\",\"simpleCondition\":{\"columnName\":\"amount\",\"operator\":\">\",\"value\":\"30\",\"dataType\":\"Int\"}}],\"connector\":[{\"name\":\"begin\",\"connectorType\":\"next\",\"start\":\"p1\",\"end\":\"p2\"}]}"]}' http://localhost:30287/jars/2a788e33-c92d-47c4-84af-31e3dff28666_1.0-1.0-SNAPSHOT.jar/run 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62750276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档