メソッド
Assets APIには、Get an imageとGet any assetの2つのメソッドがあります。どちらもHTTP GETで呼び出し、アセットのバイナリデータを返します。
メソッド一覧
| メソッド | パス | 取得対象 |
|---|---|---|
| Get an image | /beta/cms/assets/image | 画像アセット |
| Get any asset | /beta/cms/assets/asset | 画像や動画など、任意のアセット |
各メソッドのパラメータの詳細は、Craft Cross CMSのAPIリファレンスを参照してください。
メソッドの使い分け
取得するアセットの種類や用途に応じて、2つのメソッドを使い分けます。
- Get an imageは画像専用です。画像以外のアセットのIDを指定すると取得できません。画像の配信はFastly Image Optimizerを経由するため、配信用URLにクエリパラメータを付与して、リサイズやフォーマット変換を行えます。画像変換の詳細は、クエリのページを参照してください
- Get any assetは、動画を含む任意のアセットを取得します。動画など画像以外のアセットは、こちらを使います。Range Requestに対応しているため、ファイルを分割して取得でき、大容量ファイルの配信や動画のシーク再生に向きます
画像変換には、Fastly Image Optimizer側の入力上限(最大ファイルサイズ50MB、最大12,000×12,000px)があります。最新の制限値は、Fastlyの公式ドキュメントを参照してください。
Get an image
画像アセットを取得します。apiKey と imageId をクエリパラメータで指定します。
apiKey: 対象プロジェクトのAPIキー(必須)imageId: 取得する画像アセットのID(必須)
レスポンスは画像のバイナリデータで、Content-Type ヘッダーに画像のMIMEタイプ(image/png など)が入ります。
Get any asset
画像や動画など、任意のアセットを取得します。apiKey と assetId をクエリパラメータで指定します。
apiKey: 対象プロジェクトのAPIキー(必須)assetId: 取得するアセットのID(必須)
レスポンスはアセットのバイナリデータで、Content-Type ヘッダーにアセットのMIMEタイプ(video/mp4 など)が入ります。動画など大きなファイルを部分的に取得するための、Range Requestに対応します。
Range Request
Get any assetは、HTTPのRangeリクエストに対応します。Range ヘッダーで取得する範囲を指定すると、その範囲のバイナリデータだけを返します。動画のシーク再生や、大きなファイルの分割ダウンロードに利用できます。
Rangeヘッダーを指定しない場合は、ステータスコード200でファイル全体を返しますRangeヘッダーで範囲を指定した場合は、ステータスコード206でその範囲のデータを返し、Content-Rangeヘッダーに返却した範囲と全体のサイズを示します- 指定した範囲がファイルのサイズを超えるなど不正な場合は、ステータスコード416を返します
Get an imageはRangeリクエストに対応していません。常にファイル全体を返します。