Docs Menu
Docs Home
/ /

Introducción al SDK de incrustación

Puede incrustar un gráfico o panel en una aplicación web con el Incorporación de SDK que permite ajustes más flexibles de la configuración y la representación.

1

Desde Dashboards En la página, seleccione el panel que contiene el gráfico que desea integrar. Para obtener instrucciones sobre cómo acceder a los paneles, consulte Paneles.

2

Desde el panel, haga clic en la esquina superior derecha del gráfico para acceder a su información de incrustación. Seleccione Embed chart en el menú desplegable.

Nota

Si un gráfico está en un panel con la función de incrustación habilitada, la opción Embed Chart se habilita automáticamente. Por lo tanto, no se puede seleccionar la opción Embed chart para gráficos en paneles con la función de incrustación habilitada.

3

Si ya ha habilitado el uso compartido externo en la fuente de datos que usa este gráfico, omita este paso. Si aún no ha habilitado la incrustación en la fuente de datos, puede hacerlo ahora. Haga clic en el enlace Configure external sharing.

4
Incrustar gráfico no autenticado
haga clic para ampliar
5
6

Especifique los campos en los que los visores de gráficos pueden filtrar datos. De forma predeterminada, no se especifica ningún campo, lo que significa que el gráfico no se puede filtrar hasta que se permita explícitamente al menos un campo.

Alternativamente, puedes especificar todos los campos en la gráfica seleccionando Allow all fields in the data source used in this chart.

Para obtener más información sobre los campos filtrables, consulte Especificar campos filtrables.

7
8

Necesitará los valores de URL base e ID de gráfico en el código de su aplicación web.

1

En la Dashboards página, seleccione el panel que contiene el gráfico que desea incrustar. Para obtener instrucciones sobre cómo acceder a los paneles, consulte Paneles.

2

Desde el panel, haga clic en la esquina superior derecha del gráfico para acceder a su información de incrustación. Seleccione Embed chart en el menú desplegable.

Nota

Si un gráfico está en un panel con la función de incrustación habilitada, la opción Embed Chart se habilita automáticamente. Por lo tanto, no se puede seleccionar la opción Embed chart para gráficos en paneles con la función de incrustación habilitada.

3

Si ya ha habilitado el uso compartido externo en la fuente de datos que usa este gráfico, omita este paso. Si aún no ha habilitado la incrustación en la fuente de datos, puede hacerlo ahora. Haga clic en el enlace Configure external sharing.

4
Incrustar gráfico autenticado
haga clic para ampliar
5
6

Puede especificar una función para inyectar un documento de filtro de MongoDB para cada usuario que visualice el gráfico. Esto resulta útil para representar gráficos específicos del usuario.

Ejemplo

La siguiente función de filtro solo procesa datos donde ownerId El campo de un documento coincide con el valor del campo sub del token del proveedor de autenticación de incrustación:

function getFilter(context) {
return { ownerId: context.token.sub };
}

Tip

Para obtener más información sobre cómo inyectar filtros por usuario, consulte Inyectar filtros específicos del usuario.

7

Especifique los campos en los que los visores de gráficos pueden filtrar datos. De forma predeterminada, no se especifica ningún campo, lo que significa que el gráfico no se puede filtrar hasta que se permita explícitamente al menos un campo.

Tip

Para obtener más información sobre los campos filtrables, consulte Especificar campos filtrables.

8

Usa estos valores en el código de tu aplicación junto con los atributos de tu proveedor de autenticación embebida para incrustar tu gráfica.

1

Si Atlas Charts aún no se muestra, haga clic en Visualization debajo del encabezado Services en la barra lateral de la interfaz de usuario de Atlas.

Atlas lanza una instancia de Gráficos vinculados a su proyecto.

2

Haga clic en Embedded Visualizations debajo del encabezado Services en la barra lateral Visualization.

El Se muestra la página Visualizaciones integradas.

3

Nota

Debe ser el propietario del proyecto para acceder a la Authentication Settings página. Como usuario no administrador, puede usar gráficos incrustados, pero debe obtener una clave del propietario del proyecto.

Haz clic en la pestaña Authentication Settings.

Se muestra la pestaña Configuración de autenticación.

4
  1. Desde la sección Authentication providers, haga clic en Add.

  2. En el campo Name, ingrese un nombre descriptivo para el proveedor.

  3. De la lista Provider, seleccione el tipo de proveedor que desea agregar.

  4. Configurar gráficos para verificar tokens del proveedor.

    Los valores que debes ingresar varían según el proveedor que hayas seleccionado:

    • Google

      En el campo Client ID, ingrese el ID de cliente de API de Google de su aplicación, en el siguiente formato:

      <prefix>.apps.googleusercontent.com
    • JWT personalizado

      Proporcione los siguientes valores:

      Campo
      Valor

      Algoritmo de firma

      Algoritmo de cifrado con el que se La firmaJWT está codificada.

      Debe ser uno de los siguientes:

      Clave de firma

      Secreto o clave utilizada para validar la firma de JWT. Si los tokens no están firmados, Charts los considera inválidos. Si proporcionas una clave incorrecta, Charts no puede verificar las firmas de tokens y las considera inválidas.

      El valor que debe proporcionar depende de Signing Algorithm:

      • HS256:Ingrese la clave secreta utilizada para firmar el JWT.

      • RS256: Seleccione JWK or JWKS URL o PEM Public Key.

        Si JWK or JWKS URL selecciona, Charts recupera la clave del archivo JWK o JWKS en la URL especificada. Charts utiliza la clave para validar el token web JSON. Si el archivo contiene varias claves, Charts prueba cada una hasta encontrar una coincidencia. Introduzca la URL que contiene el archivo JWK o JWKS.

        Si PEM Public Key selecciona, Charts usará la clave pública especificada para verificar el token web JSON. Introduzca la clave pública del par de claves utilizado para firmar el JWT. La clave pública debe estar en formato PEM, como se muestra en el siguiente ejemplo:

        -----BEGIN CERTIFICATE-----
        MIIDfjCCAmagAwIBAgIBBzANBgkqhkiG9w0BAQUFADB0MRcwFQYDVQQDEw5LZXJu
        ZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYw
        FAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UE
        BhMCVVMwHhcNMTQwNzE3MTYwMDAwWhcNMjAwNzE3MTYwMDAwWjBsMQ8wDQYDVQQD
        EwZzZXJ2ZXIxDzANBgNVBAsTBktlcm5lbDEQMA4GA1UEChMHTW9uZ29EQjEWMBQG
        A1UEBxMNTmV3IFlvcmsgQ2l0eTERMA8GA1UECBMITmV3IFlvcmsxCzAJBgNVBAYT
        AlVTMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp76KJeDczBqjSPJj
        5f8DHdtrWpQDK9AWNDlslWpi6+pL8hMqwbX0D7hC2r3kAgccMyFoNIudPqIXfXVd
        1LOh6vyY+jveRvqjKW/UZVzZeiL4Gy4bhke6R8JRC3O5aMKIAbaiQUAI1Nd8LxIt
        LGvH+ia/DFza1whgB8ym/uzVQB6igOifJ1qHWJbTtIhDKaW8gvjOhv5R3jzjfLEb
        R9r5Q0ZyE0lrO27kTkqgBnHKPmu54GSzU/r0HM3B+Sc/6UN+xNhNbuR+LZ+EvJHm
        r4de8jhW8wivmjTIvte33jlLibQ5nYIHrlpDLEwlzvDGaIio+OfWcgs2WuPk98MU
        tht0IQIDAQABoyMwITAfBgNVHREEGDAWgglsb2NhbGhvc3SCCTEyNy4wLjAuMTAN
        BgkqhkiG9w0BAQUFAAOCAQEANoYxvVFsIol09BQA0fwryAye/Z4dYItvKhmwB9VS
        t99DsmJcyx0P5meB3Ed8SnwkD0NGCm5TkUY/YLacPP9uJ4SkbPkNZ1fRISyShCCn
        SGgQUJWHbCbcIEj+vssFb91c5RFJbvnenDkQokRvD2VJWspwioeLzuwtARUoMH3Y
        qg0k0Mn7Bx1bW1Y6xQJHeVlnZtzxfeueoFO55ZRkZ0ceAD/q7q1ohTXi0vMydYgu
        1CB6VkDuibGlv56NdjbttPJm2iQoPaez8tZGpBo76N/Z1ydan0ow2pVjDXVOR84Y
        2HSZgbHOGBiycNw2W3vfw7uK0OmiPRTFpJCmewDjYwZ/6w==
        -----END CERTIFICATE-----

      Audiencia(opcional)

      Afirmación de audiencia que debe estar presente en el JWT para que Charts lo considere válido.

  5. Haga clic en Save.

1

En la Dashboards página, seleccione el panel que desea incrustar. Para obtener instrucciones sobre cómo acceder a los paneles, consulte Paneles.

2

Desde el panel, haga clic en la esquina superior derecha para acceder a la información de incrustación. Seleccione Embed en el menú desplegable.

3

Si ya ha habilitado el uso compartido externo en la fuente de datos que usa este panel, omita este paso. Si aún no ha habilitado la incrustación en la fuente de datos, puede hacerlo ahora. Haga clic en el enlace Configure.

4
5
6

Especifique los campos en los que los usuarios del panel pueden filtrar datos. De forma predeterminada, no se especifica ningún campo, lo que significa que el panel no se puede filtrar hasta que se permita explícitamente al menos un campo.

Alternativamente, puede especificar todos los campos en su panel seleccionando Allow all fields in the data source used in this dashboard.

Para obtener más información sobre los campos filtrables, consulte Especificar campos filtrables.

7
8
9
1

En la Dashboards página, seleccione el panel que desea incrustar. Para obtener instrucciones sobre cómo acceder a los paneles, consulte Paneles.

2

Desde el panel, haga clic en la esquina superior derecha para acceder a la información de incrustación. Seleccione Embed en el menú desplegable.

3

Si ya ha habilitado el uso compartido externo en la fuente de datos que usa este panel, omita este paso. Si aún no ha habilitado la incrustación en la fuente de datos, puede hacerlo ahora. Haga clic en el enlace Configure.

4
5
6

Si ya configuraste los proveedores de autenticación, omite este paso. Si aún no has configurado los proveedores de autenticación, puedes hacerlo ahora.

Para obtener más información, consulte Configurar proveedores de autenticación de incrustación.

  1. Haga clic en Add.

  2. Especifique un nombre para la integración de autenticación.

  3. Seleccione un proveedor y especifique la configuración del proveedor.

  4. Haga clic en Save.

  5. Haga clic en Back to Embed Dashboard.

7

Puede especificar una función para inyectar un documento de filtro de MongoDB para cada usuario que acceda al panel. Esto resulta útil para renderizar paneles específicos de cada usuario.

Ejemplo

La siguiente función de filtro solo representa datos donde el campo ownerId de un documento coincide con el valor del campo sub del token del proveedor de autenticación de incrustación:

function getFilter(context) {
return { ownerId: context.token.sub };
}

Tip

Para obtener más información sobre cómo inyectar filtros por usuario, consulte Inyectar filtros específicos del usuario.

8

Especifique los campos en los que los usuarios del panel pueden filtrar datos. De forma predeterminada, no se especifica ningún campo, lo que significa que el panel no se puede filtrar hasta que se permita explícitamente al menos un campo.

Alternativamente, puede especificar todos los campos en su panel seleccionando Allow all fields in the data source used in this dashboard.

Para obtener más información sobre los campos filtrables, consulte Especificar campos filtrables.

9
10

Continúe con los pasos restantes para crear una nueva aplicación en la que mostrar su gráfico.

Nota

MongoDB ofrece una aplicación de ejemplo prediseñada en el repositorio de GitHub que muestra cómo usar el SDK de incrustación para mostrar un gráfico incrustado no autenticado.

Continúe con los pasos restantes para crear una nueva aplicación en la que mostrar su gráfico.

Nota

MongoDB ofrece un ejemplo prediseñado en el repositorio de GitHub que le muestra cómo usar el SDK de incrustación para autenticar un gráfico incrustado usando su proveedor de autenticación.

Continúe con los pasos restantes para crear una nueva aplicación en la que mostrar su panel de control.

Nota

MongoDB ofrece un ejemplo prediseñado de un panel incrustado sin autenticar en el repositorio de GitHub. Este ejemplo muestra cómo usar el SDK de incrustación para mostrar un panel incrustado sin autenticar.

Continúe con los pasos restantes para crear una nueva aplicación en la que mostrar su tablero.

Nota

MongoDB ofrece ejemplos de paneles incrustados autenticados en el repositorio de GitHub. Estos ejemplos muestran cómo usar el SDK de incrustación para autenticar un panel incrustado mediante proveedores de autenticación de Google o JWT.

Para saber cómo instalar el SDK de incrustación en su aplicación, consulte Instalar el SDK de incrustación.

Agregue el siguiente código a su aplicación web para ejecutarlo donde desea que se represente su gráfico:

Nota

Reemplace la URL base y el ID del gráfico con los valores del gráfico que desea mostrar. La URL base y el ID del gráfico se muestran en la ventana modal de opciones de incrustación.

import ChartsEmbedSDK from "@mongodb-js/charts-embed-dom";
const sdk = new ChartsEmbedSDK({
baseUrl: "https://charts.mongodb.com/charts-embedding-examples-wgffp", // ~REPLACE~ with the Base URL from your Embed Chart dialog.
});
const chart = sdk.createChart({
chartId: "735cfa75-15b8-483a-bc2e-7c6659511c7c", // ~REPLACE~ with the Chart ID from your Embed Chart dialog.
height: "700px",
// Additional options go here
});
chart.render(document.getElementById("chart"));

Añade el siguiente código a tu aplicación web para que se ejecute donde quieras que se muestre el gráfico. El siguiente ejemplo se autentica con un token de Google.

import ChartsEmbedSDK from "@mongodb-js/charts-embed-dom";
const id_token = googleUser.getAuthResponse().id_token;
const ChartsEmbedSDK = window.ChartsEmbedSDK;
const sdk = new ChartsEmbedSDK({
baseUrl: "https://charts.mongodb.com/charts-embedding-examples-wgffp", // Optional: replace with your Charts URL
getUserToken: () => id_token,
});
const chart = sdk.createChart({
chartId: "8d4dff93-e7ca-4ccd-a622-e20e8a100197", // Optional: replace with your Chart ID
});
document.body.classList.toggle("logged-in", true);
chart.render(document.getElementById("chart"));

Agregue el siguiente código a su aplicación web para ejecutarlo donde desea que se represente su panel.

Nota

Reemplace el Dashboards Base URL y el ID del panel con los valores del panel que desea mostrar. El Dashboards Base URL y el ID del panel se muestran en la ventana modal de opciones de inserción.

import ChartsEmbedSDK from "@mongodb-js/charts-embed-dom";
const sdk = new ChartsEmbedSDK({
baseUrl: "https://charts.mongodb.com/charts-embedding-examples-wgffp", // ~REPLACE~ with the Base URL from your Embed Dashboard dialog.
});
const dashboard = sdk.createDashboard({
dashboardId: "735cfa75-15b8-483a-bc2e-7c6659511c7c", // ~REPLACE~ with the Dashboard ID from your Embed Dashboard dialog.
height: "700px",
widthMode: "scale",
heightMode: "fixed"
// Additional options go here
});
dashboard.render(document.getElementById("dashboard"));

Agrega el siguiente código a tu aplicación web para ejecutarla donde quieras que se muestre el panel. El siguiente ejemplo se autentica con un token de Google.

import ChartsEmbedSDK from "@mongodb-js/charts-embed-dom";
const id_token = googleUser.getAuthResponse().id_token;
const ChartsEmbedSDK = window.ChartsEmbedSDK;
const sdk = new ChartsEmbedSDK({
baseUrl: "https://charts.mongodb.com/charts-embedding-examples-wgffp", // Optional: ~REPLACE~ with your Base URL
getUserToken: () => id_token,
});
// Read https://dochub.mongodb.org/core/charts-dashboards-embedded-dashboard-options for more options
const dashboard = sdk.createDashboard({
// Optional: ~REPLACE~ with your Dashboard ID
dashboardId: "620c9847-fc5c-4199-865d-27b2ae20db07",
theme: "dark",
widthMode: "scale",
});
document.body.classList.toggle("logged-in", true);
dashboard.render(document.getElementById("dashboard"));

Volver

SDK de incrustación

En esta página