Структура документа Ключ-АСТРОМ — Блокноты

Материал из Документация Ключ-АСТРОМ

Структура документа Ключ-АСТРОМ — Блокноты

Блокнот Ключ-АСТРОМ хранится как документ JSON. Понимание структуры помогает создавать и изменять блокноты через API.

Обзор

Документ блокнота состоит из version, defaultTimeframe, defaultSegments и sections. Разделы упорядочены последовательно и располагаются вертикально в том порядке, в котором они идут в массиве. Каждый раздел — это блок Markdown.

Структура верхнего уровня

{
  "version": "7",
  "defaultTimeframe": { "from": "now()-2h", "to": "now()" },
  "defaultSegments": [],
  "sections": []
}
Свойство Тип Описание
version string Версия схемы. Всегда "7". Примечание: это строка, в отличие от версии дашборда, которая является числом.
defaultTimeframe object Временной диапазон по умолчанию, применяемый при открытии блокнота. Имеет строковые свойства from и to. По умолчанию — последние 2 часа.
defaultSegments array Фильтры сегментов по умолчанию. Обычно пустой массив.
sections array Упорядоченный массив определений разделов. См. Разделы.

Разделы

Разделы хранятся в sections как упорядоченный массив. Порядок в массиве — это порядок отображения в блокноте. Существует три типа разделов: markdown и function.

Разделы располагаются вертикально в порядке массива.

Раздел Markdown

Раздел Markdown отображает статическое текстовое содержимое, отформатированное с помощью Markdown.

{
  "id": "97eae716-f594-4d8a-90ea-bcc00d1c0db4",
  "type": "markdown",
  "markdown": "# Title\n\nSection content."
}
Свойство Обязательно Описание
id Да Уникальный идентификатор раздела. Используйте UUID.
type Да Всегда "markdown".
markdown Да Строка содержимого Markdown.
showTitle Нет Показывать или скрывать заголовок раздела.

Раздел Function

Раздел Function выполняет функцию JavaScript в среде выполнения Astromkey Functions и при необходимости отображает результат в виде визуализации.

{
  "id": "54beb22f-3ef2-4809-93aa-06a3cab3f702",
  "type": "function",
  "title": "Users fetched from API",
  "showTitle": true,
  "showInput": true,
  "drilldownPath": [],
  "state": {
    "input": {
      "value": "export default async function () {\n  const res = await fetch('https://example.com/api/data');\n  return res.json();\n}"
    },
    "visualization": "table",
    "visualizationSettings": {
      "autoSelectVisualization": true
    }
  }
}
Свойство Обязательно Описание
id Да Уникальный идентификатор. Используйте UUID.
type Да Всегда "function".
title Нет Отображается над разделом.
showInput Нет Показывать или скрывать редактор кода в разделе.
state.input.value Да Исходный код JavaScript в виде строки. Экспорт по умолчанию вызывается при запуске раздела.
state.visualization Нет Тип визуализации для вывода функции. См. Типы визуализаций.
state.visualizationSettings Нет Объект конфигурации визуализации.

Типы визуализаций

Блокноты поддерживают следующие типы визуализаций:

davis, table, histogram, honeycomb, singleValue, donutChart, pieChart, categoricalBarChart, dotMap, choropleth, bubbleMap, connectionMap, meterBar, gauge, heatmap, lineChart, areaChart, barChart, bandChart, scatterplot, raw, recordView, treemap

Установка "autoSelectVisualization": true в state.visualizationSettings позволяет Ключ-АСТРОМ автоматически выбирать наиболее подходящую визуализацию для результата запроса. Используйте это, если вам не нужен конкретный тип.

Требования к типам полей для каждого типа визуализации см. в разделе Типы визуализаций.