配信設定の作成(POST /v1/services)

配信設定を作成し、コンテンツ配信を開始します。

配信設定には、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形式は、機能説明書を参照してください。

主なステータスコードとX-Messageヘッダーの値を示します。

ステータスコード X-Message ヘッダー
202 Accepted:要求は受け付けられました
200 No services to return:配信設定なし(空のリスト)
400 Invalid Json:Jsonフォーマットが正しくありません
400 Invalid entry for pre_fqdn/protocol/status:値が正しくありません
400 Invalid entry for container/object_prefix:値が正しくありません
400 Invalid entry for key_container/key_object:値が正しくありません(該当する公開鍵が格納されていない場合)
507 Quota exceeded:作成可能な上限を超えています

Request Headers

API共通リクエストヘッダーを参照。

Request Parameter

pre_fqdn

配信したいFQDN情報。詳細は機能説明書を参照ください
  • 独自ドメインを使用する場合:FQDNを指定

    お客様にてDNSサーバへのCNAME設定が必要です

  • 独自ドメインを使用しない場合(付与ドメインを希望):プレフィックスを指定(default: プレフィックス無し)
Data Type Cardinality
String 0..1

protocol

配信プロトコルスキーム。
  • http:HTTPで配信します。(default)
  • https:HTTPSで配信します。エッジサーバにHTTPでアクセスしても、HTTPSにリダイレクトします。
Data Type Cardinality
String 0..1

status

初期ステータス
  • activate:コンテンツ配信有効(default)
  • deactivate:コンテンツ配信無効
Data Type Cardinality
String 0..1

container

アクセスログの格納先を表すオブジェクトストレージのコンテナ
  • 格納先を表す文字列:アクセスログを開始する
  • 空文字列:アクセスログを開始しない(default)
Data Type Cardinality
String 0..1

object_prefix

アクセスログのオブジェクト名を表すプレフィックス。疑似パス情報を含めても良い。

例) "path/PRE01_", "PRE01_"等

Data Type Cardinality
String 0..1

key_container

アクセスログの暗号化に使用するための公開鍵が格納された、オブジェクトストレージのコンテナ。
  • コンテナ名を表す文字列:指定コンテナを参照する
  • 空文字列:上記container値を使用する(default)
Data Type Cardinality
String 0..1

key_object

アクセスログの暗号化に使用するための公開鍵のオブジェクト名。疑似パス情報を含めても良い。公開鍵のオブジェクトは事前に格納しておく必要があります。
  • オブジェクト名を表す文字列:アクセスログを暗号化する
  • 空文字列:アクセスログを暗号化しない(default)

例) "public_key"

Data Type Cardinality
String 0..1

Request Elements

rules

キャッシュ動作制御ルール。詳細はAppendix.A キャッシュ動作制御ルールを参照してください

Data Type Cardinality Parent Element Child Element(s)
String 1..1 None ルールのJSONスキーマ 参照

Response Headers

API共通レスポンスヘッダーを参照。

Location

service_idを含むURL

Data Type Cardinality
String 1..1

Response Elements

特にありません。

Example of Response


       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