58539f45c9
Cards: export_card (CSV/XLSX/JSON), create_model (type=model para fuentes MBQL). Documents: prosemirror_card_embed helper (resizeNode envolviendo cardEmbed), validacion automatica contra whitelist TipTap antes de enviar, copy_document refactorizado al endpoint nativo POST /api/document/:id/copy. Docs: dataset_query legacy vs MBQL5, template-tags, whitelist de nodos. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1.7 KiB
1.7 KiB
name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
| name | kind | lang | domain | version | purity | signature | description | tags | uses_functions | uses_types | returns | returns_optional | error_type | imports | params | output | tested | tests | test_file_path | file_path | |||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| metabase_export_card | function | py | infra | 1.0.0 | impure | def metabase_export_card(client: MetabaseClient, card_id: int, format: str = 'csv') -> bytes | Exporta los resultados de una card de Metabase en CSV, XLSX o JSON. Endpoint: POST /api/card/:id/query/:format. |
|
false | error_go_core |
|
|
bytes con el contenido del archivo exportado listo para escribir a disco | false | python/functions/metabase/cards.py |
Ejemplo
# Exportar a CSV
data = metabase_export_card(client, 42, format="csv")
with open("export.csv", "wb") as f:
f.write(data)
# Exportar a Excel
data = metabase_export_card(client, 42, format="xlsx")
with open("export.xlsx", "wb") as f:
f.write(data)
# Exportar a JSON
import json
data = metabase_export_card(client, 42, format="json")
rows = json.loads(data)
Notas
Usa client._http directamente para acceder al objeto httpx.Client y obtener .content en bytes sin que el wrapper de client.request intente parsear la respuesta como JSON.
Para cards con queries parametrizadas, este endpoint no acepta parametros — ejecuta la query con los valores por defecto. Para pasar parametros, usar metabase_execute_card que devuelve JSON estructurado.