Incorporar todas las funciones de la QuickSight consola de Amazon para los usuarios registrados - Amazon QuickSight

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Incorporar todas las funciones de la QuickSight consola de Amazon para los usuarios registrados

importante

Amazon QuickSight tiene nuevas API operaciones para incorporar análisis: GenerateEmbedUrlForAnonymousUser yGenerateEmbedUrlForRegisteredUser.

Puede seguir utilizando las GetSessionEmbedUrl API operaciones GetDashboardEmbedUrl y para incrustar los paneles y la QuickSight consola, pero no incluyen las funciones de incrustación más recientes. Para obtener más información sobre la incrustación mediante las API operaciones anteriores, consulte. Integración de análisis mediante las operaciones de la API GetDashboardEmbedURL y GetSessionEmbedURL

 Se aplica a: Enterprise Edition 
   Público objetivo: QuickSight desarrolladores de Amazon 

Con la edición Enterprise, además de ofrecer cuadros de mando de solo lectura, también puedes ofrecer la experiencia de Amazon QuickSight Console en un portal de creación personalizado. Con este enfoque, permite a sus usuarios crear orígenes de datos, conjuntos de datos y análisis. En la misma interfaz, pueden crear, publicar y ver paneles. Si desea restringir algunos de esos permisos, también puede hacerlo.

Los usuarios que accedan a QuickSight través de una consola integrada deben pertenecer al grupo de autores o administradores de seguridad. Los lectores no tienen acceso suficiente para utilizar la QuickSight consola para la creación, independientemente de si está integrada o forma parte de ella. AWS Management Console Sin embargo, los autores y los administradores pueden seguir accediendo a los paneles integrados. Si desea restringir los permisos a algunas de las funciones de creación, puede añadir un perfil de permisos personalizado al usuario con la UpdateUserAPIoperación. Utilice la RegisterUserAPIoperación para añadir un nuevo usuario con un perfil de permisos personalizado adjunto. Para obtener más información, consulte las siguientes secciones:

En las siguientes secciones, encontrarás información detallada sobre cómo configurar los QuickSight paneles de Amazon integrados para los usuarios registrados.

Paso 1: configuración de permisos

En la siguiente sección, puede encontrar cómo configurar los permisos de la aplicación de backend o del servidor web. Esta tarea requiere acceso administrativo aIAM.

Cada usuario que accede a una QuickSight asume un rol que le da QuickSight acceso a Amazon y permisos para acceder a la sesión de consola. Para que esto sea posible, crea un IAM rol en tu AWS cuenta. Asocie una IAM política al rol para proporcionar permisos a cualquier usuario que lo asuma. Añada quicksight:RegisterUser permisos para garantizar que el lector pueda acceder QuickSight en modo de solo lectura y no tenga acceso a ningún otro dato o función de creación. El IAM rol también debe proporcionar permisos para recuperar la sesión de la consola. URLs Para ello, añada quicksight:GenerateEmbedUrlForRegisteredUser.

Puede crear una condición en su IAM política que limite los dominios que los desarrolladores pueden incluir en el AllowedDomains parámetro de una GenerateEmbedUrlForAnonymousUser API operación. El parámetro AllowedDomains es opcional. Como desarrollador, tiene la opción de anular los dominios estáticos que están configurados en el QuickSight menú Administrar. En su lugar, puedes enumerar hasta tres dominios o subdominios que pueden acceder a uno generado. URL A continuación, URL se incrusta en el sitio web que crees. Solo los dominios que aparecen en el parámetro pueden acceder al panel integrado. Sin esta condición, usted puede incluir cualquier dominio de Internet en el parámetro AllowedDomains.

La siguiente política de ejemplo ofrece estos permisos.

{ "Version": "2012-10-17", "Statement": [ { "Action": "quicksight:RegisterUser", "Resource": "*", "Effect": "Allow" }, { "Effect": "Allow", "Action": [ "quicksight:GenerateEmbedUrlForRegisteredUser" ], "Resource": [ "arn:partition:quicksight:region:accountId:user/namespace/userName" ], "Condition": { "ForAllValues:StringEquals": { "quicksight:AllowedEmbeddingDomains": [ "https://my.static.domain1.com", "https://*.my.static.domain2.com" ] } } } ] }

El siguiente ejemplo de política proporciona permiso para recuperar una sesión de consolaURL. Puede utilizar la política sin quicksight:RegisterUser si va a crear usuarios antes de que accedan a una sesión integrada.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "quicksight:GenerateEmbedUrlForRegisteredUser" ], "Resource": [ "arn:partition:quicksight:region:accountId:user/namespace/userName" ], "Condition": { "ForAllValues:StringEquals": { "quicksight:AllowedEmbeddingDomains": [ "https://my.static.domain1.com", "https://*.my.static.domain2.com" ] } } } ] }

Por último, la IAM identidad de su aplicación debe tener asociada una política de confianza para permitir el acceso al rol que acaba de crear. Esto significa que cuando un usuario accede a tu aplicación, esta puede asumir la función en nombre del usuario y aprovisionarlo. QuickSight En el siguiente ejemplo, se muestra una muestra de política de confianza.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowLambdaFunctionsToAssumeThisRole", "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Sid": "AllowEC2InstancesToAssumeThisRole", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Para obtener más información sobre las políticas de confianza para OpenID Connect o la SAML autenticación, consulte las siguientes secciones de la Guía del IAMusuario:

Paso 2: generarlo URL con el código de autenticación adjunto

En la siguiente sección, puede obtener información sobre cómo autenticar a su usuario y obtener la sesión URL de consola integrable en su servidor de aplicaciones.

Cuando un usuario accede a tu aplicación, la aplicación asume la IAM función en nombre del usuario. A continuación, agrega el usuario a QuickSight, si ese usuario aún no existe. A continuación, transfiere un identificador como ID de sesión de rol único.

Al realizar los pasos descritos, se garantiza que cada espectador de la sesión de la consola esté aprovisionado de forma única. QuickSight También aplica la configuración por usuario, como la seguridad de nivel de fila y los valores predeterminados dinámicos de los parámetros.

En los siguientes ejemplos, se realiza la IAM autenticación en nombre del usuario. Este código se ejecuta en el servidor de aplicaciones.

import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.auth.AWSCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.quicksight.AmazonQuickSight; import com.amazonaws.services.quicksight.AmazonQuickSightClientBuilder; import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForRegisteredUserRequest; import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForRegisteredUserResult; import com.amazonaws.services.quicksight.model.RegisteredUserEmbeddingExperienceConfiguration; import com.amazonaws.services.quicksight.model.RegisteredUserQuickSightConsoleEmbeddingConfiguration; /** * Class to call QuickSight AWS SDK to get url for QuickSight console embedding. */ public class GetQuicksightEmbedUrlRegisteredUserQSConsoleEmbedding { private final AmazonQuickSight quickSightClient; public GetQuicksightEmbedUrlRegisteredUserQSConsoleEmbedding() { this.quickSightClient = AmazonQuickSightClientBuilder .standard() .withRegion(Regions.US_EAST_1.getName()) .withCredentials(new AWSCredentialsProvider() { @Override public AWSCredentials getCredentials() { // provide actual IAM access key and secret key here return new BasicAWSCredentials("access-key", "secret-key"); } @Override public void refresh() { } } ) .build(); } public String getQuicksightEmbedUrl( final String accountId, final String userArn, // Registered user arn to use for embedding. Refer to Get Embed Url section in developer portal to find out how to get user arn for a QuickSight user. final List<String> allowedDomains, // Runtime allowed domain for embedding final String initialPath ) throws Exception { final RegisteredUserEmbeddingExperienceConfiguration experienceConfiguration = new RegisteredUserEmbeddingExperienceConfiguration() .withQuickSightConsole(new RegisteredUserQuickSightConsoleEmbeddingConfiguration().withInitialPath(initialPath)); final GenerateEmbedUrlForRegisteredUserRequest generateEmbedUrlForRegisteredUserRequest = new GenerateEmbedUrlForRegisteredUserRequest(); generateEmbedUrlForRegisteredUserRequest.setAwsAccountId(accountId); generateEmbedUrlForRegisteredUserRequest.setUserArn(userArn); generateEmbedUrlForRegisteredUserRequest.setAllowedDomains(allowedDomains); generateEmbedUrlForRegisteredUserRequest.setExperienceConfiguration(experienceConfiguration); final GenerateEmbedUrlForRegisteredUserResult generateEmbedUrlForRegisteredUserResult = quickSightClient.generateEmbedUrlForRegisteredUser(generateEmbedUrlForRegisteredUserRequest); return generateEmbedUrlForRegisteredUserResult.getEmbedUrl(); } }
global.fetch = require('node-fetch'); const AWS = require('aws-sdk'); function generateEmbedUrlForRegisteredUser( accountId, dashboardId, openIdToken, // Cognito-based token userArn, // registered user arn roleArn, // IAM user role to use for embedding sessionName, // Session name for the roleArn assume role allowedDomains, // Runtime allowed domain for embedding getEmbedUrlCallback, // GetEmbedUrl success callback method errorCallback // GetEmbedUrl error callback method ) { const stsClient = new AWS.STS(); let stsParams = { RoleSessionName: sessionName, WebIdentityToken: openIdToken, RoleArn: roleArn } stsClient.assumeRoleWithWebIdentity(stsParams, function(err, data) { if (err) { console.log('Error assuming role'); console.log(err, err.stack); errorCallback(err); } else { const getDashboardParams = { "AwsAccountId": accountId, "ExperienceConfiguration": { "QuickSightConsole": { "InitialPath": '/start' } }, "UserArn": userArn, "AllowedDomains": allowedDomains, "SessionLifetimeInMinutes": 600 }; const quicksightGetDashboard = new AWS.QuickSight({ region: process.env.AWS_REGION, credentials: { accessKeyId: data.Credentials.AccessKeyId, secretAccessKey: data.Credentials.SecretAccessKey, sessionToken: data.Credentials.SessionToken, expiration: data.Credentials.Expiration } }); quicksightGetDashboard.generateEmbedUrlForRegisteredUser(getDashboardParams, function(err, data) { if (err) { console.log(err, err.stack); errorCallback(err); } else { const result = { "statusCode": 200, "headers": { "Access-Control-Allow-Origin": "*", // Use your website domain to secure access to GetEmbedUrl API "Access-Control-Allow-Headers": "Content-Type" }, "body": JSON.stringify(data), "isBase64Encoded": false } getEmbedUrlCallback(result); } }); } }); }
import json import boto3 from botocore.exceptions import ClientError # Create QuickSight and STS clients qs = boto3.client('quicksight', region_name='us-east-1') sts = boto3.client('sts') # Function to generate embedded URL # accountId: AWS account ID # userArn: arn of registered user # allowedDomains: Runtime allowed domain for embedding # roleArn: IAM user role to use for embedding # sessionName: session name for the roleArn assume role def generateEmbeddingURL(accountId, userArn, allowedDomains, roleArn, sessionName): try: assumedRole = sts.assume_role( RoleArn = roleArn, RoleSessionName = sessionName, ) except ClientError as e: return "Error assuming role: " + str(e) else: assumedRoleSession = boto3.Session( aws_access_key_id = assumedRole['Credentials']['AccessKeyId'], aws_secret_access_key = assumedRole['Credentials']['SecretAccessKey'], aws_session_token = assumedRole['Credentials']['SessionToken'], ) try: quickSightClient = assumedRoleSession.client('quicksight', region_name='us-east-1') experienceConfiguration = { "QuickSightConsole": { "InitialPath": "/start" } } response = quickSightClient.generate_embed_url_for_registered_user( AwsAccountId = accountId, ExperienceConfiguration = experienceConfiguration, UserArn = userArn, AllowedDomains = allowedDomains, SessionLifetimeInMinutes = 600 ) return { 'statusCode': 200, 'headers': {"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Headers": "Content-Type"}, 'body': json.dumps(response), 'isBase64Encoded': bool('false') } except ClientError as e: return "Error generating embedding url: " + str(e)

El siguiente ejemplo muestra el archivo JavaScript (Node.js) que puede usar en el servidor de aplicaciones URL para generar la sesión de consola integrada. Puede usarlo URL en su sitio web o aplicación para mostrar la sesión de la consola.

const AWS = require('aws-sdk'); const https = require('https'); var quicksightClient = new AWS.Service({ apiConfig: require('./quicksight-2018-04-01.min.json'), region: 'us-east-1', }); quicksightClient.generateEmbedUrlForRegisteredUser({ 'AwsAccountId': '111122223333', 'ExperienceConfiguration': { 'QuickSightConsole': { 'InitialPath': '/start' } }, 'UserArn': 'REGISTERED_USER_ARN', 'AllowedDomains': allowedDomains, 'SessionLifetimeInMinutes': 100 }, function(err, data) { console.log('Errors: '); console.log(err); console.log('Response: '); console.log(data); });
// The URL returned is over 900 characters. For this example, we've shortened the string for // readability and added ellipsis to indicate that it's incomplete. { Status: 200, EmbedUrl: 'https://quicksightdomain/embed/12345/dashboards/67890.., RequestId: '7bee030e-f191-45c4-97fe-d9faf0e03713' }

El siguiente ejemplo muestra el. NETCódigo /C # que puede usar en el servidor de aplicaciones para generar el código URL para la sesión de consola integrada. Puede usarlo URL en su sitio web o aplicación para mostrar la consola.

using System; using Amazon.QuickSight; using Amazon.QuickSight.Model; namespace GenerateDashboardEmbedUrlForRegisteredUser { class Program { static void Main(string[] args) { var quicksightClient = new AmazonQuickSightClient( AccessKey, SecretAccessKey, SessionToken, Amazon.RegionEndpoint.USEast1); try { RegisteredUserQuickSightConsoleEmbeddingConfiguration registeredUserQuickSightConsoleEmbeddingConfiguration = new RegisteredUserQuickSightConsoleEmbeddingConfiguration { InitialPath = "/start" }; RegisteredUserEmbeddingExperienceConfiguration registeredUserEmbeddingExperienceConfiguration = new RegisteredUserEmbeddingExperienceConfiguration { QuickSightConsole = registeredUserQuickSightConsoleEmbeddingConfiguration }; Console.WriteLine( quicksightClient.GenerateEmbedUrlForRegisteredUserAsync(new GenerateEmbedUrlForRegisteredUserRequest { AwsAccountId = "111122223333", ExperienceConfiguration = registeredUserEmbeddingExperienceConfiguration, UserArn = "REGISTERED_USER_ARN", AllowedDomains = allowedDomains, SessionLifetimeInMinutes = 100 }).Result.EmbedUrl ); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } }

Para asumir el rol, elija una de las siguientes API operaciones AWS Security Token Service (AWS STS):

  • AssumeRole— Utilice esta operación cuando utilice una IAM identidad para asumir el rol.

  • AssumeRoleWithWebIdentity— Utilice esta operación cuando utilice un proveedor de identidad web para autenticar a su usuario.

  • AssumeRoleWithSaml— Usa esta operación cuando la utilices SAML para autenticar a tus usuarios.

En el siguiente ejemplo, se muestra el CLI comando para establecer el IAM rol. El rol debe tener los permisos de quicksight:GenerateEmbedUrlForRegisteredUser habilitados. Si opta por añadir usuarios just-in-time la primera vez que los abran QuickSight, el rol también necesita tener habilitados los permisosquicksight:RegisterUser.

aws sts assume-role \ --role-arn "arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role" \ --role-session-name john.doe@example.com

La operación assume-role devuelve tres parámetros de salida: la clave de acceso, la clave secreta y el token de sesión.

nota

Si se produce un error ExpiredToken al llamar a la operación AssumeRole, probablemente se debe a que el SESSION TOKEN anterior aún se encuentra en las variables de entorno. Para retirarlo, establezca las variables siguientes:

  • AWS_ACCESS_ KEY _ID

  • AWS_SECRET_ACCESS_KEY

  • AWS_SESSION_TOKEN

El siguiente ejemplo muestra cómo configurar estos tres parámetros en. CLI Si utiliza un equipo con Microsoft Windows, utilice set en lugar de export.

export AWS_ACCESS_KEY_ID = "access_key_from_assume_role" export AWS_SECRET_ACCESS_KEY = "secret_key_from_assume_role" export AWS_SESSION_TOKEN = "session_token_from_assume_role"

Al ejecutar estos comandos, se define el ID de sesión del rol del usuario que visita su sitio web como embedding_quicksight_console_session_role/john.doe@example.com. El ID de sesión del rol está compuesto por el nombre del rol de role-arn y el valor de role-session-name. Al utilizar el ID de sesión del rol único para cada usuario, se garantiza que se definan los permisos correspondientes para cada usuario. También evitará la limitación del acceso de los usuarios. La limitación es una función de seguridad que impide que el mismo usuario acceda QuickSight desde varias ubicaciones.

El ID de sesión del rol también se convierte en el nombre de usuario en QuickSight. Puede utilizar este patrón para aprovisionar a los usuarios QuickSight con antelación o para aprovisionarlos la primera vez que accedan a una sesión de consola.

En el siguiente ejemplo, se muestra el CLI comando que puede utilizar para aprovisionar un usuario. Para obtener más información RegisterUsery otras QuickSight API operaciones, consulte la QuickSight APIReferencia. DescribeUser

aws quicksight register-user \ --aws-account-id 111122223333 \ --namespace default \ --identity-type IAM \ --iam-arn "arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role" \ --user-role READER \ --user-name jhnd \ --session-name "john.doe@example.com" \ --email john.doe@example.com \ --region us-east-1 \ --custom-permissions-name TeamA1

Si el usuario se ha autenticado a través de Microsoft AD, no es necesario utilizar RegisterUser para configurarlo. En su lugar, deberían suscribirse automáticamente la primera vez que QuickSight accedan. Para los usuarios de Microsoft AD, puede utilizar DescribeUser para obtener el usuarioARN.

La primera vez que un usuario accede QuickSight, también puede agregarlo al grupo correspondiente. El siguiente ejemplo muestra el CLI comando para añadir un usuario a un grupo.

aws quicksight create-group-membership \ --aws-account-id=111122223333 \ --namespace=default \ --group-name=financeusers \ --member-name="embedding_quicksight_dashboard_role/john.doe@example.com"

Ahora tienes un usuario de tu aplicación que también es usuario de la QuickSight sesión de la QuickSight consola y tiene acceso a ella.

Por último, para que alguien firme URL la sesión de la consola, llama generate-embed-url-for-registered-user desde el servidor de aplicaciones. Esto devuelve la sesión de consola integrable. URL En el siguiente ejemplo, se muestra cómo generarla URL para una sesión de consola integrada mediante una llamada del lado del servidor para los usuarios autenticados mediante un inicio de sesión único (Identity AWS Managed Microsoft AD Center). IAM

aws quicksight generate-embed-url-for-registered-user \ --aws-account-id 111122223333 \ --entry-point the-url-for--the-console-session \ --session-lifetime-in-minutes 600 \ --user-arn arn:aws:quicksight:us-east-1:111122223333:user/default/embedding_quicksight_dashboard_role/embeddingsession --allowed-domains '["domain1","domain2"]' \ --experience-configuration QuickSightConsole={InitialPath="/start"}

Para obtener más información sobre el uso de esta operación, consulte GenerateEmbedUrlForRegisteredUser. Puede utilizar esta y otras API operaciones en su propio código.

Paso 3: incrustar la sesión de la consola URL

En la siguiente sección, puede averiguar cómo puede utilizar Amazon QuickSight Embedding SDK (JavaScript) para incrustar la sesión de consola URL del paso 3 en su sitio web o página de aplicación. Con SDK, puede hacer lo siguiente:

  • Coloque la sesión de la consola en una HTML página.

  • Pase los parámetros a la sesión de consola.

  • Resolver los estados de error con mensajes que se personalizan en su aplicación.

Llama a la GenerateEmbedUrlForRegisteredUser API operación para generar lo URL que puedas incrustar en tu aplicación. Esto URL es válido durante 5 minutos y la sesión resultante es válida durante un máximo de 10 horas. La API operación URL proporciona una auth_code que permite una sesión de inicio de sesión único.

El siguiente es un ejemplo de respuesta de generate-embed-url-for-registered-user.

//The URL returned is over 900 characters. For this example, we've shortened the string for //readability and added ellipsis to indicate that it's incomplete. { "Status": "200", "EmbedUrl": "https://quicksightdomain/embedding/12345/start...", "RequestId": "7bee030e-f191-45c4-97fe-d9faf0e03713" }

Inserte esta sesión de consola en su página web mediante la QuickSight incrustación SDK o agregándola URL a un iframe. Si configura un número fijo para la altura y anchura (en píxeles), QuickSight los usará y el elemento visual no cambiará cuando cambie el tamaño de la ventana. Si estableces un porcentaje relativo de altura y anchura, QuickSight proporciona un diseño adaptable que se modifica a medida que cambia el tamaño de la ventana. Al utilizar Amazon QuickSight EmbeddingSDK, también puede controlar los parámetros de la sesión de la consola y recibir llamadas en función de la finalización de la carga de la página y de los errores.

El dominio que va a alojar paneles integrados deben estar incluido en la lista de permitidos, la lista de dominios aprobados de la suscripción a Amazon QuickSight . Este requisito protege los datos impidiendo que dominios no aprobados alojen paneles integrados. Para obtener más información sobre cómo agregar dominios para una consola integrada, consulte Permita publicar dominios en tiempo de ejecución con QuickSight API.

El siguiente ejemplo muestra cómo utilizar lo generado. URL Este código se genera en el servidor de aplicaciones.

<!DOCTYPE html> <html> <head> <title>Console Embedding Example</title> <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@2.0.0/dist/quicksight-embedding-js-sdk.min.js"></script> <script type="text/javascript"> const embedSession = async() => { const { createEmbeddingContext, } = QuickSightEmbedding; const embeddingContext = await createEmbeddingContext({ onChange: (changeEvent, metadata) => { console.log('Context received a change', changeEvent, metadata); }, }); const frameOptions = { url: "<YOUR_EMBED_URL>", // replace this value with the url generated via embedding API container: '#experience-container', height: "700px", width: "1000px", onChange: (changeEvent, metadata) => { switch (changeEvent.eventName) { case 'FRAME_MOUNTED': { console.log("Do something when the experience frame is mounted."); break; } case 'FRAME_LOADED': { console.log("Do something when the experience frame is loaded."); break; } } }, }; const contentOptions = { onMessage: async (messageEvent, experienceMetadata) => { switch (messageEvent.eventName) { case 'ERROR_OCCURRED': { console.log("Do something when the embedded experience fails loading."); break; } } } }; const embeddedConsoleExperience = await embeddingContext.embedConsole(frameOptions, contentOptions); }; </script> </head> <body onload="embedSession()"> <div id="experience-container"></div> </body> </html>
<!DOCTYPE html> <html> <head> <title>QuickSight Console Embedding</title> <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@1.0.15/dist/quicksight-embedding-js-sdk.min.js"></script> <script type="text/javascript"> var session function onError(payload) { console.log("Do something when the session fails loading"); } function embedSession() { var containerDiv = document.getElementById("embeddingContainer"); var options = { // replace this dummy url with the one generated via embedding API url: "https://us-east-1.quicksight.aws.amazon.com/sn/dashboards/dashboardId?isauthcode=true&identityprovider=quicksight&code=authcode", // replace this dummy url with the one generated via embedding API container: containerDiv, parameters: { country: "United States" }, scrolling: "no", height: "700px", width: "1000px", locale: "en-US", footerPaddingEnabled: true, defaultEmbeddingVisualType: "TABLE", // this option only applies to QuickSight console embedding and is not used for dashboard embedding }; session = QuickSightEmbedding.embedSession(options); session.on("error", onError); } function onCountryChange(obj) { session.setParameters({country: obj.value}); } </script> </head> <body onload="embedSession()"> <span> <label for="country">Country</label> <select id="country" name="country" onchange="onCountryChange(this)"> <option value="United States">United States</option> <option value="Mexico">Mexico</option> <option value="Canada">Canada</option> </select> </span> <div id="embeddingContainer"></div> </body> </html>

Para que este ejemplo funcione, asegúrese de utilizar Amazon QuickSight Embedding SDK para cargar la sesión de la consola integrada en su sitio web utilizando JavaScript. Para obtener su copia, siga uno de estos pasos: