You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用gcloud CLI发布含空格的Pub/Sub JSON消息报错问题

问题解决:gcloud Pub/Sub发布含空格的JSON消息报错

问题原因

你的命令中,jq输出的压缩JSON包含空格(比如"United Kingdom"里的空格),未被引号包裹的字符串会被Shell按空格分割为多个参数,导致Kingdom"}]}被当成gcloud的额外未识别参数,触发报错。

解决方案

给--message的参数加上双引号,确保Shell将整个JSON内容作为单一参数传递:

gcloud pubsub topics publish projects/<PROJECT>/topics/<TOPIC> --message="$(jq -c "." countries/list.json)" --attribute "Content-Type=application/json"

替代方案:先存变量再传递

也可以先将JSON内容存入变量,再通过双引号包裹变量传递:

MESSAGE=$(jq -c "." countries/list.json)
gcloud pubsub topics publish projects/<PROJECT>/topics/<TOPIC> --message="$MESSAGE" --attribute "Content-Type=application/json"

这两种方法都能保留JSON中的空格,无需修改原始JSON文件内容。

内容的提问来源于stack exchange,提问作者Thomas Hansen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 11:29:50