admin管理员组

文章数量:1387400

I am writing a YAML file generator for subsequent import of Dashboard, chart, dataset and database. API I encounter error 500, as well as validation error in Apache Superset logs. One dashboard is created. And when adding a chart to it, problems arise. From the API side, there seem to be no problems.

I use these functions to create chart, database and dataset

def create_chart(chart_uuid, dataset_uuid):
return {
"slice_name": "HTMLCSS",
"viz_type": "handlebars",
"params": {
"datasource": "1__table",
"viz_type": "handlebars",
"query_mode": "aggregate",
"groupby": ["aircraft_code", "model", "range"],
"order_desc": True,
"row_limit": 10000,
"server_page_length": 10,
"handlebarsTemplate": "<table>\r\n <thead>\r\n <tr>\r\n <th>Aircraft Code</th>\r\n        <th>Model</th>\r\n <th>Range (km)</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {{#each data}} <!-- Loop through data -->\r\n <tr>\r\n <td>{{aircraft_code}}</td>\r\n <td>{{model}}</td>\r\n <td>{{range}}</td>\r\n </tr>\r\n {{/each}}\r\n </tbody>\r\n</table>",
"styleTemplate": "table {\r\n width: 100%;\r\n border-collapse: separate;\r\n border-spacing: 20px;\r\n}\r\n\r\nthead {\r\n background-color: #4caf50;\r\n color: #fff;\r\n}",
"extra_form_data": {},
"dashboards": [],
},
"query_context": "{\"datasource\":{\"id\":1,\"type\":\"table\"},\"force\":false,\"queries\":[{\"filters\":[] ,\"extras\":{\"having\":\"\",\"where\":\"\"},\"applied_time_extras\":{},\"columns\":[\"aircr aft_code\",\"model\",\"range\"],\"metrics\":[],\"annotation_layers\":[],\"row_limit\":10000,\"series_limit\":0,\"order_desc\":true,\"url_params\":{},\"custom_params\":{},\"custom_form_ data\":{}}],\"form_data\":{\"datasource\":\"1__table\",\"viz_type\":\"handlebars\",\"query_mode\":\"aggregate\",\"groupby\":[\"aircraft_code\",\"model\",\"range\"],\"metrics\":[],\"al l_columns\":[],\"percent_metrics\":[],\"order_by_cols\":[],\"order_desc\":true,\"row_limit\":10000,\"server_page_length\":10,\"adhoc_filters\":[],\"handlebarsTemplate\":\"<table>\\r\\n <thead>\\r\\n <tr>\\r\\n <th>Aircraft Code</th>\\r\\n <th>Model</th>\\r\\n <th>Range (km)</th>\\r\\n </tr>\\r\\n </thead>\\r\\n <tbody>\\r\\n {{#each data}} <!-- Loop through data -->\\r\\n <tr>\\r\\n <td>{{aircraft_code}}</td>\\r\\n <td>{{model}}</td>\\r\\n <td>{{range}}</td>\\r\\n </tr>\\r\\n {{/each}}\\r\\n </tbody>\\r\\n</table>\",\"styleTemplate\":\"table {\\r\\n width: 100%;\\r\\n border-collapse: separate;\\r\\n border-spacing: 20px;\\r\\n}\\r\\n\\r\\nthead {\\r\\n background-color: #4caf50;\\r\\n color: #fff;\\r\\n}\",\"extra_form_data\":{},\"dashboards\":[],\"force\":false,\"result_format\":\"json\",\"result_type\":\"full\"},\"result_format\":\"json\",\"result_type\":\"full\"}",
"version": "1.0.0",
} 

def create_dataset():
return {
"table_name": "aircrafts_data",
"offset": 0,
"catalog": "demo",
"schema": "bookings",
"filter_select_enabled": True,
"normalize_columns": False,
"always_filter_main_dttm": False,
"metrics": [
{
"metric_name": "count",
"verbose_name": "COUNT(*)",
"metric_type": "count",
"expression": "COUNT(*)",
}
],
"columns": [
{
"column_name": "aircraft_code",
"is_dttm": False,
"is_active": True,
"type": "CHAR(3)",
"groupby": True,
"filterable": True,
},
{
"column_name": "model",
"is_dttm": False,
"is_active": True,
"type": "JSONB",
"groupby": True,
"filterable": True,
},
{
"column_name": "range",
"is_dttm": False,
"is_active": True,
"type": "INTEGER",
"groupby": True,
"filterable": True,
},
],
"version": "1.0.0",
}

def create_database():
return {
"database_name": "Aicraft",
"sqlalchemy_uri":     "postgresql+psycopg2://postgres_admin:********@postgres_1:5432/demo",
"expose_in_sqllab": True,
"allow_run_async": False,
"allow_ctas": False,
"allow_cvas": False,
"allow_dml": False,
"allow_file_upload": False,
"extra": {
"allows_virtual_table_explore": True,
},
"version": "1.0.0",
}`

本文标签: Where can I see templates of YAML files with required fields for import into Apache SupersetStack Overflow