S3クライアントでオブジェクトをアップロードする

dosyaのS3エンドポイントから小さなオブジェクトをアップロードし、返されたETagを確認して、キー、バイトサイズ、上書き時の動作を安全に検証します。

最終確認日

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

dosya S3のPutObjectは、バケット{workspace-id}の設定されたキーに書き込みます。メンバーのロールでフォルダーの作成が許可されている場合、存在しないプレフィックスの各部分がフォルダーになることがあります。既存のファイルキーにアップロードすると、dosyaの新しいバージョンが作成されます。

S3クライアントでオブジェクトをアップロードする4段階の手順図。テストファイルのサイズとオブジェクトキーを記録し、上書きの心配がない保存先を選びます。シークレットをシェル履歴に残さず、ワークスペースIDをバケットに指定して一度アップロードします。PutObjectのHTTP 200とETagを確認し、同じキーにHEADを発行して保存サイズとETagを比較します。
このS3の図は、テストファイルのサイズとキーを記録し、上書きの心配がない保存先を選ぶところから始まります。シークレットをシェル履歴に残さず、ワークスペースIDをバケットに指定して一度アップロードし、PutObjectのHTTP 200と返されたETagを確認します。最後に同じキーにHEADを発行し、保存サイズとETagを比較します。スクリーンショットを原寸で開く。

始める前に

エンドポイントhttps://api.dosya.dev/s3、リージョンus-east-1、パス形式のアドレス指定、アップロードまたはフルスコープのS3認証情報を使用してください。メンバーのロールでS3とアップロードが許可されている必要があります。

まず50 MB未満の使い捨てのオブジェクトを使用してください。通常のリクエストには有効なContent-Lengthが必要です。クライアントは代わりに対応するAWSチャンク形式を使用できます。ワークスペースの拡張子ポリシー、ファイルごとの制限、認証情報やロールの制限、容量制限、非表示パス、フォルダーロックはすべて引き続き適用されます。

手順

  1. 小さなローカルテストファイルを作成し、正確なバイトサイズと保存先のキーを、大文字と小文字やプレフィックスの各部分を含めて記録します。
  2. バケットがワークスペースIDであり、キーが認証情報に割り当てられたフォルダーアンカーの内側にあることを確認します。
  3. 認証情報をコマンド履歴に残さず、クライアントのput、cp、またはPutObjectコマンドで一度アップロードします。
  4. HTTP 200の応答を確認し、返されたETagを保存します。チェックサムヘッダーはdosyaが検証した後にのみ返されます。
  5. 同じキーに対してHEADまたは許可された一覧取得を行い、報告されたサイズと保存されたETagをアップロード結果と比較します。
  6. dosyaで保存先を開き、ファイルが1件あることを確認します。意図的に同じキーに再度アップロードする場合は、バージョン番号が進むことを確認します。
「S3クライアントでオブジェクトをアップロードする」の参照画面:dosyaのS3互換アクセスの概要ページ。
「S3クライアントでオブジェクトをアップロードする」の参照画面:dosyaのS3互換アクセスの概要ページ。スクリーンショットを原寸で開く。

期待される結果

指定したキーに、期待どおりのバイト内容でオブジェクトが1つ保存されます。新しい入れ子のプレフィックスに対応するフォルダーは、許可されている場合にのみ作成されます。上書きすると同名の行がもう1つ作られるのではなく、新しいファイルバージョンとして履歴が保持されます。

拒否のメッセージから原因となる制限を特定できます:API key scope ‘read’ cannot upload files、Upload not allowed、Creating folders is not allowed、Destination folder is locked、Object is locked、QuotaExceeded、EntityTooLarge。再試行する前に該当する制限を解消してください。

関連ガイド

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

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

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

質問と回答

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

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

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

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

    やり直す前に結果を確認

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