Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.replit.com/llms.txt

Use this file to discover all available pages before exploring further.

Ce guide de référence explique la classe Client du package replit-object-storage-python et fournit des exemples de code pour ses méthodes de classe.

Client

La classe Client gère les interactions avec Replit App Storage. Cette classe propose des méthodes pour effectuer des opérations sur des objets dans un bucket. Pour importer la classe depuis le package replit.object_storage, ajoutez la ligne suivante à votre code Python :
from replit.object_storage import Client
Utilisez le code suivant pour créer une instance Client qui interagit avec Replit App Storage :
client = Client()
Si votre application utilise plusieurs buckets, créez une instance Client par bucket.

__init__

La méthode init initialise une instance de la classe Client.
def __init__(bucket_id: Optional[str] = None)
Argument :
  • bucket_id (Optional[str]) : L’identifiant du bucket que le client gère. Lorsqu’il est omis, le Client utilise le bucket par défaut associé à l’Application Replit ou au Déploiement.

copy

La méthode copy copie un objet dans le même bucket. Si un objet existe déjà à l’emplacement de destination, il remplace l’original.
def copy(object_name: str, dest_object_name: str) -> None
Arguments :
  • object_name (str) - Le chemin complet de l’objet source.
  • dest_object_name (str) - Le chemin complet de la destination de l’objet.
Lève :
  • ObjectNotFoundError - Indique que l’objet source n’existe pas au chemin spécifié.

delete

La méthode delete supprime définitivement un fichier d’App Storage.
def delete(object_name: str, ignore_not_found: bool = False) -> None
Arguments :
  • object_name (str) - Le nom de l’objet à supprimer.
  • ignore_not_found (bool) - Lorsqu’il est True, supprime l’erreur si l’objet n’existe pas.
Lève :
  • ObjectNotFoundError - Indique que l’objet n’existe pas.

download_as_bytes

La méthode download_as_bytes récupère le contenu d’un fichier sous forme de bytes.
def download_as_bytes(object_name: str) -> bytes
Argument :
  • object_name (str) - Le nom de l’objet à télécharger.
Retourne :
  • bytes - La représentation en octets bruts du contenu de l’objet.
Lève :
  • ObjectNotFoundError - Indique que l’objet n’existe pas.

download_as_text

La méthode download_as_text télécharge le contenu d’un fichier sous forme de type str.
def download_as_text(object_name: str) -> str
Argument :
  • object_name (str) - Le nom de l’objet source à récupérer.
Retourne :
  • str : Le contenu de l’objet sous forme de chaîne encodée en UTF-8.
Lève :
  • ObjectNotFoundError - Indique que l’objet n’existe pas.

download_to_filename

Télécharge le contenu d’un objet dans un fichier sur le disque local.
def download_to_filename(object_name: str, dest_filename: str) -> None
Arguments :
  • object_name (str) - Le nom de l’objet source depuis App Storage à récupérer.
  • dest_filename (str) - Le nom de fichier de destination sur le disque local.
Lève :
  • ObjectNotFoundError - Indique que l’objet n’existe pas.

exists

La méthode exists vérifie si un objet existe.
def exists(object_name: str) -> bool
Argument :
  • object_name (str) - Le nom de l’objet dont l’existence doit être vérifiée.
Retourne :
  • bool : True si l’objet existe, False sinon.

list

La méthode list liste les objets dans le bucket.
def list(end_offset: Optional[str] = None,
         match_glob: Optional[str] = None,
         max_results: Optional[int] = None,
         prefix: Optional[str] = None,
         start_offset: Optional[str] = None) -> List[Object]
Arguments :
  • end_offset (Optional[str]) - Filtre les résultats aux objets nommés lexicographiquement avant end_offset. Si start_offset est défini, les objets listés ont des noms entre start_offset (inclus) et end_offset (exclus).
  • match_glob (Optional[str]) - Utilisez un motif glob pour filtrer les résultats. Par exemple : “foo*bar” correspond à “footbar”, “foo baz bar” et “foobar”.
  • max_results (Optional[int]) - Le nombre maximum de résultats à retourner dans la réponse.
  • prefix (Optional[str]) - Filtre les résultats aux objets dont les noms ont le préfixe spécifié.
  • start_offset (Optional[str]) - Filtre les résultats aux objets dont les noms sont lexicographiquement égaux ou postérieurs à start_offset. Lorsque end_offset est défini, les objets listés ont des noms entre start_offset (inclus) et end_offset (exclus).
Retourne :
  • List(Object) : Une liste d’objets correspondant aux paramètres de requête donnés.

upload_from_filename

Utilisez upload_from_filename() pour téléverser un objet depuis un fichier source sur le disque local vers App Storage.
def upload_from_filename(dest_object_name: str, src_filename: str) -> None
Arguments :
  • dest_object_name (str) - Le nom du fichier téléversé.
  • src_filename (str) - Le fichier source à téléverser.

upload_from_bytes

La méthode upload_from_bytes téléverse un objet depuis des données bytes.
def upload_from_bytes(dest_object_name: str, src_data: bytes) -> None
Arguments :
  • dest_object_name (str) - Le nom de l’objet à téléverser.
  • src_data (str) - Les données bytes à téléverser.

upload_from_text

La méthode upload_from_text téléverse un objet depuis une chaîne de caractères.
def upload_from_text(dest_object_name: str, src_data: Union[bytes, str]) -> None
Arguments :
  • dest_object_name (str) - Le nom de l’objet à téléverser.
  • src_data (str) - Les données textuelles à téléverser.

Types d’exceptions

  • Lors de l’interaction avec Replit App Storage en utilisant le Client, toute méthode peut retourner l’une des erreurs suivantes :
    • BucketNotFoundError : Indique que le nom de bucket configuré ne correspond à aucun bucket dans App Storage.
    • DefaultBucketError : Indique l’absence de configuration de bucket par défaut.
    • ForbiddenError : Indique des permissions insuffisantes pour accéder au bucket.
    • TooManyRequestsError : Indique que l’opération est limitée en débit en raison de trop nombreuses requêtes.
    • UnauthorizedError : Indique que l’autorisation a restreint l’accès à l’opération.

Exemples de méthodes de classe

Les sections suivantes fournissent des exemples de code pour gérer vos objets en utilisant le SDK Replit App Storage.

Récupérer un fichier en texte

client.download_as_text("file.json")

Récupérer les octets bruts d’un fichier

client.download_as_bytes("file.png")

Télécharger un fichier vers le système de fichiers local

client.download_to_filename("file.json", dest_filename)

Lister les objets dans le bucket

client.list()

Téléverser un fichier depuis du texte

client.upload_from_text("file.json", data)

Téléverser un fichier en octets

client.upload_from_bytes("file.png", data)

Téléverser des objets depuis le système de fichiers

client.upload_from_filename("file.json", src_filename)

Supprimer un objet du bucket

client.delete("file.json")