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 intestazioni.
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
parametroGenera 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
- 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
- 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 conpath_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 precedesuperduperfoo3.txt
, ad esempio:stat = cloudstorage.listbucket("/my_bucket/foo", marker='/my_bucket/foo/superduperfoo2.txt')
Un modo per utilizzare questo parametro è usarlo conmax_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
. Seis_dir
èFalse
, poiGCSFileStat
contiene anche tutte le altre proprietà. - 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 scritturaw
, 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 chiamiclose
, ma il file non verrà leggibili o persistenti in Cloud Storage.Rialzi:
- cloudstorage.NotFoundError se è in modalità di lettura e l'oggetto specificato non esiste.
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
econtent-encoding
.Se non fornisci un'opzione
x-goog-acl
, Cloud Storage utilizza sull'ACL predefinito del bucket. I valori validi perx-goog-acl
sono elencati nella sezione documentazione di Cloud Storage per x-goog-acl.Puoi specificare metadati degli oggetti personalizzati utilizzando x-goog-meta- intestazioni. 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 utilizzata 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 all'oggetto 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
, eclose
. Questo buffer deve essere chiuso dopo finisci di leggere o scrivere. - 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.