Google cloud platform 如何使用部署管理器将文件写入Google云存储?

Google cloud platform 如何使用部署管理器将文件写入Google云存储?,google-cloud-platform,google-cloud-storage,google-deployment-manager,Google Cloud Platform,Google Cloud Storage,Google Deployment Manager,我在列表中看到,GoogleCloudDeploymentManager至少对storage.v1.object类型有一些支持。我希望这能让我根据DM模板中的数据将文件写入GCS。不过,我一直在思考如何以DM喜欢的方式组合资源的属性。当我使用以下模板时: resources: - name: foo.txt type: storage.v1.object properties: bucket: my-bucket name: foo.txt

我在列表中看到,GoogleCloudDeploymentManager至少对
storage.v1.object
类型有一些支持。我希望这能让我根据DM模板中的数据将文件写入GCS。不过,我一直在思考如何以DM喜欢的方式组合资源的属性。当我使用以下模板时:

resources:
  - name: foo.txt
    type: storage.v1.object
    properties:
      bucket: my-bucket
      name: foo.txt
      uploadType: media
我从
gcloud部署管理器
中得到以下错误:

ERROR: (gcloud.deployment-manager.deployments.update) Error in Operation [operation-1522258413242-5687c67fa4691-c89f17c6-c0b96018]: errors:
- code: RESOURCE_ERROR
  location: /deployments/test-serviceaccount/resources/foo.txt
  message: '{"ResourceType":"storage.v1.object","ResourceErrorCode":"400","ResourceErrorMessage":{"code":400,"errors":[{"domain":"global","message":"Upload
    requests must include an uploadType URL parameter and a URL path beginning with
    /upload/","reason":"wrongUrlForUpload","extendedHelp":"https://cloud.google.com/storage/docs/json_api/v1/how-tos/upload"}],"message":"Upload
    requests must include an uploadType URL parameter and a URL path beginning with
    /upload/","statusMessage":"Bad Request","requestPath":"https://www.googleapis.com/storage/v1/b/my-bucket/o","httpMethod":"POST"}}'
我错过了什么?如何在部署管理器模板中构造有效的
storage.v1.object
资源

“将对象上载到云存储实际上不是一个受支持的用例” 在部署管理器中

但是,在从部署管理器上载对象的线程中,建议的解决方法是:

  • 创建并使用以下命令从部署管理器调用它:

    操作:gcp类型/cloudfunctions-v1beta2:cloudfunctions.projects.locations.functions.call

    您可以在中找到一个云函数示例

  • 使用

您可以使用以下示例作为Cloud Builder的参考。它克隆了一个存储库(您可以使用自己的映像代替它),并将目录上载到一个bucket

resources:
  - name: my-build
    action: gcp-types/cloudbuild-v1:cloudbuild.projects.builds.create
    metadata:
      runtimePolicy:
      - CREATE
    properties:
      steps:
      - name: gcr.io/cloud-builders/git
        args: ['clone', 'https://github.com/GoogleCloudPlatform/appengine-helloworld-php.git']
      - name: gcr.io/cloud-builders/gsutil
        args: ['-m', 'cp', '-r', 'appengine-helloworld-php', 'gs://<MY_BUCKET>/']
      timeout: 120s
资源:
-姓名:我的身材
操作:gcp types/cloudbuild-v1:cloudbuild.projects.builds.create
元数据:
运行时策略:
-创造
特性:
步骤:
-名称:gcr.io/cloud-builders/git
args:['clone','https://github.com/GoogleCloudPlatform/appengine-helloworld-php.git']
-名称:gcr.io/cloud-builders/gsutil
参数:['-m',cp','-r',appengine helloworld php',gs://']
超时:120秒