La bibliothèque cliente App Engine pour Cloud Storage fournit les fonctions suivantes :
Fonctions
- cloudstorage.copy2() copie le fichier spécifié vers le nouveau nom de fichier spécifié dans le même bucket Cloud Storage.
- cloudstorage.delete() supprime l'objet spécifié du bucket Cloud Storage.
- cloudstorage.listbucket() répertorie les objets du bucket Cloud Storage.
- cloudstorage.open() ouvre un objet existant dans le bucket Cloud Storage pour la lecture ou le remplacement, ou crée un nouvel objet, selon le mode spécifié.
- cloudstorage.stat() fournit des informations de métadonnées sur le fichier, telles que le type de contenu, la taille, l'horodatage, le condensé MD5 et les en-têtes Cloud Storage.
Une fois que cloudstorage.open()
est appelé pour renvoyer l'objet de type fichier représentant l'objet Cloud Storage spécifié, vous pouvez utiliser les fonctions de fichier Python standards, telles que write()
et close()
, pour écrire un objet dans le bucket Cloud Storage ou read()
pour lire un objet à partir du bucket Cloud Storage.
Cours
Fonctions
- cloudstorage.copy2 (src, dst, metadata=None, retry_params=None)
-
Copie le fichier spécifié vers le nouveau nom de fichier spécifié, en copiant également par défaut les métadonnées. Si vous le souhaitez, vous pouvez écraser les métadonnées de la copie en indiquant le paramètre facultatif
metadata
.Génère cloudstorage.NotFoundError si l'objet Cloud Storage spécifié n'existe pas ou cloudstorage.AuthorizationError si l'autorisation a échoué.
Arguments
- src (obligatoire)
- Nom complet du fichier Cloud Storage de l'objet, au format
/bucket/object_name
. Doit être un nom de fichier complet et peut inclure le délimiteur `/`. - dst (obligatoire)
- Nom complet du fichier Cloud Storage pour la copie de l'objet, au format
/bucket/object_name
. Doit être un nom de fichier complet et peut inclure le délimiteur `/`. - metadata=None (facultatif)
- Dict de métadonnées pour cette copie, par exemple
{'x-goog-meta-foo': 'bar'}
. Si vous fournissez le paramètre de métadonnées, aucune des métadonnées d'origine n'est copiée dans le nouveau fichier. Si aucune métadonnée n'est fournie, (None
), toutes les métadonnées du fichier source sont copiées. - retry_params= None (facultatif)
- Objet RetryParams dans lequel vous indiquez les modifications que vous souhaitez apporter au délai d'attente par défaut et les paramètres concernant les tentatives de nouvelle connexion pour cet appel.
Exemple
- Pour copier un fichier en ajoutant de nouvelles métadonnées et en ignorant l'erreur si le fichier source n'existe pas :
-
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)
-
Supprime le fichier spécifié du bucket Cloud Storage.
Génère cloudstorage.NotFoundError si l'objet Cloud Storage spécifié n'existe pas.
Arguments
- filename (obligatoire)
- Nom complet du fichier Cloud Storage de l'objet, au format
/bucket/object_name
. Doit être un nom de fichier complet et peut inclure le délimiteur `/`. - retry_params= None (facultatif)
- Objet RetryParams dans lequel vous indiquez les modifications que vous souhaitez apporter au délai d'attente par défaut et les paramètres concernant les tentatives de nouvelle connexion pour cet appel.
Exemple
- Pour supprimer un fichier, mais ignorer l'erreur lorsque le fichier n'existe pas, procédez comme suit :
-
import cloudstorage try: cloudstorage.delete(filename) except cloudstorage.NotFoundError: pass
- cloudstorage.listbucket (path_prefix, marker=None, max_keys=None, delimiter=None, retry_params=None)
- Renvoie un objet itérateur de bucket. Cet itérateur renvoie une liste d'objets triée correspondant à tous les filtres. Notez que cette fonction est asynchrone. Il ne bloque pas sauf si l'itérateur est appelé avant qu'il n'ait obtenu des résultats.
Cette fonction opère dans deux modes différents selon que vous utilisez ou non l'argument
delimiter
:- Mode normal (par défaut) : répertorie tous les fichiers du bucket sans aucun concept de hiérarchie. Cloud Storage n'a pas de réelle hiérarchie de répertoire.
- Mode d'émulation de répertoire : si vous spécifiez l'argument
delimiter
, il sert de séparateur de chemin pour émuler une hiérarchie de répertoires.
Arguments
- path_prefix (obligatoire)
- Chemin Cloud Storage au format
/bucket
ou/bucket/prefix
(par exemple,/bucket/foo/2001
). Seuls les objets dont le chemin complet commence parpath_prefix
seront renvoyés. - marker= None (facultatif)
- Chaîne. Autre préfixe de chemin. Seuls les objets dont le chemin complet commence de façon lexicographique après le marqueur exclusivement seront renvoyés. Le fichier utilisé comme `marker` n'est pas renvoyé. Par exemple, si vous souhaitez que tous les fichiers répertoriés à partir de
superduperfoo3.txt
soient répertoriés, spécifiez le fichier précédant immédiatementsuperduperfoo3.txt
, par exemple : Une façon d'utiliser ce paramètre consiste à l'utiliser avecstat = cloudstorage.listbucket("/my_bucket/foo", marker='/my_bucket/foo/superduperfoo2.txt')
max_keys
pour "parcourir" les noms de fichiers du bucket. - max_keys= None (facultatif)
- Entier. Spécifie le nombre maximal d'objets à renvoyer. Utilisez-le si vous savez combien d'objets vous voulez. Sinon, la bibliothèque cliente Cloud Storage met en tampon et pagine automatiquement tous les résultats. Peut être utilisé avec
marker
pour parcourir les noms de fichiers d'un bucket.stats = cloudstorage.listbucket(bucket + '/foo', max_keys=page_size, marker=stat.filename)
- delimiter= None (facultatif)
- Chaîne. Active le mode répertoire. Vous pouvez spécifier un ou plusieurs caractères à utiliser comme séparateur de répertoire.
- retry_params= None (facultatif)
- Objet RetryParams dans lequel vous indiquez les modifications que vous souhaitez apporter au délai d'attente par défaut et les paramètres concernant les tentatives de nouvelle connexion pour cet appel.
Result Value
Renvoie un itérateur d'objets GCSFileStat sur les fichiers correspondants, triés par nom de fichier. En mode standard, les objets
GCSFileStat
renvoyés contiennent les données suivantes :filename
etag
(Représentation hexadécimale du hachage MD5 du contenu du fichier)st_size
(longueur du contenu des en-têtes)st_ctime
is_dir
Remarque : Si la propriété
is_dir
de l'objetGCSFileStat
estTrue
, la seule autre propriété de l'objet estfilename
. Siis_dir
possède la valeurFalse
, l'objetGCSFileStat
contient également toutes les autres propriétés. - cloudstorage.open(filename, mode='r', content_type=None, options=None, read_buffer_size=storage_api.ReadBuffer.DEFAULT_BUFFER_SIZE, retry_params=None)
-
En mode lecture (
r
), ouvre l'objet Cloud Storage spécifié pour la lecture. En mode écriturew
, si le fichier spécifié existe, il l'ouvre pour écrasement (l'ajout n'est pas pris en charge). Si le fichier n'existe pas, il est créé dans le bucket spécifié.Une fois l'écriture terminée, si vous souhaitez lire le fichier et/ou le stocker dans Cloud Storage, fermez-le à l'aide de la fonction
close
. Le fait de ne pas appelerclose
ne constitue pas une erreur, cependant, le fichier ne sera ni lisible ni conservé dans Cloud Storage.Déclenche :
- cloudstorage.NotFoundError si le mode lecture est activé et si l'objet spécifié n'existe pas.
Arguments
- filename (obligatoire)
- Fichier à ouvrir, au format
/bucket/object
. Par exemple,/my_bucket/lyrics/southamerica/list5.txt
. - mode (facultatif)
- Chaîne. Spécifiez 'r' pour ouvrir un fichier pour lecture (par défaut). Spécifiez 'w' pour ouvrir un fichier existant en vue de son remplacement ou pour créer un fichier.
- content_type: (facultatif)
- Chaîne. Utilisé uniquement en mode écriture. Vous devez spécifier le type MIME du fichier (vous pouvez spécifier n'importe quel type MIME valide.) Si vous ne fournissez pas cette valeur, Cloud Storage utilise par défaut le type
binary/octet-stream
lorsqu'il diffuse l'objet. - options : (facultatif)
Dict. Utilisé uniquement en mode écriture. Les options compatibles sont
x-goog-acl
,x-goog-meta-
,cache-control
,content-disposition
etcontent-encoding
.Si vous ne définissez pas d'option
x-goog-acl
, Cloud Storage utilise la liste de contrôle d'accès par défaut. Les valeurs valides pourx-goog-acl
sont répertoriées dans la documentation Cloud Storage pour x-goog-acl.Vous pouvez spécifier des métadonnées d'objet personnalisées à l'aide de l'en-tête x-goog-meta-. Exemple :
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: (facultatif)
- Entier. Utilisé uniquement en mode lecture. Si vous ne définissez pas cette valeur, la taille de la mémoire tampon par défaut est utilisée (recommandé). Lors de la lecture, vous devez lire par
read_buffer_size
pour optimiser les performances de prérécupération. - retry_params= None (facultatif)
- Objet RetryParams dans lequel vous indiquez les modifications que vous souhaitez apporter au délai d'attente par défaut et les paramètres concernant les tentatives de nouvelle connexion pour cet appel.
Result Value
Renvoie un tampon de lecture ou d'écriture compatible avec une interface de type fichier sur laquelle vous pouvez appeler les fonctions
read
,write
etclose
Python standards. Ce tampon doit être fermé après la lecture ou l'écriture. - cloudstorage.stat(filename, retry_params=None)
-
Renvoie un objet GCSFileStat contenant les métadonnées du fichier.
Génère cloudstorage.NotFoundError si l'objet Cloud Storage spécifié n'existe pas.
Arguments
- filename (obligatoire)
- Fichier à ouvrir, au format
/bucket/object
. Par exemple,/my_bucket/lyrics/southamerica/list5.txt
. - retry_params= None (facultatif)
- Objet RetryParams dans lequel vous indiquez les modifications que vous souhaitez apporter au délai d'attente par défaut et les paramètres concernant les tentatives de nouvelle connexion pour cet appel.
Result Value
Renvoie un objet GCSFileStat contenant les métadonnées du fichier.