Intégration de toutes les fonctionnalités de la QuickSight console Amazon pour les utilisateurs enregistrés - Amazon QuickSight

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Intégration de toutes les fonctionnalités de la QuickSight console Amazon pour les utilisateurs enregistrés

Important

Amazon QuickSight propose de nouvelles API opérations pour intégrer les analyses : GenerateEmbedUrlForAnonymousUser etGenerateEmbedUrlForRegisteredUser.

Vous pouvez toujours utiliser les GetSessionEmbedUrl API opérations GetDashboardEmbedUrl et pour intégrer les tableaux de bord et la QuickSight console, mais elles ne contiennent pas les dernières fonctionnalités d'intégration. Pour plus d'informations sur l'intégration à l'aide des anciennes API opérations, consultezIntégration des analyses à l'aide des opérations d'API GetDashboardEmbedURL et GetSessionEmbedURL.

 S'applique à : édition Enterprise 
   Public cible : QuickSight développeurs Amazon 

Avec l'édition Enterprise, en plus de fournir des tableaux de bord en lecture seule, vous pouvez également proposer l'expérience de la QuickSight console Amazon dans un portail de création personnalisé. En utilisant cette approche, vous autorisez vos utilisateurs à créer des sources de données, des jeux de données et des analyses. Dans la même interface, ils peuvent créer, publier et consulter des tableaux de bord. Si vous souhaitez restreindre certaines de ces autorisations, vous pouvez également le faire.

Les utilisateurs qui accèdent QuickSight via une console intégrée doivent appartenir à la cohorte de sécurité des auteurs ou des administrateurs. Les lecteurs ne disposent pas d'un accès suffisant pour utiliser la QuickSight console de création, qu'elle soit intégrée ou intégrée à la AWS Management Console. Cependant, les auteurs et les administrateurs peuvent toujours accéder aux tableaux de bord intégrés. Si vous souhaitez limiter les autorisations à certaines fonctionnalités de création, vous pouvez ajouter un profil d'autorisations personnalisé à l'utilisateur lors de l'UpdateUserAPIopération. Utilisez cette RegisterUserAPIopération pour ajouter un nouvel utilisateur associé à un profil d'autorisation personnalisé. Pour plus d'informations, consultez les sections suivantes :

Dans les sections suivantes, vous trouverez des informations détaillées sur la façon de configurer des QuickSight tableaux de bord Amazon intégrés pour les utilisateurs enregistrés.

Étape 1 : Configurer des autorisations

Dans la section suivante, vous apprendrez à configurer les autorisations pour l'application backend ou le serveur web. Cette tâche nécessite un accès administratif àIAM.

Chaque utilisateur qui accède à un QuickSight assume un rôle qui lui donne accès à Amazon et lui donne les autorisations nécessaires pour QuickSight accéder à la session de console. Pour que cela soit possible, créez un IAM rôle dans votre AWS compte. Associez une IAM politique au rôle afin de fournir des autorisations à tout utilisateur qui l'assume. Ajoutez quicksight:RegisterUser des autorisations pour garantir que le lecteur puisse y accéder QuickSight en lecture seule et qu'il n'ait accès à aucune autre donnée ou fonctionnalité de création. Le IAM rôle doit également fournir des autorisations pour récupérer la session de consoleURLs. Pour cela, ajoutez quicksight:GenerateEmbedUrlForRegisteredUser.

Vous pouvez créer une condition dans votre IAM politique qui limite les domaines que les développeurs peuvent répertorier dans les AllowedDomains paramètres d'une GenerateEmbedUrlForAnonymousUser API opération. Le paramètre AllowedDomains est un paramètre facultatif. En tant que développeur, il vous donne la possibilité de remplacer les domaines statiques configurés dans le QuickSight menu Gérer. Au lieu de cela, vous pouvez répertorier jusqu'à trois domaines ou sous-domaines pouvant accéder à un domaine généréURL. Il URL est ensuite intégré au site Web que vous créez. Seuls les domaines répertoriés dans le paramètre peuvent accéder au tableau de bord intégré. Sans cette condition, vous pouvez répertorier n'importe quel domaine sur Internet dans le paramètre AllowedDomains.

L'exemple de stratégie suivant fournit ces autorisations.

{ "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" ] } } } ] }

L'exemple de politique suivant autorise la récupération d'une session de consoleURL. Vous pouvez utiliser la politique sans quicksight:RegisterUser si vous créez des utilisateurs avant qu'ils n'accèdent à une session intégrée.

{ "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" ] } } } ] }

Enfin, l'IAMidentité de votre application doit être associée à une politique de confiance pour autoriser l'accès au rôle que vous venez de créer. Cela signifie que lorsqu'un utilisateur accède à votre application, celle-ci peut assumer le rôle en QuickSight son nom et lui fournir des informations. Voici un exemple de politique d'approbation.

{ "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" } ] }

Pour plus d'informations sur les politiques de confiance relatives à OpenID Connect ou à SAML l'authentification, consultez les sections suivantes du guide de l'IAMutilisateur :

Étape 2 : Générez le URL avec le code d'authentification joint

Dans la section suivante, vous découvrirez comment authentifier votre utilisateur et obtenir la session de console intégrable URL sur votre serveur d'applications.

Lorsqu'un utilisateur accède à votre application, celle-ci assume le IAM rôle en son nom. Ensuite, il ajoute l'utilisateur à QuickSight, si cet utilisateur n'existe pas déjà. Puis, elle transmet un identifiant comme ID de session de rôle unique.

L'exécution des étapes décrites garantit que chaque visualiseur de la session de console est configuré de manière unique. QuickSight Elle applique également les paramètres par utilisateur, tels que les valeurs dynamiques et de sécurité par défaut au niveau des lignes pour les paramètres.

Les exemples suivants exécutent l'IAMauthentification au nom de l'utilisateur. Ce code s'exécute sur votre serveur d'applications.

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)

L'exemple suivant montre le JavaScript (Node.js) que vous pouvez utiliser sur le serveur d'applications URL pour générer la session de console intégrée. Vous pouvez l'utiliser sur votre site Web ou URL dans votre application pour afficher la session de console.

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' }

L'exemple suivant montre le. NETCode /C # que vous pouvez utiliser sur le serveur d'applications URL pour générer la session de console intégrée. Vous pouvez l'utiliser sur votre site Web ou URL dans votre application pour afficher la console.

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); } } } }

Pour assumer le rôle, choisissez l'une des API opérations suivantes AWS Security Token Service (AWS STS) :

  • AssumeRole— Utilisez cette opération lorsque vous utilisez une IAM identité pour assumer le rôle.

  • AssumeRoleWithWebIdentity— Utilisez cette opération lorsque vous utilisez un fournisseur d'identité Web pour authentifier votre utilisateur.

  • AssumeRoleWithSaml— Utilisez cette opération lorsque vous l'utilisez SAML pour authentifier vos utilisateurs.

L'exemple suivant montre la CLI commande permettant de définir le IAM rôle. Les autorisations doivent être activées pour quicksight:GenerateEmbedUrlForRegisteredUser. Si vous envisagez d'ajouter just-in-time des utilisateurs lors de leur première ouverture QuickSight, les autorisations doivent également être activées pour le rôlequicksight:RegisterUser.

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

L'opération assume-role renvoie trois paramètres de sortie : la clé d'accès, la clé secrète et le jeton de session.

Note

Si vous obtenez une erreur ExpiredToken lorsque vous appelez l'opération AssumeRole, ceci est probablement dû au fait que le précédent SESSION TOKEN est encore dans les variables de l'environnement. Pour l'effacer, définissez les variables suivantes :

  • AWS_ACCESS_ KEY _IDENTIFIANT

  • AWS_SECRET_ACCESS_KEY

  • AWS_SESSION_TOKEN

L'exemple suivant montre comment définir ces trois paramètres dans leCLI. Si vous utilisez une machine Microsoft Windows, utilisez set au lieu 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"

L'exécution de ces commandes définit l'ID de session de rôle de l'utilisateur visitant votre site web sur embedding_quicksight_console_session_role/john.doe@example.com. L'ID de session de rôle se compose du nom de rôle issu du role-arn et de la valeur role-session-name. L'utilisation de l'ID de session de rôle unique pour chaque utilisateur garantit que les autorisations appropriées sont définies pour chaque utilisateur. Ceci évite également toute limitation des accès des utilisateurs. La limitation est une fonctionnalité de sécurité qui empêche le même utilisateur d'accéder à partir de plusieurs QuickSight emplacements.

L'ID de session du rôle devient également le nom d'utilisateur dans QuickSight. Vous pouvez utiliser ce modèle pour configurer vos utilisateurs à l' QuickSight avance ou pour les configurer la première fois qu'ils accèdent à une session de console.

L'exemple suivant montre la CLI commande que vous pouvez utiliser pour configurer un utilisateur. Pour plus d'informations sur RegisterUserDescribeUser, et d'autres QuickSight API opérations, consultez la QuickSight APIréférence.

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 l'utilisateur est authentifié via Microsoft AD, vous n'avez pas besoin d'utiliser RegisterUser pour le configurer. Ils devraient plutôt être automatiquement abonnés lors de leur premier accès QuickSight. Pour les utilisateurs de Microsoft AD, vous pouvez utiliser DescribeUser pour obtenir l'utilisateurARN.

La première fois qu'un utilisateur accède QuickSight, vous pouvez également l'ajouter au groupe approprié. L'exemple suivant montre la CLI commande permettant d'ajouter un utilisateur à un groupe.

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

Vous avez désormais un utilisateur de votre application qui est également un utilisateur de QuickSight et qui a accès à la session de QuickSight console.

Enfin, pour obtenir une signature URL pour la session de console, appelez generate-embed-url-for-registered-user depuis le serveur d'applications. Cela renvoie la session de console intégrable. URL L'exemple suivant montre comment générer le URL pour une session de console intégrée à l'aide d'un appel côté serveur pour les utilisateurs authentifiés par le biais de l'authentification unique ( AWS Managed Microsoft AD IAMIdentity Center).

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"}

Pour plus d'informations sur l'utilisation de cette opération, voir GenerateEmbedUrlForRegisteredUser. Vous pouvez utiliser cette API opération ainsi que d'autres dans votre propre code.

Étape 3 : intégrer la session de console URL

Dans la section suivante, vous découvrirez comment utiliser Amazon QuickSight Embedding SDK (JavaScript) pour intégrer la session de console de l'étape 3 à votre site Web ou à la page URL de votre application. Avec leSDK, vous pouvez effectuer les opérations suivantes :

  • Placez la session de console sur une HTML page.

  • Transmettre les paramètres à la session de console.

  • Gérer les états d'erreurs avec des messages personnalisés pour votre application.

Appelez l'GenerateEmbedUrlForRegisteredUserAPIopération pour générer le URL fichier que vous pouvez intégrer dans votre application. Ceci URL est valide pendant 5 minutes et la session qui en résulte est valide pendant 10 heures au maximum. L'APIopération fournit URL un auth_code qui active une session d'authentification unique.

Voici un exemple de réponse 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" }

Intégrez cette session de console à votre page Web en utilisant l' QuickSight intégration SDK ou en l'ajoutant URL dans un iframe. Si vous définissez une hauteur et une largeur fixes (en pixels), QuickSight utilisez-les et ne modifiez pas votre visuel lors du redimensionnement de la fenêtre. Si vous définissez un pourcentage relatif de hauteur et de largeur, QuickSight fournit une mise en page réactive qui est modifiée en fonction de l'évolution de la taille de votre fenêtre. En utilisant Amazon QuickSight EmbeddingSDK, vous pouvez également contrôler les paramètres de la session de console et recevoir des rappels en termes de fin de chargement de page et d'erreurs.

Le domaine qui hébergera les tableaux de bord intégrés doit figurer sur la liste d'autorisation, la liste des domaines approuvés pour votre abonnement Amazon QuickSight . Cette exigence protège vos données en empêchant les domaines non approuvés d'héberger des tableaux de bord intégrés. Pour plus d'informations sur l'ajout de domaines pour une console intégrée, consultez Autoriser la mise en vente de domaines au moment de l'exécution avec QuickSight API.

L'exemple suivant montre comment utiliser le généréURL. Ce code est généré sur votre serveur d'applications.

<!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>

Pour que cet exemple fonctionne, assurez-vous d'utiliser Amazon QuickSight Embedding pour charger la session SDK de console intégrée sur votre site Web à l'aide JavaScript de. Pour obtenir votre copie, effectuez l'une des actions suivantes :