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 le Stockage d’application Replit. Cette classe dispose de méthodes pour effectuer des opérations sur les objets dans un compartiment.
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 le Stockage d’application Replit :
Si votre application utilise plusieurs compartiments, créez une instance Client par compartiment.
__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’ID du compartiment géré par le client. Lorsqu’il est omis, le Client utilise le compartiment par défaut associé à l’application Replit ou au déploiement.
copy
La méthode copy copie un objet dans le même compartiment. 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.
Exceptions :
ObjectNotFoundError - Indique que l’objet source n’existe pas au chemin spécifié.
delete
La méthode delete supprime définitivement un fichier du Stockage d’application.
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.
Exceptions :
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.
Exceptions :
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.
Exceptions :
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 du Stockage d’application à récupérer.
dest_filename (str) - Le nom de fichier de destination sur le disque local.
Exceptions :
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 compartiment.
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 posté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 télécharger un objet depuis un fichier source sur le disque local vers le Stockage d’application.
def upload_from_filename(dest_object_name: str, src_filename: str) -> None
Arguments :
dest_object_name (str) - Le nom du fichier téléchargé.
src_filename (str) - Le fichier source à télécharger.
upload_from_bytes
La méthode upload_from_bytes télécharge 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écharger.
src_data (str) - Les données bytes à télécharger.
upload_from_text
La méthode upload_from_text télécharge 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écharger.
src_data (str) - Les données texte à télécharger.
Types d’exceptions
-
Lors des interactions avec le Stockage d’application Replit à l’aide du
Client, n’importe quelle méthode peut retourner l’une des erreurs suivantes :
-
BucketNotFoundError : Indique que le nom du compartiment configuré ne correspond à aucun compartiment dans le Stockage d’application.
-
DefaultBucketError : Indique une configuration de compartiment par défaut manquante.
-
ForbiddenError : Indique des permissions insuffisantes pour accéder au compartiment.
-
TooManyRequestsError : Indique que l’opération est limitée en débit en raison de requêtes excessives.
-
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 du Stockage d’application Replit.
Récupérer un fichier en tant que 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 sur le système de fichiers local
client.download_to_filename("file.json", dest_filename)
Lister les objets dans le compartiment
Télécharger un fichier depuis du texte
client.upload_from_text("file.json", data)
Télécharger un fichier en octets
client.upload_from_bytes("file.png", data)
Télécharger des objets depuis le système de fichiers
client.upload_from_filename("file.json", src_filename)
Supprimer un objet du compartiment
client.delete("file.json")