このトピックでは、Log Service API操作の一般的なリクエストヘッダーについて説明します。
パラメーター
Log Service API操作は、HTTPプロトコルに基づくRESTful API操作です。 これらのAPI操作では、共通のリクエストヘッダーのセットを使用できます。 次の表に、すべてのAPIリクエストの共通リクエストヘッダーを示します。
ヘッダー名 | データ型 | 必須 | 説明 |
Accept | String | 課金されません | Log Serviceが返されることをクライアントが期待する値の型。 有効な値: application/jsonおよびapplication/x-protobuf。 このヘッダーはGETリクエストに対してのみ有効です。 値はAPIの定義によって異なります。 |
Accept-Encoding | String | 課金されません | Log Serviceが返されることをクライアントが期待する圧縮アルゴリズム。 有効な値: LZ4、DEFLATE、およびnull (非圧縮) 。 ヘッダーはGETリクエストに対してのみ有効です。 値はAPIの定義によって異なります。 |
承認 | String | 課金されます | 署名の内容。 詳細は、「署名要求」をご参照ください。 |
Content-Length | 数値 | 課金されません | RFC 2616で定義されているHTTPリクエストボディの長さ。 ボディのないリクエストの場合、このヘッダーは必要ありません。 |
Content-MD5 | String | 課金されません | リクエスト本文の後に生成される文字列は、MD5アルゴリズムに基づいて計算されます。 値は大文字です。 ボディのないリクエストの場合、このヘッダーは必要ありません。 |
Content-Type | String | 課金されません | RFC 2616で定義されているHTTPリクエストボディのタイプ。 有効な値: application/x-protobuf。 ボディのないリクエストの場合、このヘッダーは必要ありません。 値はAPIの定義によって異なります。 |
日付 | String | 課金されます | リクエストが送信される時刻。 RFC 1123メッセージ形式のみがサポートされています。 時間はGMTです。 文字列は、以下のフォーマットである: % a, % d % b % Y % H:% M:% S GMT、例えば、月3月2010日08:33:47 GMT。 |
ホスト | String | 課金されます | HTTPリクエストのホスト名。 値には、 |
x-log-apiversion | String | 課金されます | API のバージョン。 現在は 0.6.0 です。 |
x-log-bodyrawsize | 数値 | 課金されません | リクエストボディの初期サイズ。 ボディのないリクエストの場合、値は0です。 ボディが圧縮されたリクエストの場合、値は圧縮前のボディのサイズです。 値の範囲: 0〜3145728。 このヘッダーは、ボディが圧縮されている場合にのみ必要です。 |
x-log-compresstype | String | 課金されません | リクエスト本文の圧縮に使用されるアルゴリズム。 RFC 1951で指定されているLZ4とDEFLATEがサポートされています。 ZLIB圧縮データ形式を使用する必要がある場合は、「RFC 1950」をご参照ください。 非圧縮ボディを持つリクエストの場合、このヘッダーは必要ありません。 |
x-log-date | String | 課金されません | リクエストが送信される時刻。 書式は Date ヘッダーの形式と同じです。 リクエストにこの共通リクエストヘッダーが含まれている場合、このヘッダーの値が標準のDateヘッダーの値に置き換えられます。 この値は、Log Serviceがリクエストを確認するために使用します。 このヘッダーは署名計算には含まれません。 リクエストにx-log-Dateヘッダーが含まれているかどうかに関係なく、HTTP標準のdateヘッダーをリクエストに含める必要があります。 |
x-log-signaturemethod | String | 課金されます | 署名の計算方法。 有効値: |
x-acs-security-token | String | 課金されません | Security Token Service (STS) の一時IDは、データの送信に使用されます。 このリクエストヘッダーは、STS の一時的な ID が使用される場合のみ必要です。 |
Dateヘッダーの時刻とLog Serviceがリクエストを受信した時刻の最大差は15分です。 差が15分を超えると、Log Serviceはリクエストを拒否します。 x-log-dateヘッダーを持つリクエストの場合、時間差はx-log-dateヘッダーの値に基づいて計算されます。
リクエストのx-log-compresstypeヘッダーに圧縮アルゴリズムが指定されている場合は、生データを圧縮してからHTTPリクエスト本文に配置する必要があります。 Content-LengthおよびContent-MD5ヘッダーの値は、圧縮されたボディに基づいて計算されます。
特定のプラットフォームから送信されるHTTPリクエストの場合、Dateヘッダーを指定することはできません。 現在の時刻は、プラットフォームの内部データベースによって指定されたとおりに送信されます。 したがって、Dateヘッダーの正しい値を使用してリクエスト署名を計算することはできません。 この場合、x-log-dateヘッダーを指定する必要があります。 この値は、要求シグネチャの計算に使用されます。 APIリクエストの受信後、Log Serviceはリクエストにx-log-dateヘッダーが含まれているかどうかを判断します。 リクエストにx-log-dateヘッダーが含まれている場合、Log Serviceはx-log-dateヘッダーの値を使用して署名を検証します。 それ以外の場合、Log Serviceは標準Dateヘッダーの値を使用して署名を検証します。
例:
POST / HTTP/1.1
Authorization: LOG <yourAccessKeyId>:<yourSignature>
x-log-bodyrawsize: 0
User-Agent: sls-java-sdk-v-0.6.1
x-log-apiversion: 0.6.0
Host: my-project-test.cn-shanghai.log.aliyuncs.com
x-log-signaturemethod: hmac-sha1
Date: Sun, 27 May 2018 07:43:26 GMT
Content-Type: application/json
Content-MD5: A7967D81EFF5E3CD447FB6D8DF294E20
Content-Length: 80
Connection: Keep-Alive