【问题标题】:GCP - windows-startup-script metadataGCP - windows-startup-script 元数据
【发布时间】:2021-07-15 12:41:04
【问题描述】:

我正在 GCP 中准备 Windows VM 实例。我正在使用启动脚本来执行 VM 初始配置。我想使用windows-startup-script metadata 传递多个值。我已经准备好所有组件,我需要传递元数据名称tags,元数据值将是一个值列表,例如:Parameter tag A, Parameter tag B, Parameter tag C。当我使用逗号“,”作为分隔符时,在command line 输出中我可以看到不正确的格式,如下所示。

问题是如何在元数据部分提供这些值。

【问题讨论】:

  • 什么不正确?你能描述一下你的期望吗?
  • 嗨,预期的输出格式是:--metadata="windows-startup-script-url=storage.cloud.google.com/$bucketname/test.ps1,tags=Parameter tag A, Parameter tag B, Parameter tag C,Priority=Critical,langs=en" .这只是从整个命令中提取的,它只是元数据部分。

标签: bash google-cloud-platform


【解决方案1】:

命令行已正确生成。实际上,在元数据列表中,逗号, 是分隔符。生成的命令将逗号作为分隔符转义并生成要接受的正确格式。

您还可以更改分隔符,例如使用分号;,并相应地更新您的脚本。


编辑 1

建议的命令行与 Linux 兼容,而不是与 Windows 终端(powershell 或 Dos)兼容。我在我这边进行了测试,您可以简单地将您的值用空格双引号和;

gcloud beta compute instances create instance-2 --zone=us-central1-a --machine-type=f1-micro --metadata=test="para1=a; para2=b; para3=c" 

【讨论】:

  • 嗨,我刚刚测试了 sh 脚本,元数据部分。我使用了这样的结构:url=storage.cloud.google.com/$bucketname/test.ps1,products=Parameter tag A;Parameter tag B;Parameter tag C,Priority=Critical,langs=en"。我用过"; " 作为“产品”列表中的分隔符,但它不能按预期工作。即使是列表中的一个产品也没有按预期选择。您知道出了什么问题吗?
  • 您必须使用反斜杠 `. or try to add the value part of the metadata between double quote "` 转义空格以转义空格 products="Param 1; Param 2;"
  • 我尝试了很多组合,但不幸的是它不起作用,命令行输出中的格式仍然不正确:(
  • 你是在 Windows(dos 或 powershell)、linux 或 mac 环境下运行命令吗?
  • 它的Windows环境
猜你喜欢
  • 1970-01-01
  • 2021-07-28
  • 2021-10-10
  • 2021-07-15
  • 2019-02-28
  • 1970-01-01
  • 1970-01-01
  • 2019-11-23
  • 2020-03-03
相关资源
最近更新 更多