Documentación

Paneles BI: comandos CLI

Conecta Grafana, Tableau, Power BI o un panel web, y luego explora, crea, prueba y muestra sus vistas en las pantallas.

Cada comando se ejecuta como describe la referencia de la CLI: banderas globales, salida JSON, códigos de salida, revisiones y reintentos.

Conexiones BI

Una conexión BI es el acceso del proyecto a un sistema propio que muestra paneles: para Grafana, su dirección y un token de cuenta de servicio; para Power BI, una aplicación de Microsoft Entra (entidad de servicio) y su secreto de cliente; para Tableau, una aplicación conectada y un usuario; y para una página web, la cuenta de servicio de un sitio que muestra un panel tras un inicio de sesión, o las cookies de un navegador con la sesión iniciada. Un ID de conexión empieza por bic_. Los secretos se sellan en el servidor y nunca se vuelven a mostrar: una lectura muestra secret {set, hint}, donde hint son los últimos cuatro caracteres de un secreto de 12 o más. Las conexiones pertenecen a un solo proyecto. bi connection list, show y browse requieren acceso Read, y el resto de comandos requieren acceso Manage. Un plan sin paneles BI responde feature_not_in_plan (salida 8) al crear una conexión o una vista y al modificar una, salvo al reemplazar una credencial; precios lista los planes.

Indique un secreto en un archivo: --token-file para Grafana, --secret-file para Power BI y Tableau, --password-file, --totp-file y --cookies-file para una página web. Cada una admite - para stdin, nunca un argumento, y lo mismo el script --steps de una conexión web; como máximo una opción de un comando lee stdin.

Una vista reproduce un panel, informe o página de una conexión mediante una primitiva iframe que muestra su embed_url; bi view create --connection-id ID crea una. Mostrar un panel tras un inicio de sesión recorre una conexión web, y la referencia de la API cubre todos los tipos.

bi connection create grafana#

Agrega una conexión de Grafana: su dirección y un token de cuenta de servicio.

bi connection create grafana --url URL --token-file FILE [--name NAME] [--org-id N]
ParámetroTipoRequeridoPredeterminadoNotas
--url URLstringsíningunoLa dirección de Grafana en un host público, con cualquier prefijo de ruta: https://grafana.example.com o https://example.com/grafana. Una dirección privada, de loopback o reservada da invalid_request (salida 8), y Grafana debe responder sin redirigir.
--token-file FILEstringsíningunoLee el token de la cuenta de servicio desde este archivo, o - para stdin (nunca un argumento); el archivo contiene solo el token.
--name NAMEstringnoel nombre del hostDe 1 a 80 caracteres.
--org-id Nintegerno1La organización de Grafana a la que pertenece el token: un número entero desde 1.
screenrig bi connection create grafana --url https://grafana.example.com --token-file token.txt
screenrig bi connection create grafana --url https://example.com/grafana --token-file - --name "Ops Grafana" --org-id 2

En Grafana, instale el plugin Grafana Image Renderer o el servicio de renderizado remoto (dibuja los paneles como imágenes; sin él no se renderiza nada), cree después una cuenta de servicio con el rol Viewer y agregue un token. Ejecute bi connection test a continuación.

bi connection create tableau#

Agrega una conexión de Tableau: una aplicación conectada (direct trust), el usuario con el que se muestran las vistas de las pantallas y el valor secreto de la aplicación.

bi connection create tableau --url URL --client-id ID --secret-id ID --username USER
    --secret-file FILE [--site SITE] [--name NAME]
ParámetroTipoRequeridoPredeterminadoNotas
--url URLstringsíningunoLa dirección https de Tableau Server, o de su pod de Tableau Cloud, como https://10ay.online.tableau.com (el pod, no online.tableau.com).
--site SITEstringnoSitio predeterminado de Tableau ServerLa URL de contenido del sitio, la parte posterior a /site/ o /t/ en la dirección de una vista.
--client-id IDstringsíningunoEl ID de cliente de la aplicación conectada.
--secret-id IDstringsíningunoEl ID de secreto de un secreto generado para la aplicación conectada.
--username USERstringsíningunoEl usuario de Tableau con el que se muestran las vistas de las pantallas (una dirección de correo electrónico en Tableau Cloud).
--secret-file FILEstringsíningunoLee el valor del secreto desde este archivo, o - para stdin (nunca un argumento); el archivo contiene solo el valor del secreto, no el ID de secreto.
--name NAMEstringnoel nombre del hostDe 1 a 80 caracteres.
screenrig bi connection create tableau --url https://10ay.online.tableau.com --site lobby --client-id 11111111-2222-3333-4444-555555555555 --secret-id 66666666-7777-8888-9999-000000000000 --username screens@example.com --secret-file secret.txt

Configúrelo una vez en Tableau: en Settings, Connected Apps, cree una aplicación conectada Direct trust, copie su ID de cliente, genere un secreto y copie el ID de secreto y el valor secreto, y habilite la aplicación y el secreto. Elija o cree el usuario de Tableau con el que se muestran las pantallas y dele acceso solo a las vistas que muestran las pantallas: quien tenga el ticket de una pantalla puede incrustar cualquier vista que ese usuario pueda ver. Después ejecute bi connection show ID e introduzca el host de su embed_origin en la lista de dominios permitidos de la aplicación conectada. Requiere Tableau Cloud o Tableau Server 2023.3 o posterior; las pantallas deben llegar al host de Tableau, y su navegador debe aceptar cookies de terceros de él. Ejecute bi connection test a continuación y luego bi connection browse para encontrar una vista.

bi connection create powerbi#

Agrega una conexión de Power BI: una aplicación de Microsoft Entra (entidad de servicio) y su secreto de cliente, o una conexión de Microsoft de este proyecto.

bi connection create powerbi
    (--tenant-id ID --client-id ID --secret-file FILE | --connection-id ID) [--name NAME]
ParámetroTipoRequeridoPredeterminadoNotas
--tenant-id IDstringsin --connection-idningunoSu Directory (tenant) ID de Microsoft Entra, o su dominio, como contoso.onmicrosoft.com; no common, organizations ni consumers. Junto con --client-id y --secret-file.
--client-id IDstringsin --connection-idningunoEl Application (client) ID del registro de la aplicación.
--secret-file FILEstringsin --connection-idningunoLee el valor del secreto de cliente desde este archivo, o - para stdin (nunca un argumento); el archivo contiene solo el valor del secreto, no el ID del secreto.
--connection-id IDstringsin --tenant-idningunoInicia sesión mediante una conexión de Microsoft (pcn_…) de este proyecto en modo own_app, en lugar de --tenant-id, --client-id y --secret-file. Se rechaza una conexión screenrig_app. No con ellas.
--name NAMEstringnoPower BIDe 1 a 80 caracteres.
screenrig bi connection create powerbi --tenant-id 11111111-2222-3333-4444-555555555555 --client-id aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee --secret-file secret.txt
screenrig bi connection create powerbi --connection-id pcn_01EXAMPLECONNECTION0000 --name "Contoso Power BI"

Configúrelo una vez. En Microsoft Entra, cree un registro de aplicación (un solo tenant, sin URI de redirección, sin permisos de API) y un secreto de cliente. Un administrador de Power BI activa, en el portal de administración, en Tenant settings, Developer settings, Embed content in apps y Service principals can call Fabric public APIs, para toda la organización o para un grupo de seguridad que contenga la aplicación. Agregue la aplicación a cada área de trabajo que muestre con el rol Miembro o Administrador; Miembro es el acceso mínimo. Para la inserción en producción, el área de trabajo debe estar en una capacidad Fabric (F), Power BI Embedded (A) o Premium (P/EM). Solo nube comercial. Ejecute bi connection test a continuación y luego bi connection browse para encontrar un área de trabajo y un informe.

bi connection create web#

Agrega una conexión web: una cuenta de servicio de un sitio que muestra un panel tras un inicio de sesión, o las cookies de un navegador con la sesión iniciada.

bi connection create web --login-mode auto|steps|none [--login-url URL] [--username USER]
    [--password-file FILE] [--totp-file FILE] [--steps FILE] [--cookies-file FILE] [--name NAME]
ParámetroTipoRequeridoPredeterminadoNotas
--login-mode MODEstringsíningunoauto rellena el formulario de --login-url con --username y la contraseña. steps ejecuta el script de --steps. none no inicia sesión en ningún sitio, así que las páginas se muestran con el conjunto de cookies de --cookies-file y no admite ninguna de las opciones --login-url, --username, --password-file, --totp-file ni --steps.
--login-url URLstringcon auto o stepsningunoLa dirección https de la página de inicio de sesión del sitio, en un host público. La contraseña se escribe solo allí y en los pasos goto del script, nunca en la dirección de una vista.
--username USERstringcon autoningunoEl nombre de usuario de la cuenta de servicio, que un script steps lee como {{username}}.
--password-file FILEstringcon autoningunoLee la contraseña de la cuenta de servicio desde este archivo, o - para stdin (nunca un argumento): se permiten espacios y se descartan los saltos de línea finales.
--totp-file FILEstringnoningunoLee la clave base32 que muestra el sitio para la aplicación de autenticación de la cuenta (de 16 a 128 caracteres), o su dirección otpauth://totp, desde este archivo o -: el servidor calcula los códigos.
--steps FILEstringcon stepsningunoEl script de inicio de sesión, un arreglo JSON de como máximo 30 pasos, desde un archivo o -. Acciones: goto (url), fill (selector, value), click y wait_for (selector), press (value, como Enter, selector opcional) y wait_ms (ms, de 1 a 10000). Un valor puede contener {{username}}, {{password}} y {{otp}}, nunca el propio secreto. No con auto.
--cookies-file FILEstringnoningunoUn conjunto de cookies exportado de un navegador con la sesión iniciada: un arreglo JSON de cookies (la exportación de una extensión de cookies) o un objeto con un arreglo cookies (el storage state de Playwright), desde un archivo o -; como máximo 100. Solo se envían name, value, domain, path, expires, httpOnly, secure y sameSite.
--name NAMEstringnoel host de inicio de sesión, o Web page con --login-mode noneDe 1 a 80 caracteres.
screenrig bi connection create web --login-mode auto --login-url https://login.example.com/signin --username screens@example.com --password-file password.txt --name "Ops dashboard"
screenrig bi connection create web --login-mode steps --login-url https://login.example.com/signin --username screens@example.com --password-file password.txt --steps steps.json
screenrig bi connection create web --login-mode none --cookies-file cookies.json --name "Signed-in jar"

La contraseña, la clave y las cookies se sellan y nunca se vuelven a mostrar: data.secret y data.totp_secret indican si están definidas, y data.session indica en qué punto está el inicio de sesión (idle, active, login_needed, paused, stopped o expired). Use una cuenta de servicio de solo lectura. Un inicio de sesión rechazado espera 5 minutos, luego 15, 60 y 120, y el quinto seguido detiene la conexión hasta que cambien sus credenciales o sus ajustes de inicio de sesión. Un sitio que aprueba inicios de sesión en un teléfono, comprueba dispositivos o muestra un CAPTCHA no se puede automatizar: use un conjunto de cookies. Un servidor sin el renderizador de páginas responde bi_web_unavailable (salida 5). Ejecute bi connection test a continuación.

bi connection list#

Lista las conexiones BI de este proyecto con su tipo, el secreto enmascarado y la última prueba.

bi connection list

Sin parámetros.

screenrig bi connection list

data.items contiene todas las conexiones del proyecto; no se devuelve ningún secreto.

bi connection show#

Inspecciona una conexión y su última prueba.

bi connection show <id>
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoLa conexión (bic_…).
screenrig bi connection show bic_01EXAMPLECONNECTION0000

La respuesta lleva kind, config (url y org_id para Grafana; tenant_id y client_id para Power BI, o connection_id cuando una conexión de Microsoft inicia sesión; url, site, client_id, secret_id y username para Tableau; login_mode, login_url, username y steps para una conexión web), secret {set, hint}, embed_origin (el host de inserción del proyecto, que nombra la lista de dominios permitidos de una aplicación conectada) y last_test. Una conexión web también lleva totp_secret {set} y session: su state, el conteo de cookies y cookies_updated_at, last_login_at, login_failures y retry_at.

bi connection update#

Cambia el nombre, la dirección, la organización, el tenant, la aplicación, el sitio, el usuario o el secreto de una conexión o, en una conexión web, su inicio de sesión y sus cookies.

bi connection update <id> [--name NAME] [--url URL] [--org-id N] [--tenant-id ID] [--client-id ID]
    [--site SITE | --default-site] [--secret-id ID] [--username USER]
    [--token-file FILE | --secret-file FILE | --password-file FILE | --clear-password]
    [--login-mode auto|steps|none] [--login-url URL] [--totp-file FILE | --clear-totp]
    [--steps FILE] [--cookies-file FILE | --clear-cookies] [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoLa conexión (bic_…).
--name NAMEstringnosin cambiosCambia el nombre de la conexión.
--url URLstringnosin cambiosLa nueva dirección de Grafana, o del servidor o pod de Tableau.
--org-id Nintegernosin cambiosLa organización de Grafana a la que pertenece el token.
--tenant-id IDstringnosin cambiosEl tenant de Microsoft Entra de la conexión de Power BI.
--client-id IDstringnosin cambiosEl Application (client) ID de la conexión de Power BI, o el ID de cliente de la aplicación conectada de Tableau.
--site SITEstringnosin cambiosLa URL de contenido del sitio de la conexión de Tableau. No con --default-site.
--default-sitebooleannoapagadoTableau Server: inicia sesión en el sitio predeterminado. No con --site.
--secret-id IDstringnosin cambiosEl ID de secreto de la aplicación conectada de Tableau.
--username USERstringnosin cambiosEl usuario de Tableau con el que se muestran las vistas de las pantallas, o la cuenta de servicio de la conexión web.
--token-file FILEstringnosin cambiosGrafana: lee el token de la cuenta de servicio desde este archivo, o - para stdin; sustituye el token almacenado. Como máximo una de --token-file, --secret-file, --password-file y --clear-password.
--secret-file FILEstringnosin cambiosPower BI o Tableau: lee el valor del secreto desde este archivo, o - para stdin; sustituye el secreto almacenado.
--login-mode MODEstringnosin cambiosWeb: cómo inicia sesión, auto, steps o none.
--login-url URLstringnosin cambiosWeb: la dirección https de la página de inicio de sesión del sitio. Un origen nuevo requiere --password-file en el mismo comando, de modo que la contraseña almacenada nunca se envía a una página a la que usted no se la dio.
--password-file FILEstringnosin cambiosWeb: lee la contraseña de la cuenta de servicio desde este archivo, o - para stdin; sustituye la contraseña almacenada.
--clear-passwordbooleannoapagadoWeb: elimina la contraseña almacenada.
--totp-file FILEstringnosin cambiosWeb: lee la clave del autenticador desde este archivo, o - para stdin; sustituye la clave almacenada. No con --clear-totp.
--clear-totpbooleannoapagadoWeb: elimina la clave del autenticador almacenada. No con --totp-file.
--steps FILEstringnosin cambiosWeb: sustituye el script de inicio de sesión, un arreglo JSON de como máximo 30 pasos, desde un archivo o -.
--cookies-file FILEstringnosin cambiosWeb: sustituye el conjunto de cookies por uno exportado de un navegador con la sesión iniciada, desde un archivo o - (los formatos que admite bi connection create web). No con --clear-cookies.
--clear-cookiesbooleannoapagadoWeb: elimina el conjunto de cookies almacenado. No con --cookies-file.
--expect-rev REVISIONintegernoningunoRechaza el cambio salvo que la conexión esté en esta revisión (revision_conflict, salida 6).
screenrig bi connection update bic_01EXAMPLECONNECTION0000 --token-file new-token.txt
screenrig bi connection update bic_01EXAMPLECONNECTION0000 --password-file new-password.txt
screenrig bi connection update bic_01EXAMPLECONNECTION0000 --clear-totp --clear-cookies
screenrig bi connection update bic_01EXAMPLECONNECTION0000 --url https://grafana.example.com --token-file new-token.txt --name "Ops Grafana" --expect-rev 2

Se requiere al menos un cambio, y un secreto omitido se conserva. Un cambio de dirección a otro host, esquema o puerto requiere --token-file (Grafana) o --secret-file (Tableau) en el mismo comando: el secreto almacenado solo se envía a la dirección para la que se guardó. Un cambio de dirección, organización, tenant, aplicación, sitio, usuario o secreto borra last_test y retira todos los renderizados en caché de las vistas de la conexión: pruébela de nuevo. Un cambio de credenciales o de ajustes de inicio de sesión reactiva una sesión web detenida.

bi connection test#

Comprueba las credenciales: el token y el Image Renderer de Grafana, la aplicación de Power BI y sus áreas de trabajo, el inicio de sesión de Tableau o el inicio de sesión de una conexión web.

bi connection test <id>
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoLa conexión (bic_…).
screenrig bi connection test bic_01EXAMPLECONNECTION0000

Grafana: token (Grafana lo acepta) y image_renderer (el plugin figura en la lista; sin él, Grafana solo avisa, porque un servicio de renderizado remoto no aparece como plugin). Power BI: token (Microsoft Entra emitió uno para la aplicación) y workspaces (las áreas de trabajo que la aplicación puede ver; si no ve ninguna, falla, y un rechazo nombra los ajustes de tenant para desarrolladores y el rol Miembro o Administrador de la aplicación en el área de trabajo). Tableau: signin como el usuario de la conexión con un token de lectura de contenido, seguido de un cierre de sesión. Web: login inicia sesión como la cuenta de servicio y dibuja su página de inicio de sesión; una conexión web que no inicia sesión en nada no tiene inicio de sesión que probar, así que responde una advertencia, y bi view test comprueba sus cookies. Un rechazo es una comprobación fallida que lleva la respuesta propia del proveedor, y el resultado se guarda como last_test. La prueba no juzga la lista de dominios permitidos de Tableau, la capacidad, la seguridad a nivel de fila ni los permisos de un panel: bi view test comprueba una vista de verdad.

bi connection browse#

Lista lo que puede mostrar una conexión: dashboards y paneles de Grafana, áreas de trabajo e informes de Power BI, o vistas de Tableau.

bi connection browse <id> [--query TEXT] [--dashboard UID] [--workspace ID]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoLa conexión (bic_…).
--query TEXTstringnoningunoSolo los paneles, áreas de trabajo, informes o vistas cuyo nombre coincide, de hasta 200 caracteres.
--dashboard UIDstringnoningunoGrafana: lista en su lugar los paneles de este dashboard. No con --workspace.
--workspace IDstringnoningunoPower BI: lista en su lugar los informes de esta área de trabajo, por su GUID. No con --dashboard.
screenrig bi connection browse bic_01EXAMPLECONNECTION0000 --query lobby
screenrig bi connection browse bic_01EXAMPLECONNECTION0000 --dashboard abc123
screenrig bi connection browse bic_01EXAMPLECONNECTION0000 --workspace f089354e-8366-4e18-aea3-4cb4a3a50b48 --query sales

data.items lista, para Grafana, uid, title, folder y tags de cada dashboard que el token puede mostrar o, con --dashboard, id, title y type de sus paneles (las filas se aplanan, así que se lista un panel dentro de una fila contraída); para Power BI, id y name de cada área de trabajo que la aplicación puede ver o, con --workspace, id, name y embed_url de sus informes; para Tableau, path, como Workbook/View, y name de cada vista que el usuario de la conexión puede ver. Use estos valores con bi view create. Una conexión web no lista nada: cada vista web toma la dirección de su página.

bi connection delete#

Elimina una conexión que ninguna vista usa.

bi connection delete <id> [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoLa conexión (bic_…).
--expect-rev REVISIONintegernoningunoRechaza la eliminación salvo que la conexión esté en esta revisión (revision_conflict, salida 6).
screenrig bi connection delete bic_01EXAMPLECONNECTION0000

Mientras haya vistas que la usen, la respuesta es resource_conflict (salida 5), que las nombra: elimine primero esas vistas. La respuesta es data.id y data.deleted true.

Vistas BI

Una vista es un dashboard o panel de una conexión de Grafana, un informe de un área de trabajo de Power BI, una vista de un sitio de Tableau, una página de una conexión web, o un enlace público que no necesita conexión: un dashboard público de Grafana, un enlace Publish to web de Power BI o una viz de Tableau Public. Un ID de vista empieza por biv_, y una vista se reproduce solo en pantallas de su propio proyecto.

Ponga el embed_url de la vista en una primitiva iframe con content_fit fill y publique como de costumbre: la lista de reproducción no contiene ninguna credencial. Las vistas de Grafana y web se dibujan en el servidor como una imagen cada --refresh y las comparten todas las pantallas del mismo tamaño, así que diez pantallas de un vestíbulo generan un solo renderizado y la pantalla nunca se comunica con el sistema; la última imagen válida permanece en pantalla mientras falla una captura. Un informe de Power BI y una vista de Tableau se insertan con un token de solo visualización que el servidor genera y renueva, y la pantalla nunca conserva el secreto. Una imagen se dibuja solo mientras el manifiesto de una pantalla nombra la vista.

Leer requiere acceso Read, y cualquier cambio requiere acceso Manage. Cada opción de destino pertenece a un tipo de conexión, y bi connection browse ID lista los valores que se pueden usar.

bi view create#

Agrega una vista de un dashboard, panel, informe o vista de Tableau de una conexión, o de un enlace público.

bi view create (--connection-id ID (--url URL | --dashboard UID | --workspace ID --report ID | --view WORKBOOK/VIEW)
    | --public-url URL) [--name NAME] [--refresh DURATION] [--fit contain|cover|fill] [--rotate DURATION]
    [--panel ID] [--from TIME] [--to TIME] [--var NAME=VALUE]... [--theme dark|light] [--timezone ZONE]
    [--page NAME]... [--all-pages] [--rotate-sheets] [--wait-for CSS] [--wait-ms MS] [--clip CSS]
ParámetroTipoRequeridoPredeterminadoNotas
--connection-id IDstringsin --public-urlningunoLa conexión (bic_…) de la que mostrar algo.
--url URLstringun destinoningunoUna dirección de dashboard en el host de Grafana de la conexión, una dirección de informe de Power BI, una dirección de vista de Tableau o, para una conexión web, la dirección https de la página en un host público. El resto del destino se lee de ella, así que no admite ninguno de --panel, --from, --to, --var, --theme, --timezone, --page ni --all-pages.
--dashboard UIDstringun destinoningunoGrafana: el uid del dashboard, la parte posterior a /d/ en su dirección.
--workspace IDstringun destinoningunoPower BI: el ID del área de trabajo, con --report.
--report IDstringcon --workspaceningunoPower BI: el ID del informe, con --workspace.
--view WORKBOOK/VIEWstringun destinoningunoTableau: la vista, los nombres posteriores a /views/ en su dirección (bi connection browse los lista).
--public-url URLstringun destinoningunoUn enlace de dashboard público de Grafana, un enlace Publish to web de Power BI o una dirección de viz de Tableau Public. No necesita conexión y se reproduce en vivo desde su host. Indíquelo solo, junto con --name, --refresh, --fit, --rotate-sheets y --rotate.
--name NAMEstringnodel destinoDe 1 a 80 caracteres.
--refresh DURATIONstringno5mGrafana: con qué frecuencia se vuelve a dibujar la imagen, de 30s a 24h. Web: con qué frecuencia se vuelve a dibujar la página, de 60s a 24h. Power BI y Tableau: con qué frecuencia el informe o la vista actualiza sus datos, de 60s a 24h, o 0 para ninguna. Indique una duración como 30s, 5m o 1h, o un número de segundos.
--fit FITstringnocontainGrafana y web: cómo llena la imagen la pantalla, contain, cover o fill.
--rotate DURATIONstringnoningunoPower BI: cuánto tiempo se muestra cada página, de 10s a 1h; obligatorio con dos o más --page o con --all-pages. Tableau: cuánto tiempo se muestra cada hoja; obligatorio con --rotate-sheets.
--page NAMEstringnoningunoPower BI: una página para mostrar, por nombre o nombre para mostrar. De 1 a 200 caracteres. Repetible; las páginas se muestran en este orden.
--all-pagesbooleannoapagadoPower BI: rota por todas las páginas visibles, con --rotate.
--rotate-sheetsbooleannoapagadoTableau: rota las hojas publicadas del libro de trabajo, con --rotate.
--panel IDstringnotodo el dashboardGrafana: muestra solo este panel en lugar de todo el dashboard. Un número entero, como en viewPanel de la dirección.
--from TIMEstringnoningunoGrafana: inicio del intervalo de tiempo, como now-6h, now/d o un epoch en milisegundos.
--to TIMEstringnoningunoGrafana: fin del intervalo de tiempo, como now, now/d o un epoch en milisegundos.
--var NAME=VALUEstringnoningunoGrafana: una variable del dashboard. NAME puede llevar el prefijo var- y un valor tiene como máximo 200 caracteres. Repetible.
--theme THEMEstringnodarkTema de Grafana, dark o light.
--timezone ZONEstringnoningunoGrafana: zona horaria del dashboard, como Europe/Paris, utc o browser.
--wait-for CSSstringnoningunoWeb: un selector CSS de un elemento que aparece cuando la página está lista, y solo cuando la sesión está iniciada. La captura lo espera y falla con bi_web_timeout si nunca aparece.
--wait-ms MSintegernoningunoWeb: milisegundos de espera tras estar lista la página, para gráficos tardíos, de 0 a 10000.
--clip CSSstringnotoda la páginaWeb: un selector CSS de la parte de la página que se dibuja.
screenrig bi view create --connection-id bic_01EXAMPLECONNECTION0000 --url 'https://grafana.example.com/d/abc123/lobby?orgId=1&viewPanel=4' --refresh 5m
screenrig bi view create --connection-id bic_01EXAMPLECONNECTION0000 --dashboard abc123 --panel 4 --from now-6h --to now --var host=web1 --theme light --name "Web CPU"
screenrig bi view create --public-url https://grafana.example.com/public-dashboards/TOKEN --name "Public status"
screenrig bi view create --connection-id bic_01EXAMPLECONNECTION0000 --workspace f089354e-8366-4e18-aea3-4cb4a3a50b48 --report 5b218778-e7a5-4d73-8187-f10824047715 --page Overview --page Detail --rotate 30s --name "Sales rotation"
screenrig bi view create --connection-id bic_01EXAMPLECONNECTION0000 --view Sales/Overview --rotate-sheets --rotate 30s --refresh 0 --name "Sales sheets"
screenrig bi view create --connection-id bic_01EXAMPLECONNECTION0000 --url https://app.example.com/dashboards/42 --refresh 5m --wait-for '#dashboard.loaded' --wait-ms 1500 --clip '#chart-grid'

Indique exactamente un destino: --url, --dashboard, --workspace con --report, --view o --public-url. La respuesta lleva data.embed_url. Ejecute bi view test a continuación.

Grafana: --url lee orgId, viewPanel o panelId, from, to, var-*, theme y timezone de la dirección. La imagen se dibuja a través del servicio de renderizado de Grafana y la comparten todas las pantallas del mismo tamaño, y una pantalla conserva la última imagen, con la hora del renderizado en una esquina, mientras Grafana está caído. Un enlace de dashboard público se reproduce en vivo desde Grafana, que debe permitir la inserción (allow_embedding = true en sus ajustes): bi view test lo comprueba.

Power BI: --url acepta la dirección de un informe copiada de Power BI, https://app.powerbi.com/groups/WORKSPACE/reports/REPORT, con una página /ReportSection opcional; o indique --workspace y --report. Dos o más páginas requieren --rotate, y --rotate requiere dos o más páginas o --all-pages. --refresh 0 es adecuado para un informe DirectQuery o de actualización automática de página que se actualiza solo. --fit no se aplica. Un enlace Publish to web muestra el informe a cualquiera que tenga el enlace y se reproduce tal como lo sirve Power BI, recargado cada --refresh, sin rotación de páginas.

Tableau: --url acepta la dirección de una vista copiada de Tableau, https://HOST/t/SITE/views/WORKBOOK/VIEW, la de Tableau Cloud, https://HOST/#/site/SITE/views/WORKBOOK/VIEW, o simplemente WORKBOOK/VIEW; la dirección debe estar en el host y el sitio de la conexión. --rotate-sheets y --rotate se requieren mutuamente. --fit no se aplica. Las pantallas deben llegar al host de Tableau y aceptar sus cookies de terceros, y el embed_origin de la vista debe estar en la lista de dominios permitidos de la aplicación conectada. Una viz de Tableau Public (--public-url https://public.tableau.com/app/profile/USER/viz/WORKBOOK/VIEW, o su dirección /views/) no necesita conexión ni token, y --rotate-sheets también funciona ahí.

Web: --url es la dirección de la página, y --wait-for, --wait-ms y --clip se aplican solo a una vista web. La última imagen válida permanece en pantalla cuando falla una captura, y status.last_error indica el motivo: bi_web_login_failed, bi_web_otp_required, bi_web_session_expired, bi_web_login_paused, bi_web_timeout, bi_web_navigation_failed o bi_web_blocked.

bi view list#

Lista las vistas BI de este proyecto con su destino, cadencia y estado.

bi view list

Sin parámetros.

screenrig bi view list

data.items contiene todas las vistas del proyecto, cada una con su embed_url.

bi view show#

Inspecciona una vista, su embed_url y cómo le fue la última vez en pantalla.

bi view show <id>
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoLa vista (biv_…).
screenrig bi view show biv_01EXAMPLEVIEW0000000000

La respuesta lleva kind, name, connection_id (ausente en un enlace público), target (view y rotate_sheets para Tableau), refresh_s, rotate_s, fit, status, embed_url y revision; una vista web también lleva wait_for, wait_ms y clip. status contiene last_ok_at y last_error con un code y un detail: bi_upstream_refused cuando Grafana rechazó el token, bi_upstream_unavailable cuando no pudo renderizar, o uno de los códigos bi_web_* de una vista web.

bi view update#

Cambia el nombre, el destino, la cadencia o el ajuste de una vista.

bi view update <id> [--name NAME] [--refresh DURATION] [--fit contain|cover|fill] [--rotate DURATION]
    [--url URL | --dashboard UID | --workspace ID | --view WORKBOOK/VIEW | --public-url URL] [--report ID]
    [--page NAME]... [--all-pages] [--rotate-sheets] [--panel ID] [--from TIME] [--to TIME]
    [--var NAME=VALUE]... [--theme dark|light] [--timezone ZONE] [--wait-for CSS | --clear-wait-for]
    [--wait-ms MS] [--clip CSS | --clear-clip] [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoLa vista (biv_…).
--name NAMEstringnosin cambiosCambia el nombre de la vista.
--url URLstringnosin cambiosLa dirección de un dashboard, informe o vista de Tableau, o la dirección de la página de una vista web; sustituye todo el destino. No con las demás opciones de destino.
--dashboard UIDstringnosin cambiosGrafana: muestra este dashboard; sustituye todo el destino.
--workspace IDstringnosin cambiosPower BI: muestra un informe de esta área de trabajo, con --report; sustituye todo el destino.
--report IDstringnosin cambiosPower BI: muestra este informe, en --workspace o en el actual.
--view WORKBOOK/VIEWstringnosin cambiosTableau: muestra esta vista; sustituye todo el destino.
--public-url URLstringnosin cambiosUn enlace público; sustituye todo el destino.
--rotate-sheetsbooleannoapagadoTableau: rota las hojas publicadas del libro de trabajo, con --rotate.
--page NAMEstringnosin cambiosPower BI: las páginas que se muestran, por nombre o nombre para mostrar. Repetible; sustituye las páginas actuales.
--all-pagesbooleannoapagadoPower BI: rota por todas las páginas visibles.
--rotate DURATIONstringnosin cambiosPower BI: cuánto tiempo se muestra cada página, de 10s a 1h, o 0 para una sola página. Tableau: cuánto tiempo se muestra cada hoja, o 0 para dejar de rotarlas.
--panel IDstringnosin cambiosGrafana: muestra solo este panel.
--from TIMEstringnosin cambiosGrafana: inicio del intervalo de tiempo.
--to TIMEstringnosin cambiosGrafana: fin del intervalo de tiempo.
--var NAME=VALUEstringnosin cambiosGrafana: define una variable del dashboard. Repetible; define una variable y conserva las demás.
--theme THEMEstringnosin cambiosTema de Grafana, dark o light.
--timezone ZONEstringnosin cambiosGrafana: zona horaria del dashboard.
--refresh DURATIONstringnosin cambiosCon qué frecuencia se vuelve a dibujar la imagen o se actualiza el informe: Grafana de 30s a 24h; web de 60s a 24h; Power BI y Tableau de 60s a 24h, o 0 para ninguna.
--fit FITstringnosin cambiosGrafana y web: cómo llena la imagen la pantalla, contain, cover o fill.
--wait-for CSSstringnosin cambiosWeb: el elemento que aparece cuando la página está lista y con la sesión iniciada. No con --clear-wait-for.
--clear-wait-forbooleannoapagadoWeb: deja de esperar un elemento. No con --wait-for.
--wait-ms MSintegernosin cambiosWeb: milisegundos de espera tras estar lista la página, de 0 a 10000; 0 elimina la espera.
--clip CSSstringnosin cambiosWeb: la parte de la página que se dibuja. No con --clear-clip.
--clear-clipbooleannoapagadoWeb: vuelve a dibujar la página completa. No con --clip.
--expect-rev REVISIONintegernoningunoRechaza el cambio salvo que la vista esté en esta revisión (revision_conflict, salida 6).
screenrig bi view update biv_01EXAMPLEVIEW0000000000 --wait-for '#dashboard.loaded' --wait-ms 2000
screenrig bi view update biv_01EXAMPLEVIEW0000000000 --clear-wait-for --clear-clip
screenrig bi view update biv_01EXAMPLEVIEW0000000000 --theme light --var host=web2
screenrig bi view update biv_01EXAMPLEVIEW0000000000 --dashboard def456 --panel 2 --expect-rev 3
screenrig bi view update biv_01EXAMPLEVIEW0000000000 --page Overview --page Detail --rotate 45s
screenrig bi view update biv_01EXAMPLEVIEW0000000000 --view Sales/Detail

Se requiere al menos un cambio. --url, --dashboard, --workspace y --public-url sustituyen todo el destino, mientras que --panel, --from, --to, --var, --theme y --timezone cambian el destino actual de Grafana de la vista, --report, --page y --all-pages el de Power BI, y --view y --rotate-sheets el de Tableau. --page sustituye la lista de páginas; para vaciarla, indique de nuevo --workspace y --report con --rotate 0. --rotate 0 por sí solo hace que una vista de Tableau deje de rotar sus hojas. --url y --public-url no admiten ninguna otra opción de destino salvo --rotate-sheets, y una vista de un enlace público cambia su destino solo con --public-url. Un destino nuevo borra el estado y retira sus renderizados en caché, y las pantallas recogen el cambio en su siguiente actualización sin volver a publicar. Una vista conserva su conexión y su tipo.

bi view test#

Comprueba una vista de verdad: un renderizado de Grafana o web, un token de inserción de Power BI, una búsqueda de Tableau o un enlace público.

bi view test <id> [--output FILE [--width PIXELS] [--height PIXELS]]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoLa vista (biv_…).
--output FILEstringnoningunoGrafana o web: guarda aquí el PNG renderizado en lugar de ejecutar las comprobaciones. Una vista de Power BI o Tableau y un enlace público no tienen ninguno (not_found).
--width PIXELSintegerno1920Ancho de la imagen guardada, de 1 a 10000. Requiere --output.
--height PIXELSintegerno1080Altura de la imagen guardada, de 1 a 10000. Requiere --output.
screenrig bi view test biv_01EXAMPLEVIEW0000000000
screenrig bi view test biv_01EXAMPLEVIEW0000000000 --output lobby.png --width 1920 --height 1080

Grafana: una vista de conexión se renderiza de verdad, fuera de la caché compartida y sin tocar el estado de la vista. data.ok es false con el motivo de Grafana cuando rechaza el token, no tiene renderizador o no conoce el dashboard; una prueba fallida es un dato, salida 0. Web: una vista de conexión se dibuja una vez en el navegador del servidor (render), fuera de la caché compartida, y un dibujo fallido indica el motivo. Abra el PNG guardado y revíselo antes de publicar. Para un enlace público, la prueba obtiene la página y comprueba que Grafana permite que la página de inserción de la vista la incruste en un marco.

Tableau: una vista de conexión inicia sesión como el usuario de la conexión y busca la vista (signin, view); una vista que el usuario no puede ver, o un nombre con mayúsculas o minúsculas incorrectas, es una comprobación view fallida que nombra la ruta. Una vista de Tableau Public consulta a Tableau Public si existe el libro de trabajo. Power BI: una vista de conexión lee el informe (report) y genera para él un token de inserción real de solo visualización (embed_token); cuando Power BI rechaza, se muestra su propio motivo, como un conjunto de datos con seguridad a nivel de fila, un 401 o 403 (ajuste de tenant o rol del área de trabajo) o un informe que la aplicación no puede ver. Un enlace Publish to web se obtiene y se leen sus encabezados de enmarcado.

La prueba no juzga lo que muestra la imagen, las páginas que nombra la vista, la capacidad ni una lista de dominios permitidos de Tableau. data contiene at, ok y checks, cada comprobación con name, ok, un warn opcional y un detail; un renderizado de Grafana o web añade width, height y bytes. Con --output, data contiene en su lugar id, file, bytes, width y height.

bi view delete#

Elimina una vista.

bi view delete <id> [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoLa vista (biv_…).
--expect-rev REVISIONintegernoningunoRechaza la eliminación salvo que la vista esté en esta revisión (revision_conflict, salida 6).
screenrig bi view delete biv_01EXAMPLEVIEW0000000000
screenrig bi view delete biv_01EXAMPLEVIEW0000000000 --expect-rev 3

Una pantalla que aún muestra el embed_url de la vista responde not_found hasta que cambie su lista de reproducción. La respuesta es data.id y data.deleted true.

Otros grupos de comandos