REST APIのアップロードセッションを作成

正しい保存先、サイズ、スコープ、マルチパート設定でREST APIのアップロードを開始し、バイトを送信する前に返されたセッションを確認します。

最終確認日

スクリーンショットは英語版の画面です。

保存先と認証情報の適用範囲を確認してから、アップロードセッションを作成してください。RESTのベースはhttps://api.dosya.dev/apiで、リクエストはAuthorization: Bearer dos_…で認証します。

四つのパネルに、ワークスペースとフォルダーの選択、アップロード初期化フィールドの送信、201セッションの確認、単一PUTまたは10 MiBのマルチパート転送への分岐が表示されています。
四つのパネルに、ワークスペースとフォルダーの選択、アップロード初期化フィールドの送信、201セッションの確認、単一PUTまたは10 MiBのマルチパート転送への分岐が表示されています。 スクリーンショットを原寸大で開く。

要件

REST APIへのアクセスを許可するアップロードのみまたはフルアクセスキーを使用してください。ワークスペースの固定はRESTに対応していますが、フォルダーのアンカーは対応していません。フォルダーにアンカーされたキーはアップロードルートの実行前に拒否されます。

通常のRESTアップロードには、現在のワークスペースロールにupload_filesとaccess_uploadの両方が必要です。SFTPゲートウェイのみ、別のaccess_sftp権限で制御されるため、アップロードページのチェックが免除されます。RESTのロールによるいずれかの制限に抵触すると、dosyaはYou don't have upload permission in this workspaceまたはYou don't have access to the upload pageを返すことがあります。

手順

  1. 保存先のワークスペースを選択し、フォルダーの下にファイルを保存する場合は、そのフォルダーのfld_…識別子を記録します。
  2. workspace_id、file_name、バイト数を表すfile_sizeを含むJSONでPOST /api/upload/initを送信します。ルート以外を保存先にする場合のみfolder_idを追加します。
  3. 分かっている場合はmime_typeを追加します。初期値はapplication/octet-streamです。file_idとexpected_versionは意図的にバージョンを置き換える場合に使用し、force_multipartは真偽値にします。
  4. 201レスポンスで、同じワークスペース、無害化されたファイル名、宣言サイズ、MIMEタイプ、拡張子、リージョン、新しいsession_idを確認します。
  5. resumableを確認します。nullの場合はupload_urlに1回PUTを送信し、オブジェクトの場合はそのpart_upload_url、complete_url、status_urlの値を使用します。
  6. セッションの詳細をローカルの転送状態とともに保存し、返された保存先と転送モードが意図したアップロードと一致してからバイトの送信を開始します。

リクエストのルールと上限

ファイル名は検証前に無害化され、最大255文字です。正確な数値のfile_sizeを指定してください。省略すると0として扱われ、負の値は拒否されます。expected_versionを指定する場合は0以上の整数にしてください。force_multipart:trueには0バイトより大きいファイルが必要です。

50 MiBを超えるファイルは自動的にマルチパートになります。それ以下のファイルはforce_multipart:trueで指定できます。マルチパートセッションは10 MiBのパートを使用し、total_partsを返します。それ以下の通常のセッションはresumable:nullを返します。

初期化時には、ストレージ容量の上限、認証情報の最大ファイルサイズ、ワークスペースの拡張子とサイズのポリシー、メンバーごとのストレージ、保存先フォルダー、ロック、同時実行数も確認します。このエンドポイントに専用のIdempotency-Keyヘッダーはありません。

期待される結果

APIはHTTP 201とともにok:true、一意のsession_id、upload_url、正規化されたファイルの詳細、マルチパートの指示オブジェクトまたはresumable:nullを返します。セッションが存在するだけではファイルは完成していません。

トラブルシューティング

workspace_id is required、file_name is required、file_size must not be negativeは不正な入力を示します。force_multipart must be a booleanとforce_multipart requires a file_size greater than 0はマルチパート設定のエラーを示します。フォルダーのアンカーに言及する403が返された場合は、RESTに対応しないその制限を外してキーを作り直してください。

「REST APIのアップロードセッションを作成」の参照画面。Get API KeyとView SDKsのリンクがあるdosya REST API概要ページです。
「REST APIのアップロードセッションを作成」の参照画面。Get API KeyとView SDKsのリンクがあるdosya REST API概要ページです。 スクリーンショットを原寸大で開く。

関連ガイド

この記事は役に立ちましたか?

評価の結果を読み込んでいます…

投票すると、回答を変更できるように、必要な投票用Cookieが最長180日間保存されます。

質問と回答

このガイドの手順について質問できます。質問は確認後に公開されます。

公開の質問には、アカウントの詳細、認証情報、非公開ファイルを含めないでください。これらについては 非公開サポート をご利用ください。

質問を読み込んでいます…

    dosyaアカウントにサインインすると、質問を投稿できます。

    やり直す前に結果を確認

    操作をもう一度確認する必要があるときは、次の共通の確認事項をご利用ください。