Create a service#
配信設定を作成し、コンテンツ配信を開始します。
APIエンドポイント#
リージョン | APIエンドポイント |
---|---|
西日本リージョン3の場合 | https://cdn.gls.cloud.global.fujitsu.com |
東日本リージョン3の場合 | https://cdn.gls.cloud.global.fujitsu.com |
HTTPメソッドとURI#
POST
/v1/services{?pre_fqdn, protocol, status, container, object_prefix, key_container, key_object}
配信設定には、Pre-FQDN、配信プロトコルスキーム、配信の初期ステータス、アクセスログの格納先となるコンテナ及びオブジェクトのプレフィックスを指定し、リクエストボディにJSON形式でキャッシュ動作制御ルールを指定します。コンテンツ配信のために最低限記載の必要なるキャッシュ動作制御ルールは、あるマッチ条件(例えば"url-wildcard":"/*")に対するoriginビヘイビアとなります。この場合のサンプルコードは機能説明書のWebシステムの構築時のユースケースのWebサイトのコンテンツ配信に記載がありますので、参照してください。この際、キャッシュ動作制御ルールのoriginビヘイビアのdigitalPropertyについては、任意の値("-"等)を指定してください。キャッシュ動作制御ルールについては「Appendix.A キャッシュ動作制御ルール」を参照してください。
APIが正しく処理された場合、Locationレスポンスヘッダーから、配信設定を識別するservice_idを得ることができます。詳細な情報は配信設定の取得APIにservice_idを指定することで得ることができます。
配信設定の作成によって富士通からお客様に一時的に付与する配信FQDNは、配信設定の取得API で得られるX-Access-URLレスポンスヘッダーを参照してください。FQDNは、配信設定の削除を行うまで維持されます。
配信設定のAkamai CDNへの伝搬状態は、配信設定の取得APIで得られるX-Statusレスポンスヘッダーによって得ることができます。deployedとなると、エンドユーザーからのエッジサーバへのアクセスが行える状態(コンテンツ配信可能な状態)となります。
リクエストボディのキャッシュ動作制御ルールの文法チェックは、非同期で行います。配信設定の取得APIによってX-Statusヘッダーがfailedであった場合、ルールの記載内容が誤っている場合がありますので、X-Message, X-Errorヘッダーを参照してください。
originビヘイビアの記載が無い、あるいはそのFQDNにアクセス出来ないといったキャッシュ動作制御ルールであっても設定としては有効のため、最終的にはエッジサーバへアクセスして動作確認してください。
配信ステータスをdeactivateとした場合、Akamai CDNへの伝搬を停止したままドメインの付与のみを行います。コンテンツ配信を開始する場合は、配信設定の編集APIにて、配信ステータスをactivateとして下さい。
containerが有効なコンテナ名の場合、アクセスログの格納が開始されます。東日本リージョンのオブジェクトストレージのエンドポイント+AUTH_{project_id}+"/"+container+"/"+object_prefix+"_start"という名称のテストオブジェクトを用い、書き込みテストが行われます。object_prefixが空もしくは指定しない場合、コンテナの直下への格納を試みます。
containerが空もしくは指定しない場合、アクセスログの格納は開始されません。
key_objectに有効な公開鍵オブジェクトを指定した場合、アクセスログを暗号化して格納します。公開鍵の作成方法および暗号化されたアクセスログの復号については、機能説明書を参照してください。
アクセスログの格納の状況、エラー、設定値は、配信設定の取得APIにて、X-Access-Log-Status、X-Access-Log-Container、X-Access-Log-Object-Prefix、X-Access-Log-Key-Container、X-Access-Log-Key-Object、X-Access-Log-Detailed-Statusのレスポンスヘッダーを参照してください。
アクセスログ機能で得られるCSV形式は、機能説明書を参照してください。
HTTPステータスコード#
正常時:200, 202
エラー時:400, 507
リクエストパラメータの説明#
名前 | In | Type | デフォルト値 /必須指定 |
Description |
---|---|---|---|---|
X-Auth-Token | header | string | 必須 | ユーザー認証を行った際に取得するトークン |
Content-Type | header | string | 任意 | リクエストボディで指定する情報がJSON形式の場合にはapplication/jsonを指定 |
pre_fqdn | query | string | 任意 | 配信したいFQDN情報 詳細は機能説明書を参照してください。 - 独自ドメインを使用する場合:FQDNを指定 お客様にてDNSサーバへのCNAME設定が必要です。 - 独自ドメインを使用しない場合(付与ドメインを希望):プレフィックスを指定(default: プレフィックス無し) |
protocol | query | string | 任意 | 配信プロトコルスキーム - http:HTTPで配信します。(default) - https:HTTPSで配信します。エッジサーバにHTTPでアクセスしても、HTTPSにリダイレクトします。 |
status | query | string | 任意 | 初期ステータス - activate:コンテンツ配信有効(default) - deactivate:コンテンツ配信無効 |
container | query | string | 任意 | アクセスログの格納先を表すオブジェクトストレージのコンテナ - 格納先を表す文字列:アクセスログを開始する - 空文字列:アクセスログを開始しない(default) |
object_prefix | query | string | 任意 | アクセスログのオブジェクト名を表すプレフィックス 疑似パス情報を含めることも可能です。 例) "path/PRE01_", "PRE01_"等 |
key_container | query | string | 任意 | アクセスログの暗号化に使用するための公開鍵が格納された、オブジェクトストレージのコンテナ - コンテナ名を表す文字列:指定コンテナを参照する - 空文字列:上記container値を使用する(default) |
key_object | query | string | 任意 | アクセスログの暗号化に使用するための公開鍵のオブジェクト名 疑似パス情報を含めることも可能です。公開鍵のオブジェクトは事前に格納しておく必要があります。 - オブジェクト名を表す文字列:アクセスログを暗号化する - 空文字列:アクセスログを暗号化しない(default) 例) "public_key" |
rules | body | string | 必須 | キャッシュ動作制御ルール 詳細はAppendix.A キャッシュ動作制御ルールを参照してください。 |
レスポンスボディ(正常系)の説明#
名前 | Type | Description |
---|---|---|
Content-Length | string | ヘッダーを除いたリクエスト長(Byte) |
Content-Type | string | コンテントタイプ - application/json:レスポンスボディがJSON形式の場合 |
Date | string | レスポンスの日時 |
X-Message | string | ステータスの補足情報 - Success: 成功しました - No services to return: 配信設定なし(空のリスト) - No Content: 返せる内容がありません - Accepted: 要求は受け付けられました - Bad Request: 要求が正しくありません - Invalid entry for xxx: xxxの値が正しくありません - Invalid Json: Jsonフォーマットが正しくありません - Quota exceeded: 作成可能な上限を超えています - Service is in progress: 他の処理が進行中です - Service is undeployed: 配信設定が無効状態です - Parameter required: パラメーターが必要です - Rate limit exceeded: 要求が多すぎるため、しばらく経ってから実行してください - Internal Server Error: 内部エラーです - Service Unavailable: 一時的に利用できません |
X-Error | string | エラー時の詳細情報 - Invalid JSON input / <エラー内容> JSON形式のデータに誤りがあります。詳細は<エラー内容>を参照してください。 - Internal Server Error(数字3桁) その他の内部エラーです。数字3桁部分は、問合せに使用する場合があります。 - Service Unavailable (数字3桁) その他の一時的なエラーです。数字3桁部分は、問合せに使用する場合があります。 |
X-Error-Instance-ID | string | エラーが発生したコマンドの情報 問合せに使用する場合があります。 |
X-Status | string | ステータス情報 配信設定の場合: - create_in_progress - 作成処理中 - deployed - 配信完了し、利用可能 - undeployed - 配信停止中 - update_in_progress - 更新処理中 - delete_in_progress - 削除処理中 - failed - 処理が失敗しました。X-Errorを参照してください。 レポートの場合: - create_in_progress - 作成処理中 - deployed - レポート作成完了し、利用可能 - failed - 処理が失敗しました。X-Errorを参照してください。 |
X-Access-Log-Status | string | ステータス情報 - deployed - 配信完了し、利用可能 - undeployed - 配信停止中 - failed - 処理が失敗しました。X-Access-Log-Status-Detailedを参照してください。 |
X-Access-URL | string | 配信FQDN 独自ドメインまたは付与ドメインです。 |
X-Protocol | string | 配信プロトコルスキーム httpまたはhttpsです。 |
Location | string | service_id, report_idを含むURL |
X-Access-Log-Container | string | アクセスログの格納先を示すオブジェクトストレージのコンテナ |
X-Access-Log-Object-Prefix | string | アクセスログのオブジェクト名のプレフィックス |
X-Access-Log-Key-Container | string | アクセスログの暗号化に使用するための公開鍵が格納された、オブジェクトストレージのコンテナ |
X-Access-Log-Key-Object | string | アクセスログの暗号化に使用するための公開鍵のオブジェクト名 |
X-Access-Log-Detailed-Status | string | アクセスログでエラーがあった場合の補足情報 - Access error to the container. - コンテナへのアクセス異常 - Access error to the public key. - 公開鍵格納コンテナおよび公開鍵オブジェクトへのアクセス異常 - Illegal public key. - 公開鍵オブジェクトが不正 - Internal server error. - 内部エラー発生 |
レスポンス例#
POST/v1/services?protocol=http&status=activate Content-type: application/json Content-Length: 375 { "rules": [ { "matches": [ { "name": "url-wildcard", "value": "/*" } ], "behaviors": [ { "params": { "cacheKeyValue": "-", "digitalProperty": "-", "cacheKeyType": "origin", "hostHeaderValue": "-", "originDomain": "jp.fujitsu.com", "hostHeaderType": "origin" }, "name": "origin", "value": "-" }, { "type": "fixed", "name": "caching", "value": "1d" } ] } ] } HTTP/1.1 202 Accepted Location: http://<Endpoint>/v1/services/2b7368fd-f243-496d-a1d5-16da2e5a3e0d X-Message: Accepted Content-Length: 0