APIs do Cloud Storage

Visão geral

O Cloud Storage oferece duas APIs: uma XML e uma JSON. O Gsutil pode interagir com as duas. Por padrão, as versões do gsutil iniciadas com 4.0 interagem com a API JSON. Se não for possível executar um comando usando uma das APIs (por exemplo, o comando de notificação não é compatível com a API XML), o gsutil voltará a usar a outra API. Além disso, o gsutil voltará automaticamente a usar a API XML ao interagir com provedores de armazenamento em nuvem compatíveis apenas com essa API.

Para mais informações, consulte a documentação sobre a API JSON ou a API XML.

Como configurar qual API será usada

Se quiser usar uma determinada API para interagir com o Cloud Storage, defina a variável "prefer_api" na seção "GSUtil" do arquivo de configuração .boto para "xml" ou "json" da seguinte maneira:

prefer_api = json

Isso fará com que o gsutil use essa API sempre que possível (recorrendo à outra API nos casos acima). Isso também se aplica ao comando de teste do gsutil. Ele executará testes de integração na API de sua preferência.

Para mais informações, consulte a documentação sobre o Arquivo de configuração boto.

Diferenças de desempenho e custo entre APIs

A API XML usa a estrutura boto. Ela relê os arquivos baixados para calcular um hash MD5 se não houver um. Para objetos que não incluem hashes MD5 nos metadados (por exemplo, objetos compostos do Cloud Storage), isso dobra a largura de banda consumida e o tempo decorrido pelo download. Portanto, se você estiver trabalhando com objetos compostos, é recomendável usar o valor padrão para prefer_api.

A API XML também requer chamadas separadas para receber diferentes campos de metadados de objeto e bucket, como ACLs ou configuração de bucket. Assim, usar a API JSON quando possível consome menos operações (e, portanto, tem um custo menor).