プレフライト BLOB 要求
この操作はPreflight Blob Request
、要求を送信する前に、クロスオリジン リソース共有 (CORS) 規則に対してAzure Blob Storageのクエリを実行します。
Web ブラウザーまたは別のユーザー エージェントは、エージェントが行う要求の配信元ドメイン、メソッド、ヘッダーを含むプレフライト要求を送信します。 BLOB ストレージに対して CORS が有効になっている場合、Blob Storage は、アカウント所有者が Blob Service のプロパティの設定を使用して構成した CORS 規則に対してプレフライト要求を評価します。 その後、Blob Storage は要求を受け入れるか拒否します。
CORS とプレフライト要求の詳細については、Azure Storage の CORS 仕様 と CORS のサポートに関するページを参照してください。
要求
次のように指定 Preflight Blob Request
できます。
<account-name>
をストレージ アカウントの名前に置き換えます。 を、要求のターゲットとなるコンテナーまたは BLOB リソースに置き換えます <blob-resource>
。
HTTP 動詞 | 要求 URI | HTTP バージョン |
---|---|---|
OPTIONS |
http://<account-name>.blob.core.windows.net/<blob-resource> |
HTTP/1.1 |
URI のパスとクエリ部分からホスト名を区切るために、URI には常にスラッシュ (/) を含める必要があります。 この操作の場合、URI のパス部分は空にすることも、任意のコンテナーまたは BLOB リソースを指すことができます。
プレフライト要求が行われた時点で、リソースが存在する場合と存在しない場合があります。 プレフライト要求はサービス の CORS 規則に対してサービス レベルで評価されるため、リソース名の有無は操作の成功または失敗には影響しません。
URI パラメーター
[なし] :
要求ヘッダー
次の表では、必須および省略可能な要求ヘッダーについて説明します。
要求ヘッダー | 説明 |
---|---|
Origin |
必須。 要求の発行元を指定します。 プレフライト要求の成功または失敗を決定するために、送信元はサービスの CORS ルールと照合されます。 |
Access-Control-Request-Method |
必須。 要求のメソッド (または HTTP 動詞) を指定します。 プレフライト要求の成功または失敗を決定するために、メソッドはサービスの CORS ルールと照合されます。 |
Access-Control-Request-Headers |
省略可能。 送信する要求ヘッダーを指定します。 存在しない場合、サービスは要求にヘッダーが含まれていないと想定します。 |
要求本文
[なし] :
Response
応答には、HTTP 状態コードおよび一連の応答ヘッダーが含まれています。
status code
操作に成功すると、状態コード 200 (OK) が返されます。
状態コードの詳細については、「 状態とエラー コード」を参照してください。
応答ヘッダー
この操作の応答には、次のヘッダーが含まれています。 応答には、追加の標準 HTTP ヘッダーも含まれる場合があります。 すべての標準ヘッダーは 、HTTP/1.1 プロトコル仕様に準拠しています。
プレフライト要求ヘッダーの詳細については、 CORS の仕様を参照してください。
応答ヘッダー | 説明 |
---|---|
Access-Control-Allow-Origin |
プレフライト要求が成功した場合に要求の配信元ヘッダーと一致する、許可された配信元を示します。 |
Access-Control-Allow-Methods |
プレフライト要求が成功した場合、このヘッダーは要求ヘッダー に指定された値に設定されます Access-Control-Request-Method 。 |
Access-Control-Allow-Headers |
プレフライト要求が成功した場合、このヘッダーは要求ヘッダー に指定された値に設定されます Access-Control-Request-Headers 。 |
Access-Control-Max-Age |
ユーザー エージェントが将来の要求のプレフライト要求をキャッシュできる時間の長さを指定します。 |
Access-Control-Allow-Credentials |
資格情報を使用して要求を行うことができるかどうかを示します。 このヘッダーは常に true に設定されます。 |
応答本文
[なし] :
承認
操作は Preflight Blob Request
常に匿名で実行されます。 承認は必要ありません。資格情報が指定されている場合は無視されます。
注意
Azure Storage 分析を有効にし、メトリックをログに記録している場合、操作の Preflight Blob Request
呼び出しは として AnonymousSuccess
ログに記録されます。 このため、Azure portalでメトリックを表示すると、 のログが表示AnonymousSuccess
されますPreflight Blob Request
。 このメトリックは、プライベート データが侵害されたことを示すものではなく、 Preflight Blob Request
状態コード 200 (OK) で操作が成功したことを示しています。
要求と応答の例
次の例では、配信元 に対してプレフライト要求を送信します www.contoso.com
。 要求メソッドは にPUT
設定され、要求ヘッダーは と accept
にcontent-type
設定されます。
OPTIONS http://myaccount.blob.core.windows.net/mycontainer/myblockblob HTTP/1.1
Accept: */*
Origin: www.contoso.com
Access-Control-Request-Method: PUT
Access-Control-Request-Headers: content-type, accept
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
Content-Length: 0
応答は、サービスに対して CORS が有効であり、CORS ルールがプレフライト要求と一致することを示します。
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 60
Access-Control-Allow-Methods: PUT
Access-Control-Allow-Headers: accept,content-type
注釈
サービスに対して CORS が有効で、CORS ルールがプレフライト要求と一致する場合、サービスは状態コード 200 (OK) でプレフライト要求に応答します。 応答には必須の Access-Control
ヘッダーが含まれます。 この場合、要求は課金されます。
CORS がサービスに対して有効になっていない場合、またはプレフライト要求と一致する CORS ルールがない場合、サービスはステータス コード 403 (Forbidden) で応答します。 この場合、要求は課金されません。
要求の形式が OPTIONS
正しくない場合、サービスは状態コード 400 (無効な要求) で応答し、要求は課金されません。 形式が正しくない要求の例として、必須 Origin
ヘッダーと Access-Control-Request-Method
ヘッダーが含まれていない要求があります。
プレフライト要求は、特定のストレージ アカウントに関連付けられているストレージ サービスの CORS 機能に対してクエリを実行するメカニズムです。 そのため、特定のリソースを対象としていません。
請求
価格要求は、Blob Storage REST API を介して直接、または Azure Storage クライアント ライブラリを介して Blob Storage API を使用するクライアントから送信できます。 これらの要求では、トランザクションあたりの料金が発生します。 トランザクションの種類は、アカウントの課金方法に影響します。 たとえば、読み取りトランザクションは、書き込みトランザクションとは異なる課金カテゴリに計上されます。 次の表は、ストレージ アカウントの種類に基づく要求の課金カテゴリ Preflight Blob Request
を示しています。
操作 | ストレージ アカウントの種類 | 課金カテゴリ |
---|---|---|
プレフライト BLOB 要求 | Premium ブロック BLOB Standard 汎用 v2 |
その他の操作 |
プレフライト BLOB 要求 | Standard 汎用 v1 | 操作を読み取ります。 |
指定した課金カテゴリの価格については、「Azure Blob Storage価格」を参照してください。