Skip to main content
このリファレンスガイドでは、replit-object-storage-python パッケージの Client クラスについて説明し、クラスメソッドのコード例を提供します。

Client

Client クラスはReplit App Storageとのやり取りを管理します。このクラスはバケット内のオブジェクトを操作するメソッドを備えています。 replit.object_storage パッケージからクラスをインポートするには、Pythonコードに次の行を追加します:
次のコードを使用して、Replit App Storageとやり取りする Client インスタンスを作成します:
アプリが複数のバケットを使用する場合、バケットごとに1つの Client インスタンスを作成してください。

__init__

init メソッドはClientクラスのインスタンスを初期化します。
引数:
  • bucket_id (Optional[str]): クライアントが管理するバケットのID。省略した場合、ClientはReplit AppまたはDeploymentに関連付けられたデフォルトのバケットを使用します。

copy

copy メソッドは同じバケット内でオブジェクトをコピーします。同じ場所にオブジェクトが存在する場合は上書きします。
引数:
  • object_name (str) - ソースオブジェクトのフルパス。
  • dest_object_name (str) - オブジェクトのコピー先フルパス。
例外:
  • ObjectNotFoundError - 指定したパスにソースオブジェクトが存在しないことを示します。

delete

delete メソッドはApp Storageからファイルを完全に削除します。
引数:
  • object_name (str) - 削除するオブジェクトの名前。
  • ignore_not_found (bool) - True の場合、オブジェクトが存在しなくてもエラーを抑制します。
例外:
  • ObjectNotFoundError - オブジェクトが存在しないことを示します。

download_as_bytes

download_as_bytes メソッドはファイルの内容を bytes として取得します。
引数:
  • object_name (str) - ダウンロードするオブジェクトの名前。
戻り値:
  • bytes - オブジェクトの内容の生のバイト表現。
例外:
  • ObjectNotFoundError - オブジェクトが存在しないことを示します。

download_as_text

download_as_text メソッドはファイルの内容を str 型としてダウンロードします。
引数:
  • object_name (str) - 取得するソースオブジェクト名。
戻り値:
  • str: UTF-8エンコードされた文字列としてのオブジェクトの内容。
例外:
  • ObjectNotFoundError - オブジェクトが存在しないことを示します。

download_to_filename

ローカルディスク上のファイルにオブジェクトの内容をダウンロードします。
引数:
  • object_name (str) - App Storageから取得するソースオブジェクト名。
  • dest_filename (str) - ローカルディスク上の保存先ファイル名。
例外:
  • ObjectNotFoundError - オブジェクトが存在しないことを示します。

exists

exists メソッドはオブジェクトが存在するかどうかを確認します。
引数:
  • object_name (str) - 存在を確認するオブジェクトの名前。
戻り値:
  • bool: オブジェクトが存在する場合は True、そうでない場合は False

list

list メソッドはバケット内のオブジェクトを一覧表示します。
引数:
  • end_offset(Optional[str]) - end_offset より辞書順で前の名前を持つオブジェクトに結果をフィルタします。start_offset が定義されている場合、リストされるオブジェクトの名前は start_offset(含む)から end_offset(含まない)の間になります。
  • match_glob (Optional[str]) - 結果をフィルタするためのglobパターン。例: “foo*bar” は “footbar”、“foo baz bar”、“foobar” にマッチします。
  • max_results (Optional[int]) - レスポンスで返す結果の最大数。
  • prefix (Optional[str]) - 指定したプレフィックスを持つ名前のオブジェクトに結果をフィルタします。
  • start_offset (Optional[str]) - start_offset と辞書順で等しいか後の名前のオブジェクトに結果をフィルタします。end_offset が設定されている場合、リストされるオブジェクトの名前は start_offset(含む)から end_offset(含まない)の間になります。
戻り値:
  • List(Object): 指定したクエリパラメーターに一致するオブジェクトのリスト。

upload_from_filename

upload_from_filename() を使用して、ローカルディスク上のソースファイルからApp Storageにオブジェクトをアップロードします。
引数:
  • dest_object_name(str) - アップロードするファイルの名前。
  • src_filename(str) - アップロードするソースファイル。

upload_from_bytes

upload_from_bytes メソッドは bytes データからオブジェクトをアップロードします。
引数:
  • dest_object_name(str) - アップロードするオブジェクトの名前。
  • src_data(str) - アップロードする bytes データ。

upload_from_text

upload_from_text メソッドは文字列からオブジェクトをアップロードします。
引数:
  • dest_object_name(str) - アップロードするオブジェクトの名前。
  • src_data(str) - アップロードするテキストデータ。

例外タイプ

  • Client を使用してReplit App Storageとやり取りする際、次のいずれかのエラーが返される可能性があります:
    • BucketNotFoundError: 設定されたバケット名がApp Storageのどのバケットとも一致しないことを示します。
    • DefaultBucketError: デフォルトのバケット設定が欠如していることを示します。
    • ForbiddenError: バケットへのアクセス権限が不足していることを示します。
    • TooManyRequestsError: 過剰なリクエストによりオペレーションがレート制限されていることを示します。
    • UnauthorizedError: 認証によりオペレーションへのアクセスが制限されていることを示します。

クラスメソッドの例

以下のセクションでは、Replit App Storage SDKを使用してオブジェクトを管理するコード例を提供します。

ファイルをテキストとして取得する

ファイルの生バイトを取得する

ファイルをローカルファイルシステムにダウンロードする

バケット内のオブジェクトを一覧表示する

テキストからファイルをアップロードする

バイトとしてファイルをアップロードする

ファイルシステムからオブジェクトをアップロードする

バケットからオブジェクトを削除する