web-dev-qa-db-ja.com

Amazon S3は、同じ名前のオブジェクトを上書きしないようにします

バケット内のオブジェクトのファイル名と同じファイル名でファイルをS3にアップロードすると、ファイルが上書きされます。同じファイル名のファイルを上書きしないようにするためのオプションは何ですか?問題が解決すると考えてバケットでバージョン管理を有効にしましたが、オブジェクトはまだ上書きされています。

17
CyberJunkie

上からの私のコメントは機能しません。 WRITE ACLはオブジェクトにも適用されると思いましたが、バケットでのみ機能します。

バージョン管理を有効にしているため、オブジェクトは上書きされません。ただし、GETリクエストまたはURLでバージョンを指定しない場合は、最新バージョンが使用されます。これは、S3にオブジェクトを配置するときに、最初のオブジェクトを取得するために、応答が通知するバージョンIDを保存する必要があることを意味します。

詳細については、 読み取り専用およびライトワンスアクセスの場合はAmazon S3 ACL を参照してください。

7
Prinzhorn

権限が制限されたIAMユーザを設定することもできます。書き込みは引き続き書き込み(つまり、更新)ですが、とにかくIAMユーザーを使用することがベストプラクティスです。

所有者(つまり、「長期アクセスキーと秘密キー」)は、完全に無効にしない限り、常に完全に制御できます。

4
Ryan Parman

DBを使用してs3バケット上のすべてのファイルのキーを保存している場合の私の提案は次のとおりです。

ランダムキーを生成します。 nullエントリを許可するUNIQUE制約のあるフィールドで、DBのキーを挿入/更新してみてください。失敗した場合は、キーが使用されているため、一意のキーを取得するまで繰り返します。

次に、一意であることがわかっているキーを使用してファイルをs3に配置します。

1
Patch92