是否可以使用 gsutil(或其他一些工具)在 Google Cloud Storage 上批量重命名对象?我试图找出一种方法将一堆图像从 *.JPG 重命名为 *.jpg。
每当我运行bq或gsutil命令时,我得到以下输出:
Loading user based configuration file: [/home/reggie/.config/gcloud/properties].
User based configuration files are deprecated and will not be read in a future gcloud release.
Run Code Online (Sandbox Code Playgroud)
有什么替代方案,我该如何使用呢?
google-bigquery gsutil google-cloud-platform gcloud gcloud-cli
创建用于Google Compute Cloud的密钥非常多.我正在尝试使用gsutil创建.boto文件,它要求"Google访问密钥ID".我的目标是使用Python脚本访问"Google云端存储".
因此,当gsutil要求"Google访问密钥ID"时 - 它是来自的那个
我是Google Cloud项目的所有者,项目内部有一个Google Cloud Storage存储桶。我们所有的备份都移至该存储桶。当我尝试检索某些备份时,我被拒绝了权限。除了列出存储桶,我无能为力。
当我尝试使用重置存储桶ACL时
gsutil acl ch -u xxx@yyy.zzz:FC gs://abc/**
Run Code Online (Sandbox Code Playgroud)
我收到以下错误。
CommandException:无法为gs://abc/1234.sql设置ACL。请确保您拥有对此资源的所有者角色访问权限。
因为我是项目和存储桶的所有者,这没有任何意义。
我想务实地检查特定的谷歌云存储桶中是否存在对象。根据对象可用性,我将执行进一步的操作。
我已经浏览了https://cloud.google.com/storage/docs/gsutil/commands/stat和 doc 提到“ gsutil -q ”对于编写脚本很有用,因为现有对象的退出状态为 0 和 1对于一个不存在的对象。但是当我使用命令时它不能正常工作。请让我知道是否有人以前尝试过这个?
#!/bin/bash
gsutil -q stat gs://<bucketname>/object
return_value=$?
if [ $return_value != 0 ]; then
echo "folder exist"
else
echo "folder does not exist"
fi
Run Code Online (Sandbox Code Playgroud) 我只想获得 GCS 上假文件夹结构的第一级。
如果我运行例如:
gsutil ls 'gs://gcp-public-data-sentinel-2/tiles/'
我得到一个这样的列表:
gs://gcp-public-data-sentinel-2/tiles/01/
gs://gcp-public-data-sentinel-2/tiles/02/
gs://gcp-public-data-sentinel-2/tiles/03/
gs://gcp-public-data-sentinel-2/tiles/04/
gs://gcp-public-data-sentinel-2/tiles/05/
gs://gcp-public-data-sentinel-2/tiles/06/
gs://gcp-public-data-sentinel-2/tiles/07/
gs://gcp-public-data-sentinel-2/tiles/08/
gs://gcp-public-data-sentinel-2/tiles/09/
gs://gcp-public-data-sentinel-2/tiles/10/
gs://gcp-public-data-sentinel-2/tiles/11/
gs://gcp-public-data-sentinel-2/tiles/12/
gs://gcp-public-data-sentinel-2/tiles/13/
gs://gcp-public-data-sentinel-2/tiles/14/
gs://gcp-public-data-sentinel-2/tiles/15/
.
.
.
在 Python API 中运行如下代码会得到一个空结果:
from google.cloud import storage
bucket_name = 'gcp-public-data-sentinel-2'
prefix = 'tiles/'
storage_client = storage.Client()
bucket = storage_client.get_bucket(bucket_name)
for blob in bucket.list_blobs(max_results=10, prefix=prefix,
delimiter='/'):
print blob.name
Run Code Online (Sandbox Code Playgroud)
如果我不使用该delimiter选项,我会得到存储桶中的所有结果,这不是很有用。
如何使用gsutil命令在Google云存储中的存储桶中创建新文件夹?
我尝试在创建存储桶时使用相同的命令但仍然出错
gsutil mb -l us-east1 gs://my-awesome-bucket/new_folder/
Run Code Online (Sandbox Code Playgroud)
谢谢!
有没有办法通过存储在 Google Cloud Storage 中的文本文档进行 grep?
我在 VM 上存储了超过 10,000 个文档(txt 文件)并且正在耗尽空间。在达到限制之前,我想将文档移动到其他位置。目前,我正在考虑在 GCP 上迁移到 Google Cloud Storage。
我有时需要使用特定关键字对文档进行 grep。我想知道是否有任何方法可以查看上传到 Google Cloud Storage 的文档?我检查了 gsutil 文档,但似乎支持 ls,cp,mv,rm 但我没有看到 grep。
我按照官方文件给出的说明进行操作,但卡在执行中./install.sh。
MacOS 版本:10.14.5 (18F132) Python 版本:python2.7
下载 gcloud 网站提供的 zip 文件后,我运行命令。./install.sh它告诉我
weiziyangdeMacBook-Pro:google-cloud-sdk weiziyang$ ./install.sh
Welcome to the Google Cloud SDK!
ERROR:root:code for hash md5 was not found.
Traceback (most recent call last):
File "/usr/local/Cellar/python@2/2.7.15/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in <module>
globals()[__func_name] = __get_hash(__func_name)
File "/usr/local/Cellar/python@2/2.7.15/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type md5
ERROR:root:code for hash sha1 was not found.
Traceback (most recent call last):
File "/usr/local/Cellar/python@2/2.7.15/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line …Run Code Online (Sandbox Code Playgroud) 我已经阅读了有关该gsutil cp命令的文档,但仍然不明白如何复制文件夹以保持相同的权限。我试过这个命令:
gsutil cp gs://bucket-name/folder1/folder_to_copy gs://bucket-name/folder1/new_folder
Run Code Online (Sandbox Code Playgroud)
但它导致错误:
CommandException: No URLs matched
Run Code Online (Sandbox Code Playgroud)
虽然,当我在每个名称的末尾使用斜杠尝试它时,它没有显示任何错误:
gsutil cp gs://bucket-name/folder1/folder_to_copy/ gs://bucket-name/folder1/new_folder/
Run Code Online (Sandbox Code Playgroud)
但是,当我检查gsutil ls. 我究竟做错了什么?