REST APIのアップロードセッションを作成
正しい保存先、サイズ、スコープ、マルチパート設定でREST APIのアップロードを開始し、バイトを送信する前に返されたセッションを確認します。
最終確認日
スクリーンショットは英語版の画面です。
保存先と認証情報の適用範囲を確認してから、アップロードセッションを作成してください。RESTのベースはhttps://api.dosya.dev/apiで、リクエストはAuthorization: Bearer dos_…で認証します。

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

関連ガイド
この記事は役に立ちましたか?
評価の結果を読み込んでいます…
投票すると、回答を変更できるように、必要な投票用Cookieが最長180日間保存されます。
質問と回答
このガイドの手順について質問できます。質問は確認後に公開されます。
公開の質問には、アカウントの詳細、認証情報、非公開ファイルを含めないでください。これらについては 非公開サポート をご利用ください。
質問を読み込んでいます…
dosyaアカウントにサインインすると、質問を投稿できます。