我们有什么方法可以将git中的文件直接上传到谷歌云存储桶吗?
我尝试使用以下命令:
gsutil cp https://Link.git gs://bucketname
但它给我一个错误:
InvalidUrlError:无法识别的方案" https"。
我可以通过其他方式将内容上传到此内容吗?
非常感谢任何帮助!
答案 0 :(得分:1)
在引擎盖下偷看,在google-cloud-sdk/platform/gsutil/gslib/storage_url.py
中显示了您收到的错误消息的(可能)触发器:
def _GetSchemeFromUrlString(url_str):
"""Returns scheme component of a URL string."""
end_scheme_idx = url_str.find('://')
if end_scheme_idx == -1:
# File is the default scheme.
return 'file'
else:
return url_str[0:end_scheme_idx].lower()
[...]
def StorageUrlFromString(url_str):
"""Static factory function for creating a StorageUrl from a string."""
scheme = _GetSchemeFromUrlString(url_str)
if scheme not in ('file', 's3', 'gs'):
raise InvalidUrlError('Unrecognized scheme "%s"' % scheme)
基本上该工具不支持通用URL。
当然 - 人们可以尝试增强工具来实际支持从git仓库直接复制。但应该注意的是,它只能在菊花链模式下工作。来自Options:
-D
以“菊花链”模式复制,即在两个存储桶之间复制 通过运行gsutil的机器将下载挂钩到上传。 这与默认情况相反,在默认情况下复制数据 两个桶“在云中”,即无需通过 gsutil运行的机器。
[...]
注意:复制时会自动使用菊花链模式 提供商(例如,将数据从Google云端存储复制到另一个 提供者)。
但是,因为在这种情况下,数据必须通过运行gsutil
的本地机器,在本地克隆git repo然后使用未修改的gsutil
从本地上传时可能更简单回购桶:)