BLOBをS3にアップロードし、.NETAPIを使用して「Content-MD5」ヘッダーを指定しようとしています。これを実行して、a)S3がハッシュを検証し、b)クライアントがファイルをダウンロードするたびに、BLOBの「Content-MD5」ヘッダーを読み取り、クライアント側でこれを検証するようにします。
このようなもの:
PutObjectRequest request = new PutObjectRequest();
request.WithFilePath(fileName)
.WithBucketName(S3_BUCKET_NAME)
.WithKey(fileKey)
.WithTimeout(FIVE_MINUTES)
.WithMD5Digest("ubewX5M7uzz64zskr7FThQ==");
これはリクエストの先頭に立つようで、S3はハッシュを適切に検証します。問題は、後でblobヘッダーを表示すると、「Content-MD5」ヘッダーにコンテンツが含まれないため、ダウンストリームクライアントが上記からダウンロードした後にファイルを検証する方法がないことです(要件b)。
BLOBにヘッダーを設定する他の方法を試しましたが、どれも機能しませんでした。
request.AddHeaders(Amazon.S3.Util.AmazonS3Util.CreateHeaderEntry("Content-MD5", "ubewX5M7uzz64zskr7FThQ=="));
request.AddHeader("Content-MD5", "ubewX5M7uzz64zskr7FThQ==");
request.WithMetaData("Content-MD5", "ubewX5M7uzz64zskr7FThQ==");
CloudBerryを使用してblobのヘッダーを更新しようとしましたが、CloudberryがリクエストをS3に送信しましたが(文句は言いませんでした)、blobにはまだヘッダーが含まれていませんでした。
何か案は?これはS3でも可能ですか?AzureBlobストレージでこれを行うにはいくつかの方法があります。