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 confoo.txt
a un URL comegs://bucket/*/nested/*
. Lo shim non corrisponderà afoo.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
su1
. In particolare, questa operazione può essere utile sulla riga di comando (CMD) di Windows.