【问题标题】:gcp cli error =(gcloud.logging.write) unrecognized argumentsgcp cli 错误 =(gcloud.logging.write) 无法识别的参数
【发布时间】:2020-11-26 14:52:04
【问题描述】:

我正在使用以下命令在 gcp 日志中写入日志:

gcloud logging write my-test-log '{ "ServiceName": "$Service1", "SubsystemName": "$subsystem1") --payload-type=json

它给出以下错误:

(gcloud.logging.write) unrecognized arguments.

请推荐

【问题讨论】:

  • 我相信您在邮件末尾缺少'。应该是gcloud logging write my-test-log '{ "ServiceName": "$Service1", "SubsystemName": "$subsystem1"}' --payload-type=json
  • 同时注意} 而不是)
  • 我能够获取日志条目,但 shell 变量值没有出现,因为它就像 $Service1 和 $subsystem1 不是定义的值。这是我的命令---> gcloud logging write my-test-log '{ "ServiceName": "$Service1", "SubsystemName": "$subsystem1")' --payload-type=json",请帮帮我

标签: bash shell google-cloud-platform google-cloud-logging google-cloud-shell


【解决方案1】:

您收到该错误是因为您有一些语法错误。

正如 LundinCast 所说,正确的命令应该是:

gcloud logging write my-test-log '{ "ServiceName": "$Service1", "SubsystemName": "$subsystem1"}' --payload-type=json

您只会收到以下输出:

Created log entry.

请查看以下文档以获取更多信息:gcloud logging write

您可以验证它是否可以列出您的project's logs

gcloud logging logs list 

NAME
projects/<<PROJECT-ID>>/logs/my-test-log

reading the log entry:

gcloud logging read my-test-log

---
insertId: 1abcd235657fghi
jsonPayload:
  ServiceName: $Service1
  SubsystemName: $subsystem1
logName: projects/<<PROJECT-ID>>/logs/my-test-log
receiveTimestamp: '2020-11-26T21:10:25.757859880Z'
resource:
  labels:
    project_id: <<PROJECT-ID>>
  type: global
timestamp: '2020-11-26T21:10:25.757859880Z'

编辑 1

我在原始答案中发现了问题。 要以 json 格式获取变量的值,必须添加 "'",因此命令应类似于:

gcloud logging write --payload-type=json my-test-log '{ "message": "'"$variable"'" , "weather": "partly cloudy"}'

其中$variable的内容是my-variable-content

insertId: 1y7abcdefghijk
jsonPayload:
  message: my-variable-content
  weather: partly cloudy
logName: projects/<<PROJECT-ID>>/logs/my-test-log
receiveTimestamp: '2020-12-04T14:03:45.850928566Z'
resource:
  labels:
    project_id: <<PROJECT-ID>>
  type: global
timestamp: '2020-12-04T14:03:45.850928566Z'

【讨论】:

  • 我能够获取日志条目,但 shell 变量值没有出现,因为它就像 $Service1 和 $subsystem1 不是定义的值。这是我的命令---> gcloud logging write my-test-log '{ "ServiceName": "$Service1", "SubsystemName": "$subsystem1")' --payload-type=json",请帮帮我
  • @RaviTomar 我已经编辑了我的原始答案,我发现了丢失的内容。
  • @RaviTomar 如果我的回答对您有帮助,请告诉我,如果您觉得我的回答有用,请考虑支持/接受它,谢谢
猜你喜欢
  • 2021-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-24
  • 2021-01-14
  • 2020-03-01
  • 1970-01-01
相关资源
最近更新 更多