Opções de linha de comando de nível superior

Descrição

A gsutil é compatível com opções separadas para o comando gsutil de nível superior e para os subcomandos individuais (como cp, rm etc.) As opções de nível superior controlam o comportamento da gsutil que se aplica a todos os comandos. Por exemplo, no comando:

gsutil -m cp -p file gs://bucket/obj

a opção -m se aplica à gsutil, enquanto a opção -p se aplica ao subcomando cp.

Opções

-D

Mostra solicitações/cabeçalhos HTTP e informações de depuração adicionais necessárias ao postar solicitações de suporte, incluindo rastreamentos de pilha de exceção.

-DD Igual a -D, além de payload upstream do HTTP.
-h

Permite que você especifique determinados cabeçalhos HTTP, por exemplo:


gsutil -h "Cache-Control:public,max-age=3600" \
       -h "Content-Type:text/html" cp ...

Observe que você precisa citar os cabeçalhos/valores que contêm espaços (como "Content-Disposition: nem como nome de arquivo.ext") para evitar que o shell os dividaem argumentos separados.

Os seguintes cabeçalhos são armazenados como metadados do objeto e usados em solicitações futuras no objeto:


Cache-Control
Content-Disposition
Content-Encoding
Content-Language
Content-Type

Os seguintes cabeçalhos são usados para verificar a integridade dos dados:


Content-MD5

A gsutil também aceita cabeçalhos de metadados personalizados com um prefixo correspondente do provedor do Cloud Storage, como:


x-goog-meta-

Para URLs gs://, o cabeçalho de controle de cache é específico da API que está sendo usada. A API XML aceita quaisquer cabeçalhos de controle de cache e os retorna durante downloads de objetos. A API JSON se refere apenas aos cabeçalhos de controle de cache públicos, particulares, sem cache, idade máxima e sem transformação.

Consulte também gsutil help setmeta para saber como definir campos de metadados em objetos após o upload.

-i

Permite que você use as credenciais configuradas para personificar uma conta de serviço. Por exemplo:


gsutil -i "service-account@google.com" ls gs://pub

Essa configuração será ignorada pela XML API e S3. Consulte gsutil help cred para mais informações sobre como representar contas de serviço.

-m

Faz com que as operações compatíveis (acl ch, acl set, cp, mv, rm, RSync e setmeta) sejam executadas em paralelo. Isso pode melhorar significativamente o desempenho se você estiver executando operações em um grande número de arquivos por meio de uma conexão de rede razoavelmente rápida.

O gsutil executa a operação especificada usando uma combinação de várias linhas e multiprocessamento. O número de threads e processadores é determinado por parallel_thread_count e parallel_process_count, respectivamente. Esses valores são definidos no arquivo de configuração .boto ou especificados em solicitações individuais com a sinalização de nível superior -o. Como o gsutil não tem suporte integrado para limitar solicitações, você precisa testar esses valores. Os valores ideais podem variar com base em diversos fatores, incluindo velocidade de rede, número de CPUs e memória disponível.

O uso da opção -m pode consumir uma quantidade significativa de largura de banda da rede e causar problemas ou piorar o desempenho se você usar uma rede mais lenta. Por exemplo, se você iniciar uma operação rsync grande em um link de rede que também é usado por vários outros jobs importantes, o desempenho desses jobs poderá ser prejudicado. Da mesma forma, a opção -m pode piorar o desempenho, especialmente nos casos que executam todas as operações localmente, porque elas podem "sobrecarregar" o disco local.

Para evitar esses problemas, reduza os valores de parallel_thread_count e parallel_process_count ou pare de usar a opção -m. Uma ferramenta que pode ser usada para limitar a quantidade de capacidade de E/S que o gsutil consome e impedir que ele monopolize o disco local é a ionice (integrado a muitos sistemas Linux; link em inglês). Por exemplo, o comando a seguir reduz a prioridade de E/S do gsutil para que ele não monopolize o disco local:


ionice -c 2 -n 7 gsutil -m rsync -r ./dir gs://some bucket

Se uma operação de download ou de upload que usa a transferência paralela falhar antes da conclusão de toda transferência (por exemplo, falhar após a transferência de 300 de 1000 arquivos), será necessário reiniciar toda a transferência.

Além disso, embora a maioria dos comandos normalmente falhe ao encontrar um erro quando a sinalização -m está desativada, todos os comandos continuam tentando todas as operações quando -m está habilitada com vários threads ou processos. O mesmo modo, o número de operações com falha (se houver) é relatado como uma exceção no final da execução do comando.

-o Definir/substituir valores no valor de configuração do boto, no formato {section}: {name} = {value}, por exemplo, gsutil -o "Boto:proxy=host" ... Isso não passará a opção para testes de integração da gsutil. que são executados em um processo separado.
-q Faz com que a gsutil execute operações silenciosamente, ou seja, sem relatar indicadores de progresso de arquivos que estão sendo copiados ou removidos etc. Erros ainda são relatados. Essa opção pode ser útil para executar a gsutil de um cron job que registra a saída em um arquivo, para o qual as únicas informações desejadas no registro são falhas.
-u

Permite que você especifique o ID ou o número de um projeto de usuário a ser cobrado pela solicitação. Exemplo:


gsutil -u "bill-this-project" cp ...