0

我使用以下代码创建了一个带有 DM 的存储桶

resources:
    - type: storage.v1.bucket
      name: test-bucket
      properties:
        project: my-project
        name: test-bucket

现在,当尝试在存储桶 (test-bucket-name\test) 中创建文件夹结构时,出现错误。请参考下面的示例代码和错误消息。

resources:
- type: storage.v1.object
  name: test
  properties:
    project: my-project
    name: test
    bucket: test-bucket

错误:

message: '{"ResourceType":"storage.v1.object","ResourceErrorCode":"400","Resou
rceErrorMessage":{"code":400,"errors":[{"domain":"global","message":"Upload
    requests must include an uploadType URL parameter and a URL path beginning w
ith
    /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 w
ith
    /upload/","statusMessage":"Bad Request","requestPath":"https://www.googleapi
s.com/storage/v1/b/test-bucket/o","httpMethod":"POST"}}'

我试图设置 urlpath 属性但没有用。

谁能指导我这个。

4

2 回答 2

1

您不能在存储桶内创建文件夹。这是一个平面存储。您可以放入存储桶的唯一内容是对象(如文件)。这些对象的名称可能类似于文件夹结构,以便在 UI 或其他方式中轻松查看这些对象。

这使得云存储非常适合存储要在网页中使用的图像等对象,以便可以快速检索它们而无需文件夹结构的开销。

于 2018-02-24T10:09:44.283 回答
1

Cloud Storage 系统没有文件夹的概念,在 GCP Console 中创建的文件夹可以方便地帮助您在存储分区中组织对象。

作为视觉辅助,GCP Console 显示带有文件夹图标图像的文件夹,以帮助您区分文件夹和对象。
在存储桶(或存储桶中的文件夹)中,您可以通过单击创建文件夹按钮来创建新文件夹。
添加到文件夹的对象似乎驻留在 GCP Console 的文件夹中。
实际上,所有对象都存在于存储桶级别,并且只是在其名称中包含目录结构。

例如,如果您创建一个名为抽屉的文件夹并将文件 image.jpg 添加到该文件夹​​,GCP Console 会使该文件看起来存在于该文件夹中。
实际上,没有单独的文件夹实体:文件仅存在于存储桶中,名称为抽屉/image.jpg。

于 2018-02-27T09:24:44.743 回答