Spähen unter der Motorhaube zeigt in google-cloud-sdk/platform/gsutil/gslib/storage_url.py
, die (wahrscheinlich) Auslöser für die Fehlermeldung bekommen Sie:
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)
Grundsätzlich ist das Werkzeug nicht Unterstützung für generische URLs
Natürlich - man könnte wagen, das Werkzeug zu verbessern, um direkte Kopie von einem Git Repo zu unterstützen. Aber es sollte beachtet werden, dass es nur im Daisychain-Modus funktioniert. Von Options:
-D
Copy in "daisy chain" mode, i.e., copying between two buckets by hooking a download to an upload, via the machine where gsutil is run. This stands in contrast to the default, where data are copied between two buckets "in the cloud", i.e., without needing to copy via the machine where gsutil runs.
[...]
Note: Daisy chain mode is automatically used when copying between providers (e.g., to copy data from Google Cloud Storage to another provider).
Aber in diesem Fall, da die Daten müssen über die lokale Maschine passieren würde laufen gsutil
ist es wahrscheinlich einfacher, nur die git Repo lokal zu klonen und dann das unmodifizierte gsutil
verwenden aus diesem lokalen Repo hochladen in den Eimer :)