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 de Client qui interagit avec Replit App Storage :
client = Client()
Si votre application utilise plusieurs buckets, créez une instance de 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 géré par le client. 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 au même emplacement, il écrase 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) - Lorsque 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 d’octets (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 dans App Storage à récupérer.
  • dest_filename (str) - Le nom du 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 on vérifie l’existence.
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 compris entre start_offset (inclus) et end_offset (exclus).
  • match_glob (Optional[str]) - Utilise un pattern 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 supérieurs à start_offset. Lorsque end_offset est défini, les objets listés ont des noms compris 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 envoyer 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 envoyé.
  • src_filename (str) - Le fichier source à envoyer.

upload_from_bytes

La méthode upload_from_bytes envoie un objet à partir de 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 à envoyer.
  • src_data (str) - Les données bytes à envoyer.

upload_from_text

La méthode upload_from_text envoie un objet à partir d’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 à envoyer.
  • src_data (str) - Les données textuelles à envoyer.

Types d’exceptions

  • Lors des interactions avec Replit App Storage à l’aide du 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 une configuration de bucket par défaut manquante.
    • ForbiddenError : Indique des autorisations insuffisantes pour accéder au bucket.
    • TooManyRequestsError : Indique que l’opération est limitée en débit en raison d’un trop grand nombre de 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 à l’aide du SDK Replit App Storage.

Récupérer un fichier sous forme de 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()

Envoyer un fichier à partir de texte

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

Envoyer un fichier sous forme d’octets

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

Envoyer 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")