如何使用gsutil命令在Google存储(存储桶)中创建一个空文件夹?

时间:2019-11-13 13:25:18

标签: google-cloud-storage airflow bucket gsutil

我们如何使用gsutil命令创建文件夹。我在需要使用gsutil Bash命令的气流中使用Bashoperator,已经创建了Bucket,我想在bucket中创建一个文件夹。 我已经尝试过以下命令,但对我来说不起作用。

$ gsutil cp <new_folder> gs://<bucketname>/  

我遇到错误-CommandException:没有匹配的URL:new_folder

2 个答案:

答案 0 :(得分:0)

Google存储的工作方式不同于Windows / Linux中的常规文件系统。它似乎有文件夹,但在后台却没有。它只允许我们创建“文件夹”,这样我们才能更好地组织工作并保持舒适感。

如果要从gsutil将数据保存到特定文件夹中,请尝试此操作。

gsutil cp [filetocopy] gs://your-bucket/folderyouwant/your-file

它将项目存储在“文件夹”中。

检查此链接以获取更多gsutil cp information

这是Google Cloud Storage“文件夹”背后的逻辑。

  

gsutil将使用以下命令为命名存储桶发出存储桶列表请求   delimiter =“ /”和prefix =“ abc”。然后它将检查桶   列出结果并确定存储桶中是否有对象   其路径以gs:// your-bucket / abc /开头,以确定是否   将目标视为对象名称或目录名称。反过来这   影响您创建的对象的名称:如果上述检查   表示存在一个“ abc”目录,您将最终获得该对象   gs:// your-bucket / abc / your-file;否则,您将得到   对象gs:// your-bucket / abc。

如果您愿意的话,这里还有更多interesting information

答案 1 :(得分:0)

显然,使用gsutil创建一个空的文件夹的能力是一个已经被看到几次但还不满意的请求。使用API​​似乎可以解决一些问题,然后可以编写脚本。通过脚本可以创建空文件夹的GitHub问题可在以下位置找到:

https://github.com/GoogleCloudPlatform/gsutil/issues/388