Funções da biblioteca de cliente do Google Cloud Storage

A biblioteca de cliente do Google Cloud Storage fornece as seguintes funções:

Funções

  • cloudstorage.copy2() copia o arquivo especificado para o novo nome de arquivo especificado no mesmo intervalo do Cloud Storage.
  • cloudstorage.delete() exclui o objeto especificado do intervalo do Cloud Storage.
  • cloudstorage.listbucket() lista os objetos no intervalo do Cloud Storage.
  • cloudstorage.open() abre um objeto existente no intervalo do Cloud Storage para leitura ou substituição, ou cria um novo objeto, dependendo do modo especificado.
  • cloudstorage.stat() fornece informações de metadados sobre o arquivo, como o tipo de conteúdo, tamanho, carimbo de data/hora, resumo MD5 e cabeçalhos do Cloud Storage.

Depois que cloudstorage.open() é chamada para retornar o objeto semelhante a um arquivo que representa o objeto do Cloud Storage especificado, é possível usar as funções de arquivo padrão do Python, como write() e close(), para gravar um objeto no intervalo do Cloud Storage. ou read() para ler um objeto do intervalo do Cloud Storage.

Classes

Funções

cloudstorage.copy2 (src, dst, metadata=None, retry_params=None)

Copia o arquivo especificado para o novo nome de arquivo especificado. Por padrão, copia também os metadados. Também é possível substituir os metadados na cópia fornecendo o parâmetro metadata opcional.

Gerará cloudstorage.NotFoundError se o objeto especificado do Cloud Storage não existir ou cloudstorage.AuthorizationError se a autorização falhar.

Argumentos

src (obrigatório)
Nome completo do arquivo do Cloud Storage do objeto, no formato /bucket/object_name. O nome de arquivo precisa estar completo e pode incluir o delimitador `/`.
dst (obrigatório)
Nome completo do arquivo do Cloud Storage da cópia do objeto, no formato /bucket/object_name. O nome de arquivo precisa estar completo e pode incluir o delimitador `/`.
metadata=None (opcional)
Um dict de metadados desta cópia, por exemplo, {'x-goog-meta-foo': 'bar'}. Se você fornecer o parâmetro de metadados, nenhum dos metadados originais será copiado para o novo arquivo. Se nenhum metadado for fornecido, (None), todos os metadados do arquivo de origem serão copiados.
retry_params= None (opcional)
Um objeto RetryParams com as alterações que você quer fazer nas configurações padrão de tempo limite e de novas tentativas para esta chamada.

Exemplo

Para copiar um arquivo, mas adicionar novos metadados e ignorar o erro, se o arquivo de origem não existir:
import cloudstorage

try:
  cloudstorage.copy2('/my_bucket/README', '/my_bucket/README2', metadata={'x-goog-meta-zzzzz': 'zzzzz'})
except cloudstorage.NotFoundError:
  pass

Voltar ao início


cloudstorage.delete (filename, retry_params=None)

Exclui o arquivo especificado do intervalo do Cloud Storage.

Gerará cloudstorage.NotFoundError se o objeto especificado do Cloud Storage não existir.

Argumentos

filename (obrigatório)
Nome completo do arquivo do Cloud Storage do objeto, no formato /bucket/object_name. O nome de arquivo precisa estar completo e pode incluir o delimitador `/`.
retry_params= None (opcional)
Um objeto RetryParams com as alterações que você quer fazer nas configurações padrão de tempo limite e de novas tentativas para esta chamada.

Exemplo

Para excluir um arquivo, mas ignorar o erro quando o arquivo não existir:
import cloudstorage

try:
  cloudstorage.delete(filename)
except cloudstorage.NotFoundError:
  pass

Voltar ao início


cloudstorage.listbucket (path_prefix, marker=None, max_keys=None, delimiter=None, retry_params=None)
Retorna um objeto iterador do intervalo. Esse iterador retorna uma lista classificada de objetos que correspondem a todos os filtros. Note que esta função é assíncrona. Ela não bloqueia, a menos que o iterador seja chamado antes de receber resultados.

Esta função funciona em dois modos diferentes dependendo de você usar ou não o argumento delimiter:

  • Modo normal (padrão): lista todos os arquivos no intervalo sem qualquer conceito de hierarquia. O Cloud Storage não tem hierarquias de diretórios reais.
  • Modo de emulação de diretório: se você especificar o argumento delimiter, ele será usado como um separador de caminho para emular uma hierarquia de diretórios.

Argumentos

path_prefix (obrigatório)
Um caminho do Cloud Storage de formato /bucket ou /bucket/prefix, por exemplo, /bucket/foo/2001. Somente serão retornados os objetos que tiverem caminho completo iniciado por path_prefix.
marker= None (opcional)
String. Outro prefixo de caminho. Somente serão retornados os objetos que tiverem caminho completo iniciado de maneira lexicográfica após o marcador exclusivamente. O arquivo usado como `marcador` não é retornado. Por exemplo, se você quer que todos os arquivos iniciados em superduperfoo3.txt sejam listados, especifique o arquivo imediatamente anterior ao superduperfoo3.txt, por exemplo:
stat = cloudstorage.listbucket("/my_bucket/foo", marker='/my_bucket/foo/superduperfoo2.txt')
Uma maneira de usar esse parâmetro é usá-lo com max_keys para "percorrer" os nomes de arquivo do intervalo.
max_keys= None (opcional)
Número inteiro. Especifica o número máximo de objetos a serem retornados. Use-o se você souber quantos objetos quer. Caso contrário, a biblioteca de cliente do Cloud Storage automaticamente armazena e percorre todos os resultados. Pode ser usado com marker para percorrer nomes de arquivos em um intervalo.
stats = cloudstorage.listbucket(bucket + '/foo', max_keys=page_size, marker=stat.filename)
delimiter= None (opcional)
String. Ativa o modo de diretório. Você pode especificar um ou vários caracteres para serem usados como um separador de diretório.
retry_params= None (opcional)
Um objeto RetryParams com as alterações que você quer fazer nas configurações padrão de tempo limite e de novas tentativas para esta chamada.

Valor do resultado

Retorna um iterador de objetos GCSFileStat sobre os arquivos correspondentes, classificados por nome de arquivo. No modo normal, os objetos GCSFileStat retornados têm os seguintes dados:

  • filename
  • etag (representação hexadecimal do hash MD5 do conteúdo do arquivo)
  • st_size (comprimento do conteúdo dos cabeçalhos)
  • st_ctime
  • is_dir

Observação: se a propriedade is_dir do objeto GCSFileStat for True, então a única outra propriedade no objeto será filename. Se is_dir for False, o GCSFileStat conterá todas as outras propriedades.

Voltar ao início


cloudstorage.open(filename, mode='r', content_type=None, options=None, read_buffer_size=storage_api.ReadBuffer.DEFAULT_BUFFER_SIZE, retry_params=None)

No modo de leitura, (r) abre o objeto especificado do Cloud Storage para leitura. No modo de gravação w, se o arquivo especificado existir, ele será aberto para substituição. A anexação não é aceita. Se o arquivo não existir, ele será criado no intervalo especificado.

Quando você terminar de gravar, se quiser ler o arquivo e/ou armazená-lo no Cloud Storage, feche o arquivo usando a função close. Não é um erro se você não chamar close, mas o arquivo não será legível ou persistirá no Cloud Storage.

Gera:

Argumentos

filename (obrigatório)
O arquivo a ser aberto no formato /bucket/object. Por exemplo, /my_bucket/lyrics/southamerica/list5.txt.
mode (opcional)
String. Especifique 'r' para abrir um arquivo para leitura (padrão). Especifique 'w' para abrir um arquivo existente para substituir ou para criar um novo arquivo.

content_type: (opcional)
String. Usado apenas no modo de gravação. Especifique o tipo MIME do arquivo. Qualquer tipo MIME válido pode ser especificado. Se você não fornecer esse valor, o Cloud Storage usará como padrão o tipo binary/octet-stream quando veicular o objeto.
options: (opcional)

Dict. Usado apenas no modo de gravação. As opções aceitas são x-goog-acl, x-goog-meta-, cache-control, content-disposition e content-encoding.

Se você não fornecer uma opção x-goog-acl, o Cloud Storage usará a Access Control List padrão do intervalo. Os valores válidos para x-goog-acl estão listados na documentação do Cloud Storage para x-goog-acl.

Você pode especificar metadados de objetos personalizados usando cabeçalhos x-goog-meta-. Exemplo:

gcs_file = cloudstorage.open(filename, 'w', content_type='text/plain', options={'x-goog-acl': 'private','x-goog-meta-foo': 'foo', 'x-goog-meta-bar': 'bar'})
read_buffer_size: (opcional)
Número inteiro. Usado apenas no modo de leitura. Se você não definir esse valor, o tamanho do buffer padrão será usado (recomendado). Para um desempenho ideal de busca prévia, leia por read_buffer_size.
retry_params=None (opcional)
Um objeto RetryParams com as alterações que você quer fazer nas configurações padrão de tempo limite e de novas tentativas para esta chamada.

Valor do resultado

Retorna um buffer de leitura ou gravação, compatível com uma interface semelhante a um arquivo, na qual é possível chamar funções padrão de read, write e close do Python. Feche este buffer depois que você terminar de ler ou gravar.

Voltar ao início


cloudstorage.stat(filename, retry_params=None)

Retorna um objeto GCSFileStat contendo metadados de arquivo.

Gerará cloudstorage.NotFoundError se o objeto especificado do Cloud Storage não existir.

Argumentos

filename (obrigatório)
O arquivo a ser aberto no formato /bucket/object. Por exemplo, /my_bucket/lyrics/southamerica/list5.txt.
retry_params=None (opcional)
Um objeto RetryParams com as alterações que você quer fazer nas configurações padrão de tempo limite e de novas tentativas para esta chamada.

Valor do resultado

Retorna um objeto GCSFileStat contendo metadados de arquivo.

Voltar ao início

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Ambiente padrão do App Engine para Python 2