Funzioni nella libreria client di App Engine per Cloud Storage

La libreria client di App Engine per Cloud Storage fornisce le seguenti funzioni:

Funzioni

  • cloudstorage.copy2() copia il file specificato nel nuovo nome file specificato nello stesso bucket Cloud Storage.
  • cloudstorage.delete() elimina l'oggetto specificato dal bucket Cloud Storage.
  • cloudstorage.listbucket() elenca gli oggetti nella classe nel bucket Cloud Storage.
  • cloudstorage.open() apre un oggetto esistente nella directory bucket Cloud Storage per la lettura o la sovrascrittura oppure crea un nuovo oggetto, a seconda del modalità specificata
  • cloudstorage.stat() fornisce informazioni sui metadati del file, ad esempio tipo di contenuto, dimensione, timestamp, digest MD5 e Cloud Storage headers.

Una volta che cloudstorage.open() viene richiamato per restituire un'immagine che rappresenta l'oggetto Cloud Storage specificato, puoi utilizzare lo standard funzioni file, come write() e close(), per scrivere di un oggetto al bucket Cloud Storage oppure read() per leggere un oggetto nel bucket Cloud Storage.

Corsi

Funzioni

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

Copia il file specificato con il nuovo nome file specificato, copiando per impostazione predefinita i metadati . Facoltativamente, puoi sovrascrivere i metadati nella copia fornendo l'elemento facoltativo metadata parametro

Genera cloudstorage.NotFoundError se l'oggetto Cloud Storage specificato non esiste o cloudstorage.AuthorizationError se l'autorizzazione non è riuscita.

Argomenti

src (obbligatorio)
Il nome completo del file Cloud Storage dell'oggetto, nel formato /bucket/object_name. Deve essere un nome file completo e può includere il delimitatore "/".
dst (obbligatorio)
Il nome completo del file Cloud Storage per la copia dell'oggetto, nel formato /bucket/object_name. Deve essere un nome file completo e può includere il delimitatore "/".
metadata= Nessuno (facoltativo)
Un'indicazione dei metadati per questa copia, ad esempio {'x-goog-meta-foo': 'bar'}. Se fornisci il parametro di metadati, nessuno dei metadati originali viene copiato nel nuovo file. Se non vengono forniti metadati, (None), l'intera sorgente automaticamente i metadati del file.
retry_params= Nessuno (facoltativo)
A RetryParams in cui si apportano le modifiche che si desidera apportare al valore predefinito impostazioni di timeout e di nuovo tentativo per questa chiamata.

Esempio

Per copiare un file, ma aggiungere nuovi metadati e ignorare l'errore se il file di origine non esiste:
import cloudstorage

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

Torna all'inizio


cloudstorage.delete (filename, retry_params=None)

Elimina il file specificato dal bucket Cloud Storage.

Genera cloudstorage.NotFoundError se l'oggetto Cloud Storage specificato non esiste.

Argomenti

filename (obbligatorio)
Il nome completo del file Cloud Storage dell'oggetto, nel formato /bucket/object_name. Deve essere un nome file completo e può includere il delimitatore "/".
retry_params= Nessuno (facoltativo)
A RetryParams in cui si apportano le modifiche che si desidera apportare al valore predefinito impostazioni di timeout e di nuovo tentativo per questa chiamata.

Esempio

Per eliminare un file ma ignorare l'errore quando il file non esiste:
import cloudstorage

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

Torna all'inizio


cloudstorage.listbucket (path_prefix, marker=None, max_keys=None, delimiter=None, retry_params=None)
restituisce un oggetto Iterator del bucket. Questo iteratore restituisce un elenco ordinato di che corrispondono a tutti i filtri. Tieni presente che è asincrona. Non si blocca a meno che l'iteratore non venga chiamato prima che l'iteratore riceva i risultati.

Questa funzione opera in due diverse modalità a seconda che utilizzi o meno l'argomento delimiter o meno:

  • Modalità normale (impostazione predefinita): elenca tutti i file nel bucket senza concetto di nella gerarchia. Cloud Storage non ha gerarchie di directory reali.
  • Modalità di emulazione directory: se specifichi delimiter viene utilizzato come separatore di percorso per emulare una gerarchia di .

Argomenti

path_prefix (obbligatorio)
Un percorso Cloud Storage nel formato /bucket o /bucket/prefix, ad esempio /bucket/foo/2001. Solo gli oggetti il cui percorso completo inizia con path_prefix saranno restituito.
marker= Nessuno (facoltativo)
Stringa. Un altro prefisso del percorso. Solo gli oggetti il cui percorso completo inizia verrà restituito solo a livello didattico dopo l'indicatore. Il file utilizzato come "indicatore" non viene restituito. Ad esempio, se vuoi che tutti i file elencati a partire da superduperfoo3.txt vengano essere elencato, specifichi il file che precede superduperfoo3.txt, ad esempio:
stat = cloudstorage.listbucket("/my_bucket/foo", marker='/my_bucket/foo/superduperfoo2.txt')
Un modo per utilizzare questo parametro è usarlo con max_keys a "page-through" i nomi dei file dei bucket.
max_keys= Nessuno (facoltativo)
Numero intero. Specifica il numero massimo di oggetti da restituire. Utilizza le funzionalità di se sai quanti oggetti vuoi. (Altrimenti, il client Cloud Storage libreria automaticamente il buffer e l'impaginazione di tutti i risultati.) Può essere utilizzata con marker per impaginare i nomi dei file in un bucket.
stats = cloudstorage.listbucket(bucket + '/foo', max_keys=page_size, marker=stat.filename)
delimiter= Nessuno (facoltativo)
Stringa. Attiva la modalità directory. Puoi specificare uno o più da utilizzare come separatore di directory.
retry_params= Nessuno (facoltativo)
A RetryParams in cui si apportano le modifiche che si desidera apportare al valore predefinito impostazioni di timeout e di nuovo tentativo per questa chiamata.

Valore risultato

Restituisce un iteratore di GCSFileStat gli oggetti nei file corrispondenti, ordinati per nome file. Nella modalità normale, GCSFileStat oggetti restituiti hanno i seguenti dati:

  • filename
  • etag (la rappresentazione esadecimale dell'hash MD5 dei contenuti del file)
  • st_size (lunghezza dei contenuti delle intestazioni)
  • st_ctime
  • is_dir

Nota: se GCSFileStat la proprietà is_dir dell'oggetto è True, allora l'unica l'altra proprietà dell'oggetto è filename. Se is_dir è False, poi GCSFileStat contiene anche tutte le altre proprietà.

Torna all'inizio


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

In modalità di lettura (r) apre l'oggetto Cloud Storage specificato per lette. In modalità di scrittura w, se il file specificato esiste, si apre per una sovrascrittura (l'aggiunta non è supportata). Se il file non esiste, viene creato nel bucket specificato.

Al termine della scrittura, se vuoi leggere il file e/o archiviarlo in Cloud Storage, chiudi il file utilizzando la funzione close. Non si tratta di errore se non chiami close, ma il file non verrà leggibili o persistenti in Cloud Storage.

Rialzi:

Argomenti

filename (obbligatorio)
Il file da aprire, nel formato /bucket/object. Per ad esempio /my_bucket/lyrics/southamerica/list5.txt.
mode (facoltativo)
Stringa. Specifica 'r' per aprire un file per lettura (impostazione predefinita). Specifica 'w' per aprire un file esistente per la sovrascrittura o per creare un nuovo file.

content_type: (facoltativo)
Stringa. Utilizzato solo in modalità di scrittura. Devi specificare il tipo MIME del file (puoi specificare qualsiasi tipo MIME valido). Se non fornisci questo il valore predefinito, Cloud Storage è di tipo binary/octet-stream quando per l'oggetto.
options:(facoltativo)

Detta. Utilizzato solo in modalità di scrittura. Le opzioni supportate sono x-goog-acl, x-goog-meta- cache-control content-disposition e content-encoding.

Se non fornisci un'opzione x-goog-acl, Cloud Storage utilizza sull'ACL predefinito del bucket. I valori validi per x-goog-acl sono elencati nella sezione documentazione di Cloud Storage per x-goog-acl.

Puoi specificare metadati degli oggetti personalizzati utilizzando x-goog-meta- headers. Ad esempio:

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::(facoltativo)
Numero intero. Utilizzato solo in modalità di lettura. Se non imposti questo valore, viene usata la dimensione predefinita del buffer (consigliata). Quando leggi, dovresti letto da read_buffer_size per il precaricamento ottimale delle prestazioni.
retry_params= Nessuno (facoltativo)
A RetryParams in cui si apportano le modifiche che si desidera apportare al valore predefinito impostazioni di timeout e di nuovo tentativo per questa chiamata.

Valore risultato

Restituisce un buffer di lettura o scrittura, supportando un'interfaccia simile a un file su cui puoi richiamare il codice Python standard read, write, e close. Questo buffer deve essere chiuso dopo finisci di leggere o scrivere.

Torna all'inizio


cloudstorage.stat(filename, retry_params=None)

Restituisce un valore GCSFileStat contenente i metadati del file.

Genera cloudstorage.NotFoundError se l'oggetto Cloud Storage specificato non esiste.

Argomenti

filename (obbligatorio)
Il file da aprire, nel formato /bucket/object. Per esempio:/my_bucket/lyrics/southamerica/list5.txt
retry_params= Nessuno (facoltativo)
A RetryParams in cui si apportano le modifiche che si desidera apportare al valore predefinito impostazioni di timeout e di nuovo tentativo per questa chiamata.

Valore risultato

Restituisce un valore GCSFileStat contenente i metadati del file.

Torna all'inizio