首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google Cloud Compute Python API不接受我的启动脚本

Google Cloud Compute Python API不接受我的启动脚本
EN

Stack Overflow用户
提问于 2019-12-08 06:57:12
回答 1查看 37关注 0票数 0

下面是我的请求正文:

代码语言:javascript
复制
server = {
'name': name_gen.haikunate(),
'machineType': f"zones/{zone}/machineTypes/n1-standard-1",
'disks': [
    {
        'boot': True,
        'autoDelete': True,
        'initializeParams': {
            'sourceImage': 'projects/ubuntu-os-cloud/global/images/ubuntu-1604-xenial-v20191204'
        }
    }
],
'networkInterfaces': [
    {
        'network': '/global/networks/default',
        'accessConfigs': [
            {'type': 'ONE_TO_ONE_NAT', 'name': 'external nat'}
        ]
    }
],
'metadata': {
    'items': [
        {
            'keys': 'startup-script',
            'value': startup_script
        }
    ]
}

在使用此请求正文和计算对象创建vm时,它会给我以下错误:

代码语言:javascript
复制
googleapiclient.errors.HttpError:
<HttpError 400 when requesting https://compute.googleapis.com/compute/v1/projects/focal-maker-240918/zones/us-east4-c/instances?alt=json
returned "Invalid value for field 'resource.metadata': 
'{
   "item": [
   {
     "value": "#!/bin/bash\n\napt-get update\n\nsleep 15\n\nclear\n\napt-get install squ...'. Metadata invalid keys:">'

如何修复此错误?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-08 07:18:29

如果我们查看在找到here的计算引擎实例上设置元数据的文档,我们会看到其结构是:

代码语言:javascript
复制
"items": [
  {
    "key": string,
    "value": string
  }
],

如果我们将其与您的帖子中描述的结构进行比较,我们会看到您已经将key而不是keys编码为字段名。这很容易成为问题所在。要解决此问题,请将keys更改为key

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

https://stackoverflow.com/questions/59230971

复制
相关文章

相似问题

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