配信設定の作成(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を指定
お客様にて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