Este guia de referência explica a classe Client do pacote replit-object-storage-python e fornece exemplos de código para seus métodos de classe.
Client
A classe Client gerencia as interações com o Replit App Storage. Essa classe possui métodos para realizar operações em objetos de um bucket.
Para importar a classe do pacote replit.object_storage, adicione a seguinte linha ao seu código Python:
Use o código a seguir para criar uma instância de Client que interage com o Replit App Storage:
Se o seu app usa vários buckets, crie uma instância de Client por bucket.
__init__
O método init inicializa uma instância da classe Client.
Argumento:
bucket_id (Optional[str]): o ID do bucket que o cliente gerencia. Quando omitido, o Client usa o bucket padrão associado ao Replit App ou à Deployment.
copy
O método copy copia um objeto dentro do mesmo bucket. Se já existir um objeto no mesmo local, ele sobrescreve o original.
Argumentos:
object_name (str) - O caminho completo do objeto de origem.
dest_object_name (str) - O caminho completo do destino do objeto.
Levanta:
ObjectNotFoundError - Indica que o objeto de origem não existe no caminho especificado.
delete
O método delete remove permanentemente um arquivo do App Storage.
Argumentos:
object_name (str) - O nome do objeto a ser excluído.
ignore_not_found (bool) - Quando True, suprime o erro caso o objeto não exista.
Levanta:
ObjectNotFoundError - Indica que o objeto não existe.
download_as_bytes
O método download_as_bytes recupera o conteúdo de um arquivo como bytes.
Argumento:
object_name (str) - O nome do objeto a ser baixado.
Retorna:
bytes- A representação bruta em bytes do conteúdo do objeto.
Levanta:
ObjectNotFoundError - Indica que o objeto não existe.
download_as_text
O método download_as_text faz o download do conteúdo de um arquivo como um tipo str.
Argumento:
object_name (str) - O nome do objeto de origem a ser recuperado.
Retorna:
- str: o conteúdo do objeto como uma string codificada em UTF-8.
Levanta:
ObjectNotFoundError - Indica que o objeto não existe.
download_to_filename
Faz o download do conteúdo de um objeto para um arquivo no disco local.
Argumentos:
object_name (str) - O nome do objeto de origem no App Storage a ser recuperado.
dest_filename (str) - O nome do arquivo de destino no disco local.
Levanta:
ObjectNotFoundError - Indica que o objeto não existe.
exists
O método exists verifica se um objeto existe.
Argumento:
object_name (str) - O nome do objeto a verificar a existência.
Retorna:
bool: True se o objeto existir, False caso contrário.
list
O método list lista os objetos do Bucket.
Argumentos:
end_offset(Optional[str]) - Filtra os resultados para objetos nomeados lexicograficamente antes de end_offset. Se start_offset estiver definido, os objetos listados
têm nomes entre start_offset (inclusive) e end_offset (exclusivo).
match_glob (Optional[str]) - Usa um padrão glob para filtrar os resultados. Por exemplo: “foo*bar” corresponde a “footbar”, “foo baz bar” e “foobar”.
max_results (Optional[int]) - O número máximo de resultados a retornar na resposta.
prefix (Optional[str]) - Filtra os resultados para objetos cujos nomes têm o prefixo especificado.
start_offset (Optional[str]) - Filtra os resultados para objetos cujos nomes sejam lexicograficamente iguais ou posteriores a start_offset.
Quando end_offset é definido, os objetos listados têm nomes entre start_offset (inclusive) e end_offset (exclusivo).
Retorna:
List(Object): uma lista de objetos que correspondem aos parâmetros de consulta fornecidos.
upload_from_filename
Use upload_from_filename() para fazer o upload de um objeto a partir de um arquivo de origem no disco local para o App Storage.
Argumentos:
dest_object_name(str) - O nome do arquivo enviado.
src_filename(str) - O arquivo de origem a ser enviado.
upload_from_bytes
O método upload_from_bytes faz o upload de um objeto a partir de dados em bytes.
Argumentos:
dest_object_name(str) - O nome do objeto a ser enviado.
src_data(str) - Os dados em bytes a serem enviados.
upload_from_text
O método upload_from_text faz o upload de um objeto a partir de uma string.
Argumentos:
dest_object_name(str) - O nome do objeto a ser enviado.
src_data(str)- Os dados de texto a serem enviados.
Tipos de exceção
-
Ao interagir com o Replit App Storage usando o
Client, qualquer método pode retornar um dos seguintes erros:
-
BucketNotFoundError: indica que o nome do bucket configurado não corresponde a nenhum bucket no App Storage.
-
DefaultBucketError: indica configuração de bucket padrão ausente.
-
ForbiddenError: indica permissões insuficientes para acessar o bucket.
-
TooManyRequestsError: indica que a operação está limitada por taxa devido a requisições excessivas.
-
UnauthorizedError: indica que a autorização restringiu o acesso à operação.
Exemplos de métodos de classe
As seções a seguir fornecem exemplos de código para gerenciar seus objetos usando o SDK do Replit App Storage.
Recuperar um arquivo como texto
Recuperar bytes brutos de um arquivo
Fazer download de um arquivo para o sistema de arquivos local
Listar objetos no bucket
Fazer upload de um arquivo a partir de texto
Fazer upload de um arquivo como bytes
Fazer upload de objetos a partir do sistema de arquivos
Excluir um objeto do bucket