BLOB シールを追加する
操作の Append Blob Seal
目的は、ユーザーとアプリケーションが追加 BLOB をシールし、読み取り専用としてマークできるようにすることです。 このドキュメントでは、この機能に関して提案されている REST API 仕様の概要について説明します。
要求
要求は Append Blob Seal
次のように構築できます。 HTTPS が推奨されます。
myaccount
をストレージ アカウントの名前に置き換えます。
PUT メソッド要求 URI | HTTP バージョン |
---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=seal |
HTTP/1.1 |
ヘッダー
Append Blob Seal
は、共通の API ヘッダー (最終変更時刻)x-ms-request-id
、ETag
LMT
/、、x-ms-version
content-length
、および を返します。Date
Append Blob Seal
では、 は ETag
/LMT
変更されません。
応答ヘッダー | Value | 説明 |
---|---|---|
x-ms-blob-sealed |
true/false | 省略可能。 既定では false です。 BLOB がシールされている場合、BLOB のプロパティをシールして取得するときに、このヘッダーが応答に含まれます。 このヘッダーは、追加 BLOB の 、GetBlobProperties 、AppendBlobSeal 、 ListBlobs にGetBlob 表示されます。 |
クエリ パラメーター
追加の URI パラメーターはありません。
要求本文
[なし] :
Response
応答には、HTTP 状態コードと応答ヘッダーの一覧が含まれます。
status code
次のいずれかの状態コードが表示される場合があります。
200 (成功): BLOB がシールされています。 呼び出しはべき等であり、BLOB が既にシールされている場合は成功します。
409 (InvalidBlobType): 呼び出しが既存のページ BLOB またはブロック BLOB にある場合、サービスはこの状態コードを返します。
404 (BlobNotFound): 呼び出しが存在しない BLOB 上にある場合、サービスはこの状態コードを返します。
承認
Azure Storage でデータ アクセス操作を呼び出す場合は、承認が必要です。 操作は、以下で Append Blob Seal
説明するように承認できます。
重要
Microsoft では、マネージド ID でMicrosoft Entra IDを使用して、Azure Storage への要求を承認することをお勧めします。 Microsoft Entra IDは、共有キーの承認と比較して優れたセキュリティと使いやすさを提供します。
Azure Storage では、Microsoft Entra ID を使用して BLOB データへの要求を承認することがサポートされています。 Microsoft Entra IDでは、Azure ロールベースのアクセス制御 (Azure RBAC) を使用して、セキュリティ プリンシパルにアクセス許可を付与できます。 セキュリティ プリンシパルには、ユーザー、グループ、アプリケーション サービス プリンシパル、または Azure マネージド ID を指定できます。 セキュリティ プリンシパルは、OAuth 2.0 トークンを返すためにMicrosoft Entra IDによって認証されます。 その後、そのトークンを、Blob service に対する要求を認可するために使用できます。
Microsoft Entra IDを使用した承認の詳細については、「Microsoft Entra IDを使用して BLOB へのアクセスを承認する」を参照してください。
アクセス許可
Microsoft Entraユーザー、グループ、マネージド ID、またはサービス プリンシパルが操作を呼び出Append Blob Seal
すために必要な RBAC アクションと、このアクションを含む最小特権の組み込み Azure RBAC ロールを次に示します。
- Azure RBAC アクション:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
- 最小特権の組み込みロール:ストレージ BLOB データ共同作成者
Azure RBAC を使用したロールの割り当ての詳細については、「 BLOB データにアクセスするための Azure ロールの割り当て」を参照してください。
注釈
追加 BLOB にリースがある場合は、BLOB をシールするためのリース ID が必要です。
BLOB をシールした後でも、プロパティ、BLOB インデックス タグ、メタデータを更新できます。 シールされた BLOB を論理的に削除すると、封印された状態が保持されます。 シールされた BLOB は上書きできます。
シールされた BLOB のスナップショットを取得した場合、スナップショットにはシール フラグが含まれます。 新しいバージョンの既存のスナップショットの場合、Microsoft は プロパティを返します。
シールされた BLOB をコピーすると、シール フラグが既定で伝達されます。 ヘッダーが公開され、フラグを上書きできます。
という名前Sealed
の新しい XML 要素が応答にListBlob
追加されます。 値は true
と false
のいずれかにできます。
既にシールされている BLOB で を呼び出 AppendBlock
すと、サービスは次の表に示すエラー メッセージを返します。 これは、以前のバージョンの API に適用されます。
エラー コード | HTTP 状態コード | ユーザー メッセージ |
---|---|---|
BlobIsSealed | Conflict (409) | 指定した BLOB はシールされ、その内容は削除後に BLOB が再作成されない限り変更できません。 |
既にシールされている追加 BLOB で を呼び出 Append Blob Seal
すと、状態コード 200 (成功) が表示されます。
請求
価格要求は、Blob Storage REST API を介して直接、または Azure Storage クライアント ライブラリを介して Blob Storage API を使用するクライアントから送信できます。 これらの要求では、トランザクションあたりの料金が発生します。 トランザクションの種類は、アカウントの課金方法に影響します。 たとえば、読み取りトランザクションは、書き込みトランザクションとは異なる課金カテゴリに計上されます。 次の表は、ストレージ アカウントの種類に基づく要求の課金カテゴリ Append Blob Seal
を示しています。
操作 | ストレージ アカウントの種類 | 課金カテゴリ |
---|---|---|
BLOB シールを追加する | Premium ブロック BLOB Standard 汎用 v2 Standard 汎用 v1 |
書き込み操作 |
指定した課金カテゴリの価格については、「Azure Blob Storage価格」を参照してください。