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