2

Gibt es eine Möglichkeit, Dateien in Git direkt in den Google Cloud Storage Bucket zu laden?Dateien von Git in Google Cloud Storage Bucket übertragen

ich die unter Befehl versucht haben:

gsutil cp https://Link.git gs://bucketname 

Aber es gibt mir einen Fehler wie:

InvalidUrlError: Unrecognized scheme "https".

Gibt es eine andere Art und Weise, dass ich Inhalt dieses laden kann?

Jede Hilfe wird sehr geschätzt!

Antwort

1

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 :)

Verwandte Themen