La libreria client 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 nel nuovo nome file specificato, copiando per impostazione predefinita i metadati . Se vuoi, puoi sovrascrivere i metadati nella copia fornendo il parametro facoltativo
metadata
.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
), tutte le origini dati automaticamente i metadati del file. - retry_params= None (facoltativo)
- Un oggetto RetryParams in cui specificare le modifiche da apportare alle impostazioni predefinite di timeout e riprova 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
- nomefile (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= None (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 iteratore 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 modalità diverse a seconda che tu utilizzi o meno l'argomento
delimiter
:- 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 della directory: se specifichi l'argomento
delimiter
, questo viene utilizzato come separatore di percorso per emulare una gerarchia di directory.
Argomenti
- path_prefix (obbligatorio)
- Un percorso Cloud Storage nel formato
/bucket
o/bucket/prefix
, ad esempio/bucket/foo/2001
. Verranno riportati solo gli oggetti il cui percorso completo inizia conpath_prefix
. - marker= Nessuno (facoltativo)
- Stringa. Un altro prefisso di percorso. Verranno restituiti solo gli oggetti il cui percorso completo inizia
in modo lessicografico dopo l'indicatore. Il file utilizzato come "marker" 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: Un modo per utilizzare questo parametro è usarlo constat = cloudstorage.listbucket("/my_bucket/foo", marker='/my_bucket/foo/superduperfoo2.txt')
max_keys
a "page-through" i nomi dei file dei bucket. - max_keys= None (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ù caratteri da utilizzare come separatore di directory.
- retry_params= Nessuno (facoltativo)
- Un oggetto RetryParams in cui specificare le modifiche da apportare alle impostazioni predefinite di timeout e riprova per questa chiamata.
Valore risultato
Restituisce un iteratore di GCSFileStat gli oggetti nei file corrispondenti, ordinati per nome file. In modalità normale, gli oggetti
GCSFileStat
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=None, 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 la lettura. In modalità di scritturaw
, se il file specificato esiste, si apre per 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 su Cloud Storage, chiudilo utilizzando la funzione
close
. Non si tratta di un errore se non chiamiclose
, ma il file non sarà leggibile o mantenuto in Cloud Storage.Rialzi:
- cloudstorage.NotFoundError se in modalità di lettura e l'oggetto specificato non esiste.
Argomenti
- nomefile (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 in lettura (valore predefinito). 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)
Diz. 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 l'ACL predefinita del bucket. I valori validi perx-goog-acl
sono elencati nella 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 usata la dimensione predefinita del buffer (consigliata). Quando leggi, dovresti
letto da
read_buffer_size
per il precaricamento ottimale delle prestazioni. - retry_params= None (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 del risultato
Restituisce un buffer di lettura o scrittura, supportando un'interfaccia simile a un file su cui puoi richiamare il Python standard
read
,write
, eclose
. Questo buffer deve essere chiuso al termine della lettura o della scrittura. - cloudstorage.stat(filename, retry_params=None)
-
Restituisce un oggetto GCSFileStat contenente i metadati del file.
Genera cloudstorage.NotFoundError se l'oggetto Cloud Storage specificato non esiste.
Argomenti
- nomefile (obbligatorio)
- Il file da aprire, nel formato
/bucket/object
. Per esempio:/my_bucket/lyrics/southamerica/list5.txt
- retry_params= None (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 oggetto GCSFileStat contenente i metadati del file.