Object Body の公開

Kii Cloud では、Object Body を Web ブラウザーから直接参照できる形式でインターネット上に公開する機能を用意しています。

Object Body の公開機能を実行すると、kii.com ドメインのサーバーに対する HTTPS の URL が割り当てられます。エンドユーザーがこの URL を利用すると、Web ブラウザーから Object Body のデータをダウンロードしたり参照したりできます。

URL の例を以下に示します。開発者ポータルでアプリケーションの作成先として日本のサーバーを選択した場合、以下のような URL が発行されます({app_id} にはアプリケーションの AppID が入ります)。

https://{app_id}.jp.kiiapps.com/api/x/0123456789abcdef012345678

オブジェクトがユーザースコープやグループスコープにある場合でも、Web ブラウザーから参照する場合は誰でも閲覧できる状態になります。Web ブラウザーから参照する際には、認証も行われません。ただし、ファイルを公開する操作を実行するユーザーは、公開するタイミングで、そのオブジェクトへの読み取り権限を持っている必要があります。

有効期限

URL を発行する際には、次の 3 通りの方法で有効期限を指定できます。REST API では一定時間だけ公開するオプションはありません(期間指定の代わりに日時指定を行います)。

  • 有効期限を設定せずに公開
  • 一定時間だけ公開(例:今から 1 時間だけ公開)
  • 指定した日時まで公開(例:3 月 31 日まで公開)

設定した有効期限が過ぎると、URL は無効となりファイルをダウンロードすることができなくなります。Web ブラウザーでアクセスしたときは、HTTP ステータス 410 Gone のエラーとなります。

なお、有効期限内であっても、Object Body が削除されるか、KiiObject が削除された場合は、HTTP ステータス 404 Not Found のエラーとなります。

Content-Type

Web ブラウザーからの参照に備え、Object Body に対する Content-Type を設定できます。Content-Type は HTTPS の応答ヘッダに使用されるため、設定によって Web ブラウザーから参照したときの振る舞いを変えることができます。たとえば、image/jpeg であれば画像として表示されますが、application/octet-stream であれば同じデータでもダウンロードする動きになります。

一括転送では、アップロードの時に Content-type を同時に指定します。中断/再開可能な転送の場合は、ファイルの拡張子を元に Content-Type が自動設定されます(拡張子がない場合は application/octet-stream になります)。

Object Body と URL の関係

KiiObject に用意されている Object Body 公開用の API を呼び出すと、Kii Cloud は URL を発行して Web ブラウザーからアクセスできる状態になります。公開用の API を複数回呼び出した場合は、1 つの KiiObject に複数の URL が紐付くことになります。このイメージを次に示します。

以下の点にご注意ください。

  • URL は KiiObject に紐付いており、URL にダウンロードされるデータそのものが含まれているわけではありません。新しい Object Body がアップロードされた場合、同じ URL でアクセスしても更新後のデータがダウンロードされます。

  • 有効期限は URL ごとに異なるものを割り当てることもできます。図のように、特定の URL だけ期限切れになることもあります。

  • 一旦公開された URL を、期限切れの前に非公開にすることはできません。非公開にしたい場合は、KiiObject そのものの削除を行います。

  • ObjectBody を公開するには、Object Body のアップロードを完了しておく必要があります。アップロード中やアップロード前の段階で、公開を予約することはできません。