次の方法で共有


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-idETagLMT/、、x-ms-versioncontent-length、および を返します。Date Append Blob Seal では、 は ETag/LMT変更されません。

応答ヘッダー Value 説明
x-ms-blob-sealed true/false 省略可能。 既定では false です。 BLOB がシールされている場合、BLOB のプロパティをシールして取得するときに、このヘッダーが応答に含まれます。 このヘッダーは、追加 BLOB の 、GetBlobPropertiesAppendBlobSealListBlobsGetBlob表示されます。

クエリ パラメーター

追加の 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 を使用したロールの割り当ての詳細については、「 BLOB データにアクセスするための Azure ロールの割り当て」を参照してください。

注釈

追加 BLOB にリースがある場合は、BLOB をシールするためのリース ID が必要です。

BLOB をシールした後でも、プロパティ、BLOB インデックス タグ、メタデータを更新できます。 シールされた BLOB を論理的に削除すると、封印された状態が保持されます。 シールされた BLOB は上書きできます。  

シールされた BLOB のスナップショットを取得した場合、スナップショットにはシール フラグが含まれます。 新しいバージョンの既存のスナップショットの場合、Microsoft は プロパティを返します。

シールされた BLOB をコピーすると、シール フラグが既定で伝達されます。 ヘッダーが公開され、フラグを上書きできます。

という名前Sealedの新しい XML 要素が応答にListBlob追加されます。 値は truefalse のいずれかにできます。

既にシールされている 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価格」を参照してください。

こちらもご覧ください

エラー コードのAzure Blob Storage