Spessore per l'esecuzione di gcloud storage

Panoramica

Cloud SDK include una nuova interfaccia a riga di comando, gcloud storage, che può essere notevolmente più veloce di gsutil durante l'esecuzione di caricamenti e download con una minore modifica dei parametri. Questa nuova interfaccia a riga di comando ha una sintassi e una struttura di comandi familiari agli utenti di gsutil, ma è sostanzialmente diversa sotto molti aspetti importanti. Per facilitare la transizione a questa nuova interfaccia a riga di comando, gsutil fornisce uno shim che converte i comandi gsutil in comandi di archiviazione di gcloud se esiste un equivalente, e torna al comportamento abituale di gsutil se non esiste un equivalente.

Per attivare

Imposta use_gcloud_storage=True nel file di configurazione .boto nella sezione [GSUtil]:

[GSUtil]
use_gcloud_storage=True

Puoi anche impostare il flag per singoli comandi utilizzando il flag -o di primo livello:

gsutil -o "GSUtil:use_gcloud_storage=True" -m cp -p file gs://bucket/obj

Comandi disponibili

L'interfaccia a riga di comando gcloud storage supporta solo un sottoinsieme di comandi gsutil. Di seguito è riportato un elenco dei comandi supportati dallo shim con eventuali differenze di comportamento indicate.

acl

  • Il sottocomando ch non è supportato.

classe automatica

  • Funziona come previsto.

bucketpolicyonly

  • Funziona come previsto.

gatto

  • Stampa i dati dell'oggetto per un secondo oggetto anche se il primo oggetto non è valido.

compose

  • Funziona come previsto.

cors

  • Il sottocomando get stampa "[]" anziché "gs://[nome bucket] non ha alcuna configurazione CORS".

cp

  • Copia un secondo oggetto anche se il primo non è valido.

  • Non supporta copie di file.

  • Supporta la copia di oggetti da cloud a cloud con barre finali nel nome.

  • Il flag di tutte le versioni (-A) attiva automaticamente l'esecuzione sequenziale anziché generare un errore.

defacl

  • Il sottocomando ch non è supportato.

defstorageclass

  • Funziona come previsto.

cancelletto

  • In gsutil, i flag -m e -c che influiscono sugli hash visualizzati vengono ignorati per gli oggetti cloud. Questo comportamento è stato risolto per shim e gcloud storage.

iam

  • Il sottocomando ch non è supportato.

  • Il flag -f continuerà su qualsiasi errore, non solo su errori dell'API.

kms

  • Il sottocomando "autorizza" restituisce messaggi informativi in un formato diverso.

  • Il sottocomando di crittografia restituisce messaggi informativi in un formato diverso.

etichette

  • Il sottocomando get stampa "[]" anziché "gs://[nome bucket] non ha alcuna configurazione di etichette."

lifecycle

  • Funziona come previsto.

logging

  • Il sottocomando get ha una spaziatura JSON diversa e non stampa un messaggio informativo se non viene trovata alcuna configurazione.

ls

  • Funziona come previsto.

mb

  • Funziona come previsto.

mv

  • Consulta le note relative ai sottotitoli codificati.

notifica

  • Il sottocomando list stampa le informazioni di configurazione come YAML.

  • Il sottocomando delete offre il monitoraggio dell'avanzamento e il caricamento in contemporanea.

pap

  • Funziona come previsto.

rb

  • Funziona come previsto.

requesterpays

  • Funziona come previsto.

rewrite

  • Il flag -k non genera un errore se viene chiamato senza una nuova chiave. Sia nei casi con spessore che in quello senza spessori, la chiave precedente viene mantenuta.

rm

  • $folder$ indicatori di eliminazione non supportati.

RPO

  • Funziona come previsto.

setmeta

  • Non genera un errore se non viene modificata nessuna intestazione.

stat

  • Include il campo "Data/ora di aggiornamento della classe di archiviazione:" che potrebbe causare la disattivazione del tasto Tab.

ubla

  • Funziona come previsto.

controllo delle versioni

  • Funziona come previsto.

web

  • Il sottocomando get ha una spaziatura JSON diversa e non stampa un messaggio informativo se non viene trovata alcuna configurazione.

Configurazione Boto

La configurazione trovata nel file boto è mappata in rapporto 1:1 alle variabili di ambiente gcloud, ove appropriato.

[Credenziali]

  • aws_access_key_id: "AWS_ACCESS_KEY_ID"

  • chiave_accesso_segreta_aws: "AWS_SECRET_ACCESS_KEY"

  • use_client_certificate: CLOUDSDK_CONTEXT_AWARE_USE_CLIENT_CERTIFICATE

[Boto]

  • proxy: CLOUDSDK_PROXY_ADDRESS

  • proxy_type: CLOUDSDK_PROXY_TYPE

  • proxy_port: "CLOUDSDK_PROXY_PORT"

  • utente_proxy: CLOUDSDK_PROXY_USERNAME

  • proxy_pass: "CLOUDSDK_PROXY_PASSWORD"

  • proxy_rdns: CLOUDSDK_PROXY_RDNS

  • http_socket_timeout: CLOUDSDK_CORE_HTTP_TIMEOUT

  • ca_certificates_file: "CLOUDSDK_CORE_PERSONAL_CA_CERTS_FILE"

  • max_retry_delay: CLOUDSDK_STORAGE_BASE_RETRY_RESULT

  • num_retries: CLOUDSDK_STORAGE_MAX_RETRIES

[GSUtil]

  • check_hashes: CLOUDSDK_STORAGE_CHECK_HASHES

  • default_project_id: CLOUDSDK_CORE_PROJECT

  • disabled_analytics_prompt: CLOUDSDK_CORE_DISABLE_USAGE_REPORTING

  • use_magicfile: CLOUDSDK_STORAGE_USE_MAGICFILE

  • parallel_composite_upload_threshold: CLOUDSDK_STORAGE_PARALLEL_COMPOSITE_UPLOAD_THRESHOLD

  • resumable_threshold: CLOUDSDK_STORAGE_RESUMABLE_THRESHOLD

[OAuth2]

  • client_id: CLOUDSDK_AUTH_CLIENT_ID

  • client_secret: CLOUDSDK_AUTH_CLIENT_SECRET

  • provider_Authorization_uri: CLOUDSDK_AUTH_AUTH_HOST

  • provider_token_uri: "CLOUDSDK_AUTH_TOKEN_HOST"

Note generali sulla compatibilità

  • Data la sua compatibilità con tutte le principali piattaforme, l'elaborazione multipla è abilitata per tutti i comandi per impostazione predefinita (equivalente all'opzione -m sempre inclusa in gsutil).

  • Una sequenza di asterischi maggiore di 2 (ad es. ***) viene sempre trattata come un singolo asterisco.

  • A differenza di gsutil, gcloud non è progettato per essere utilizzato nelle chiamate parallele e farlo (ad esempio eseguendo lo shim da 2 terminali contemporaneamente) può portare a comportamenti imprevedibili.

  • Supponendo che un bucket contenga un oggetto gs://bucket/nested/foo.txt, l'iteratore con caratteri jolly di gsutil troverà una corrispondenza con foo.txt a un URL come gs://bucket/*/nested/*. Lo shim non corrisponderà a foo.txt dato lo stesso URL.

  • Questo verrà aggiornato man mano che i nuovi comandi sono supportati sia da gcloud storage sia dallo shim.

  • In caso di problemi con Unicode, prova a impostare la variabile di ambiente PYTHONUTF8 su 1. In particolare, questa operazione può essere utile sulla riga di comando (CMD) di Windows.