首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用HTTP-API for deployment将JSON字符串转换为相应的CLI格式命令?

如何使用HTTP-API for deployment将JSON字符串转换为相应的CLI格式命令?
EN

Stack Overflow用户
提问于 2017-03-06 18:07:02
回答 1查看 148关注 0票数 0

我想使用Wildfly-HTTP-API编写一个shell脚本来部署wars,而不是cli,这似乎没有预期的那么有效。我找到了一个脚本,其中一部分是:

代码语言:javascript
复制
echo "-> Upload new war"
bytes_value=`curl -sF "file=@${WAR_PATH}/${WAR_NAME}" --digest ${WILDFLY_MANAGEMENT_URL}/management/add-content | perl -pe 's/^.*"BYTES_VALUE"\s*:\s*"(.*)".*$/$1/'`
echo $bytes_value

json_string_start='{"content":[{"hash": {"BYTES_VALUE" : "'
json_string_end='"}}], "address": [{"deployment":"'"${WAR_NAME}"'"}], "operation":"add", "enabled":"true"}'
json_string="$json_string_start$bytes_value$json_string_end"

echo "-> Deploy new war"
result=`curl -sS -H "Content-Type: application/json" -d "$json_string" --digest ${WILDFLY_MANAGEMENT_URL}/management | perl -pe 's/^.*"outcome"\s*:\s*"(.*)".*$/$1/'`
echo $result

我习惯于将JSON字符串转换为CLI命令,但步骤

代码语言:javascript
复制
'{"content":[{"hash": {"BYTES_VALUE" : "$bytes_value"}}], "address": [{"deployment":"${WAR_NAME}"}], "operation":"add", "enabled":"true"}'

这让我感到困惑,因为我找不到使用/deployment段的命令行界面的对应命令:

代码语言:javascript
复制
[domain@$ip:9990 /] /deployment=${WAR_NAME}:add(content=[hash= 

我不知道怎么做,有谁能帮我一下吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-07 21:10:29

要上传内容,您可以使用streams (它们将进入WildFly 11中的命令行界面)。cli使用Http-API (至少在Wildfly 10中),因为这是默认的管理接口。哈希是上传内容的摘要,您应该添加{WAR_NAME}:/deployment=$(content=[bytes=]以添加内容本身或使用url参数(如果您与DC在同一台计算机上,则文件url确实有效)。

你可以看看:the documentation of the API

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42622732

复制
相关文章

相似问题

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