データブラウザー

アプリケーションのデータ閲覧用ツールとして、開発者ポータルにはデータブラウザーが設置されています。データブラウザーを使うと Bucket 内のデータの確認や編集ができます。

データブラウザーを起動する

データブラウザーを起動する手順は以下のとおりです。

  1. 開発者ポータルにて対象アプリケーションを選択。
  2. "DATA BROWSER" アイコンをクリック。

次のような初期画面が表示されます。

Bucket を操作する

データブラウザーでは以下の操作ができます。

Bucket を追加する

画面上部の UI を使って Bucket を追加します。

  1. Bucket Type として "Normal" を選択します。
  2. Bucket のスコープ (アプリ、ユーザー、グループ、Thing) を選択します。
    選択したスコープに応じて、さらなる情報をドロップダウンメニューを使って入力します。

    • ユーザースコープを選択した場合は、対象となるユーザーの指定方法を選択後、対象ユーザーを選択します。
    • グループスコープを選択した場合は、対象となるグループ名を選択します。
    • Thing スコープを選択した場合は、対象となる Thing の指定方法を選択後、対象となる Thing を選択します。
  3. Bucket 名を入力後 "+新規Bucketの作成" ボタンを押します。

    ボタンが表示されない場合は、展開ボタンを押してください。

Bucket を閲覧する

画面上部の UI を使って既存 Bucket を閲覧します。

  1. Bucket Type として "Normal" を選択します。
  2. Bucket のスコープ (アプリ、ユーザー、グループ、Thing) を選択します。
    選択したスコープに応じて、さらなる情報をドロップダウンメニューを使って入力します。

    • ユーザースコープを選択した場合は、対象となるユーザーの指定方法を選択後、対象ユーザーを選択します。
    • グループスコープを選択した場合は、対象となるグループ名を選択します。
    • Thing スコープを選択した場合は、対象となる Thing の指定方法を選択後、対象となる Thing を選択します。
  3. プルダウンメニューで閲覧したい Bucket を選択します。

  4. 次のように Bucket 内の全 Object 一覧が表示されます。

リストの Object を選択すると内容の閲覧および編集ができます。詳しくは Object を操作する をご参照ください。

アプリケーションで作成したはずのデータを期待どおりに表示できない場合、スコープの違い もご確認ください。

表示するキーのカスタマイズ

デフォルトでは "_id" や "_created" などの所定キーのみがリストに表示されます(所定キーの詳細は こちら をご参照ください)。表示するキーは "Columns" ボタンをクリックするとカスタマイズ可能です。

表示する Object の絞り込み

デフォルトでは、全ての Object が表示されています。

カスタムクエリを設定すると、Object にフィルタをかけることができます。

"help?" をクリックすると、カスタムクエリ設定方法の例が確認できます。

Bucket の削除

まず Bucket を閲覧する の手順に従って、対象となる Bucket を開きます。

次に、Object 一覧画面の右上隅にある歯車アイコンをクリック後、"Bucketの削除" を選択します。

確認画面が表示されます。"OK" を選択すると Bucket が削除されます。

Bucket を削除すると、この Bucket 内の全ての Object も同時に削除されます。

Bucket の ACL を変更する

まず Bucket を閲覧する の手順に従って、対象となる Bucket を開きます。

次に、Object 一覧画面の右上隅にある歯車アイコンをクリック後、"Bucket ACL" を選択します。

Bucket ACL 設定画面が表示されます。

ACL 設定の確認や変更は、次の手順で行います。

  1. 対象となる「アクション」を選択します。

    各アクションの詳細は「Bucket に対するアクセス権」(AndroidiOSJavaScriptREST)をご参照ください。

    アクションを選択する、このアクションの現在の ACL 設定が表示されます。

  2. 「匿名ユーザー(Anonymous User)」および「ログイン済みの全ユーザー(Any Authenticated User)」に対するアクセス権を変更する場合は、トグルボタンをクリックします。

    なお、「匿名ユーザー」と「ログイン済みの全ユーザー」に関する詳細は「サブジェクト」(AndroidiOSJavaScriptREST)をご参照ください。

  3. ACL エントリーを追加する場合は、アクセス許可を与える対象の種別(ユーザー、グループ、または Thing)と ID を指定します。

    "+権限を付与" ボタンを押すと ACL エントリーが作成され、指定した対象にアクセスが許可されます。

  4. ACL エントリーを削除する場合は、対象となる ACL エントリーを選択後 "-権限を剥奪" ボタンを押します。

    なお、削除できない ACL エントリーが存在する点に注意してください。詳細は 「スコープオーナーや作成者の ACL エントリーは削除できません」(AndroidiOSJavaScriptREST)をご参照ください。

Object を操作する

データブラウザーでは以下の操作ができます。

Object の追加と更新

Object を追加するには、対象 Bucket を開いた後に "+ Object を作成" ボタンをクリックします。

空の Oject エディターが表示されます。

  • JSON データを入力して Object を定義します。
  • Object ID を指定することもできます。ID を指定しない場合は、自動的に Object ID が割り当てられます。
  • 編集が完了したら "保存" ボタンをクリックします。

既存 Object を開く場合は、Object 一覧より対象 Object をクリックします。クリックした Object の key-value ペアが反映された状態で Oject エディターが起動します。

  • Object を更新する場合は、JSON データを編集します。
  • 編集が完了したら "保存" ボタンをクリックします。

Object の削除

削除したい Object をトグルした後に "削除" ボタンをクリックします。

Object Body の管理

"Body" タブをクリックすると、Object Body コンソールが表示されます。

Object Body のアップロード

Object Body をアップロードするには、"Body のアップロード" セクションで対象ファイルを選択後 "アップロード" ボタンをクリックします。

Object Body のダウンロード

Object Body をダウンロードするには "Bod yのダウンロード" ボタンをクリックします。現在選択中の Object に Object Body が存在しないとボタンは表示されません。

Object Body の削除

Object Body を削除するには "Body の削除" ボタンをクリックします。現在選択中の Object に Object Body が存在しないとボタンは表示されません。

Object Body の公開

Object Body を公開するには "URL の生成" ボタンをクリックします。現在選択中の Object に Object Body が存在しないとボタンは表示されません。

Object Body を公開する際、有効期限を設定することもできます。有効期限は以下の 2 通りの方法で設定できます。

  • Object Body が公開されると、アクセス用の URL が表示されます。
  • 以下のいずれかの方法で公開期間を設定できます。
    • URL が無効になる日時を指定(例:2099年3月31 日に無効にする)
    • URL が無効になるまでの時間を指定(例:今から1時間後に無効にする)

データブラウザーは公開 URL を記憶しません。たとえばブラウザを再読込すると公開 URL は消えてしまいます(あくまで表示されなくなるだけであり、この URL を使って公開された Object Body にアクセスすることはできます)。

データをインポート/エクスポートする

データブラウザーでは以下の操作ができます。

データをインポートする

データをインポートするには、まずインポート先 Bucket を開きます。右上隅にある歯車アイコンをクリック後、 "インポート" ボタンを押します。

インポートするファイルを選択後、"インポート" ボタンをクリックすると、データのインポートが始まります。

データインポートの際、以下のオプションが選択可能です。

  • すべてのフィールドを String として扱う:このオプションを有効にすると、全ての値が String として解釈されます。
  • Bucketの再作成:このオプションを有効にすると、データインポートに先立ち Bucket 内の全てのデータが消去されます。
  • _id を使用してオブジェクトの作成または更新をする:このオプションを有効にすると、データインポート時に ObjectID の指定ができます。
  • 失敗データをCSVでエクスポート: このオプションを有効にすると、インポートに失敗したデータをまとめた CSV ファイルが生成されます。

インポートファイルのフォーマット

インポートファイルは CSV か TSV 形式である必要があります。またファイルは UTF-8 でエンコードされているものとして解釈されます。

データフォーマットは以下のとおりです。

  • ファイルの最初の行はヘッダーとして解釈されます。

    • 行内の値は Object のキーとして扱われます。
    • "Create / Update objects with _id" オプションを有効にした場合は、さらに "_id" を行内に追加してください(注意: "_id" を除く "_" から始まる値は全て無視されます)。
  • 2 行目以降は Object のデータとして解釈されます。

    • 各行が 1 つの Object に対応します。行の値が Object の値として扱われます。
    • デフォルトで全ての値は JSON として解釈されます("Treat all fields as String" オプションを有効にした場合は String として解釈されます)。
    • "Create / Update objects with _id" オプションを有効にした場合は、ObjectID を指定してください。指定した ObjectID を持つ Object が存在しない場合は、新規に Object が作成されます。指定した ObjectID を持つ Object が存在する場合は、指定の値でこの Object が上書き更新されます。

例 1

name,surname,size
John,Doe,999
Jane,Doe,888

このファイルをインポートすると、インポート先 Bucket に以下の 2 つの Object が作成されます。

[
  {
    "name": "John",
    "surname": "Doe",
    "size": 999
  },
  {
    "name": "Jane",
    "surname": "Doe",
    "size": 888
  }
]

例 2

hello,cruel,world
"{ ""someobj"" : [ 1, 2, 3, null ] }",123,
true,false,null
"""true""","""false""","""null"""

このファイルをインポートすると、以下の Object が作成されます。

[
  {
    "hello": {
      "someobj": [
        1,
        2,
        3,
        null
      ]
    },
    "cruel": 123,
    "world": ""
  },
  {
    "hello": true,
    "cruel": false,
    "world": null
  },
  {
    "hello": "true",
    "cruel": "false",
    "world": "null"
  }
]

データをエクスポートする

データを CSV ファイルとしてエクスポートできます。現在アクティブなクエリに合致する Bucket 内の全ての Object がエクスポート対象となります。

データをエクスポートするには、まずエクスポート元 Bucket を開きます。右上隅にある歯車アイコンをクリック後、 "エクスポート" ボタンを押します。

エクスポートファイルの保存先を選択するダイアログが表示されます。

ファイルは UTF-8 エンコードされています。またファイル名は "{Bucket 名}.csv" となります。

エクスポートファイルのフォーマット

エクスポートファイルのデータフォーマットは以下のとおりです(基本的に インポートファイル と同様です)。

  • ファイルの最初の行はヘッダーとなり、全てのキーが列挙されます。

    • カスタムキーがアルファベット順に列挙されます。
    • Kii Cloud が自動的に設定する 所定キー_created_id)が、カスタムキーに続いて列挙されます。
  • 各 Object の値が、2 行目以降にダンプされます。各行が 1 つの Object に相当します。

    • 文字列値はクオーテーションで囲まれた形でダンプされます。
    • JSON 値は「フラット」化されてダンプされます。

例 1

{
    "name": "Michael",
    "surname": "Jackson",
    "size": 999
},
{
    "name": "Johnny",
    "surname": "Depp",
    "size": 888,
    "pirates": true
}

この 2 つの Object をエクスポートすると、次のようなファイルが作成されます。

name,pirates,size,surname,_created,_id,_modified,_owner,_version
"""Johnny""",true,888,"""Depp""",1440058127729,"""af18ce10-4712-11e5-87ed-123143052eaa""",1440058127729,"""bb2f192b159c0743a97b066cfd190ba2""","""1"""
"""Michael""",,999,"""Jackson""",1440058111051,"""a527f1b0-4712-11e5-87ed-123143052eaa""",1440058111051,"""bb2f192b159c0743a97b066cfd190ba2""","""1"""

例 2

{
  "hello": {
    "someobj": [
      1,
      2,
      3,
      null
    ]
  },
  "cruel": 123,
  "world": ""
},
{
  "hello": true,
  "cruel": false,
  "world": null
},
{
  "hello": "true",
  "cruel": "false",
  "world": "null"
}

これらの Object をエクスポートすると、次のようなファイルが作成されます。

cruel,hello,world,_created,_id,_modified,_owner,_version
123,"{""someobj"":[1,2,3,null]}","""""",1440057447395,"""c63da810-470b-11e5-87ed-123143052eaa""",1440057447395,"""bb2f192b159c0743a97b066cfd190ba2""","""1"""
false,true,null,1440057447135,"""f02902a0-470b-11e5-87ed-123143052eaa""",1440057447135,"""bb2f192b159c0743a97b066cfd190ba2""","""1"""
"""false""","""true""","""null""",1440057446835,"""f97c8d90-470b-11e5-a7dc-123143051a24""",1440057471951,"""bb2f192b159c0743a97b066cfd190ba2""","""2"""