問題タブ [minio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-s3 - Minio S3 api は Amazon の S3 と互換性がありますか
S3 と互換性のある独自のプライベート ホスト型オブジェクト ストレージが必要です。
今、解決策としてminioを見つけました。私の質問は次のとおりです。Amazon S3 ストレージに接続できるアプリケーション A がある場合、それは minio にも接続できることを意味しますか?
より具体的には、minio が署名付き URL を作成した場合、アプリケーション A (Amazon S3 対応) も署名付き URL を使用できますか?
amazon-web-services - ファイルをバッチで移動する必要がある Minio/S3 シナリオ
検索しましたが、満足のいく解決策が見つかりませんでした。
Minio/S3 にはディレクトリがなく、キーのみ (接頭辞付き) があります。ここまでは順調ですね。
今、これらのプレフィックスを変更する必要があります。単一のファイルではなく、非常に大きくなる可能性がある(実際には制限がない)束(たくさん)のファイル用です。
残念ながら、これらのストレージサーバーには次の概念がないようです (およびサポートしていません)。
- ファイル名を変更する
- ファイルを移動
実行する必要があるのは、ファイルごとです
- ファイルを新しいターゲットの場所にコピーします
- 古いソースの場所からファイルを削除します
私の与えられたデザインは次のようになります:
- ユーザーはファイルをbucketname/uploads/filename.extにアップロードします
- バックグラウンド プロセスがアップロードされたファイルを取得し、さらにいくつかのファイルを生成して、bucketname/temp/filename.ext にアップロードします。
- すべての処理が完了すると、アップロードされたファイルと処理されたファイルは、bucketname/processed/jobid/new-filenames... に移動されます。
パス プレフィックスは、オブジェクト作成通知を処理するときに使用され、それがアップロード (処理の開始)、一時 (すべてのファイルがアップロードされたかどうかの確認)、およびユーザーが削除するまでそれらを保持するための処理済み/ジョブ ID であるかどうかを区別します。
1000 個のファイルを新しい場所 (同じバケット内) に移動する必要があるタスクを想像してみてください。それらを 1 つずつコピーして削除すると、エラーが発生する可能性が高くなります。コピー操作中にストレージ容量が不足し、ロールバックの可能性がない接続エラーが発生しました。場所が異なるバケットになると、簡単にはなりません。
したがって、この古いデザインを使用すると、ファイルの名前を変更/移動する機会がありません。
新しい物理ファイルを作成せずに (使用済みストレージ スペースを複製せずに) ファイルをコピーする変更はありますか?
経験豊富なクラウド開発者なら、エラーの場合にロールバックを使用してこの一括コピーを行う方法のヒントを教えてください。
たとえば、1000 のファイル 517 が失敗した場合、機能的なロールバック メカニズムを使用してそのようなものを実装した人はいますか? それらをコピーして削除することは、うまくいかないようです。
現在、Minio サーバーと Minio dotnet ライブラリを使用しています。ただし、Amazon S3 と互換性があるため、このシナリオは Amazon S3 でも発生する可能性があります。