BLOB の有効期限を設定する
この操作では Set Blob Expiry
、既存の BLOB に有効期限を設定します。 この操作は、階層型名前空間が有効なアカウントでのみ許可されます。 サービス バージョン 2020-02-10 以降に適用されます。
要求
Set Blob Expiry
要求の構成は次のとおりです。 HTTPS を使用することをお勧めします。
myaccount をストレージ アカウントの名前に置き換えます。
PUT メソッド要求 URI | HTTP バージョン |
---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=expiry |
HTTP/1.1 |
エミュレートされたストレージ サービスの URI
エミュレートされたストレージ サービスに対して要求を行う場合は、エミュレーターのホスト名と Blob Storage ポートを として 127.0.0.1:10000
指定し、その後にエミュレートされたストレージ アカウント名を指定します。
PUT メソッド要求 URI | HTTP バージョン |
---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=expiry |
HTTP/1.1 |
詳細については、ローカルでの Azure Storage の開発に Azurite エミュレーターを使用する方法に関するページを参照してください。
URI パラメーター
次の追加パラメーターを要求 URI に指定できます。
パラメーター | 説明 |
---|---|
timeout |
省略可能。
timeout パラメーターは、秒単位で表されます。 詳細については、「 Blob Storage 操作のタイムアウトを設定する」を参照してください。 |
要求ヘッダー
必須の要求ヘッダーと省略可能な要求ヘッダーを次の表に示します。
要求ヘッダー | 説明 |
---|---|
Authorization |
必須。 認証スキーム、アカウント名、および署名を指定します。 詳細については、「 Azure Storage サービスの認証」 を参照してください。 |
Date または x-ms-date |
必須。 要求に対して協定世界時 (UTC) を指定します。 詳細については、「 Azure Storage サービスの認証」を参照してください。 |
x-ms-version |
認証されたすべての要求について必須です。 この要求に使用する操作のバージョンを指定します。 詳細については、「Azure Storage サービスのバージョン管理」を参照してください。 |
x-ms-lease-id:<ID> |
BLOB にアクティブなリースが存在する場合は必須です。 アクティブなリースが存在する BLOB に対してこの操作を実行するには、このヘッダーに有効なリース ID を指定します。 |
x-ms-expiry-option |
必須。 要求の有効期限オプションを指定するには、「 ExpiryOption」を参照してください。 |
x-ms-expiry-time |
省略可能。 ファイルの有効期限が切れる時刻。 有効期限の形式は、 によって x-ms-expiry-option 異なります。 詳細については、「 ExpiryOption」を参照してください。 |
x-ms-client-request-id |
省略可能。 ログ記録の構成時にログに記録される 1 kibibyte (KiB) 文字制限を使用して、クライアントによって生成された不透明な値を提供します。 このヘッダーを使用して、クライアント側のアクティビティとサーバーが受信する要求を関連付けるよう強くお勧めします。 詳細については、「Azure Blob Storageの監視」を参照してください。 |
ExpiryOption
ヘッダーとして次の値を x-ms-expiry-option
送信できます。 このヘッダーでは、大文字と小文字は区別されません。
有効期限オプション | 説明 |
---|---|
RelativeToCreation |
ファイルの作成時刻を基準に有効期限を設定します。
x-ms-expiry-time は、作成時から経過するミリ秒数として指定する必要があります。 |
RelativeToNow |
現在の時刻を基準にして有効期限を設定します。
x-ms-expiry-time は、現在の時刻から経過するミリ秒数として指定する必要があります。 |
Absolute |
x-ms-expiry-time は、RFC 1123 形式で絶対時刻として指定する必要があります。 |
NeverExpire |
ファイルを無期限に設定するか、現在の有効期限を削除します。
x-ms-expiry-time を指定することはできません。 |
要求本文
この要求の要求本文が空です。
要求のサンプル
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=expiry HTTP/1.1
Request Headers:
x-ms-version: 2020-02-10
x-ms-date: Sun, 25 Sep 2020 14:37:35 GMT
x-ms-expiry-option: RelativeTonow
x-ms-expiry-time: 30000
Authorization: SharedKey myaccount:J4ma1VuFnlJ7yfk/Gu1GxzbfdJloYmBPWlfhZ/xn7GI=
Response
応答には、HTTP 状態コードおよび一連の応答ヘッダーが含まれています。
status code
操作に成功すると、状態コード 200 (OK) が返されます。
状態コードの詳細については、「 状態とエラー コード」を参照してください。
応答ヘッダー
この操作の応答には、次のヘッダーが含まれています。 応答に追加の標準 HTTP ヘッダーが含まれる場合もあります。 すべての標準ヘッダーは 、HTTP/1.1 プロトコル仕様に準拠しています。
応答ヘッダー | 説明 |
---|---|
ETag |
ファイルのバージョンを表す 値を格納します。 値は引用符で囲まれています。 |
Last-Modified |
ディレクトリが最後に変更された日時を返します。 日付形式は RFC 1123 に従います。 詳細については、「 ヘッダーの日付/時刻値を表す」を参照してください。 ディレクトリまたはそのプロパティを変更する操作を行うと、最終更新時刻が更新されます。 ファイルに対する操作は、ディレクトリの最終変更時刻には影響しません。 |
x-ms-request-id |
行われた要求を一意に識別し、要求のトラブルシューティングに使用できます。 詳細については、「 API 操作のトラブルシューティング」を参照してください。 |
x-ms-version |
要求の実行に使用された Blob Storage のバージョンを示します。 |
Date |
サービスによって生成される UTC 日付/時刻値。応答が開始された時刻を示します。 |
応答のサンプル
Response Status:
HTTP/1.1 200 OK
Response Headers:
Date: Sun, 25 Sep 2011 23:47:09 GMT
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
承認
Azure Storage でデータ アクセス操作を呼び出す場合は、承認が必要です。 操作は、以下で Set Blob Expiry
説明するように承認できます。
重要
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、またはサービス プリンシパルが操作を呼び出Set Blob Expiry
すために必要な RBAC アクションと、このアクションを含む最小特権の組み込み Azure RBAC ロールを次に示します。
- Azure RBAC アクション:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
- 最小特権の組み込みロール:ストレージ BLOB データ共同作成者
Azure RBAC を使用したロールの割り当ての詳細については、「 BLOB データにアクセスするための Azure ロールの割り当て」を参照してください。
注釈
BLOB に有効期限を設定するためのセマンティクスは次のとおりです。
-
Set Expiry
は、ディレクトリではなくファイルでのみ設定できます。 -
Set Expiry
過去の をexpiryTime
含む は許可されません。 -
ExpiryTime
の値Never
をexpiryOption
指定することはできません。
注意
BLOB の論理的な削除機能を使用して、期限切れのファイルを復元することはできません。 アカウントの論理的な削除を有効にした場合でも、期限切れのファイルは、期限切れになると論理的に削除された BLOB になりません。 論理的に削除されたファイルにできるのは、削除されたファイルだけです。
請求
価格要求は、Blob Storage REST API を介して直接、または Azure Storage クライアント ライブラリから Blob Storage API を使用するクライアントから送信できます。 これらの要求では、トランザクションあたりの料金が発生します。 トランザクションの種類は、アカウントの課金方法に影響します。 たとえば、読み取りトランザクションは、書き込みトランザクションとは異なる課金カテゴリに計上されます。 次の表は、ストレージ アカウントの種類に基づく要求の課金カテゴリ Set Blob Expiry
を示しています。
操作 | ストレージ アカウントの種類 | 課金カテゴリ |
---|---|---|
BLOB の有効期限を設定する | Premium ブロック BLOB Standard 汎用 v2 |
その他の操作 |
BLOB の有効期限を設定する | Standard 汎用 v1 | 書き込み操作 |
指定した課金カテゴリの価格については、「Azure Blob Storage価格」を参照してください。