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 la barre de recherche Amazon Quick Sight Q pour les utilisateurs enregistrés
| S’applique à : édition Enterprise |
| Public cible : développeurs Amazon Quick Suite |
Note
La barre de recherche intégrée d'Amazon Quick Sight Q fournit l'expérience de questions-réponses classique d'Amazon Quick Sight. Amazon Quick Sight s'intègre à Amazon Q Business pour lancer une nouvelle expérience générative de questions-réponses. Il est recommandé aux développeurs d’utiliser la nouvelle expérience de questions-réponses génératives. Pour plus d'informations sur l'expérience de questions-réponses générative intégrée, consultez Intégrer l'expérience Amazon Q dans l'expérience de questions-réponses générative Amazon Quick Sight.
Dans les sections suivantes, vous trouverez des informations détaillées sur la façon de configurer une barre de recherche Amazon Quick Sight Q intégrée pour les utilisateurs enregistrés d'Amazon Quick Sight.
Rubriques
Étape 1 : Configurer des autorisations
Note
La barre de recherche intégrée d'Amazon Quick Sight Q fournit l'expérience de questions-réponses classique d'Amazon Quick Sight. Amazon Quick Sight s'intègre à Amazon Q Business pour lancer une nouvelle expérience générative de questions-réponses. Il est recommandé aux développeurs d’utiliser la nouvelle expérience de questions-réponses génératives. Pour plus d'informations sur l'expérience de questions-réponses générative intégrée, consultez Intégrer l'expérience Amazon Q dans l'expérience de questions-réponses générative Amazon Quick Sight.
Dans la section suivante, vous apprendrez à configurer les autorisations pour l’application backend ou le serveur web afin d’intégrer la barre de recherche Q. Cette tâche nécessite un accès administratif à AWS Identity and Access Management (IAM).
Chaque utilisateur qui accède à un tableau de bord assume un rôle qui lui permet d'accéder à Amazon Quick Sight et d'accéder au tableau de bord. Pour que cela soit possible, créez un rôle IAM dans votre Compte AWS. Associez une politique IAM au rôle afin de fournir des autorisations à n’importe quel utilisateur qui assume ce rôle. Le rôle IAM doit fournir des autorisations pour récupérer l'intégration URLs pour un groupe d'utilisateurs spécifique.
À l’aide du caractère générique *, vous pouvez accorder l’autorisation de générer une URL pour tous les utilisateurs d’un espace de noms spécifique. Vous pouvez également accorder des autorisations pour générer une URL pour un sous-ensemble d’utilisateurs dans des espaces de noms spécifiques. Pour cela, ajoutez quicksight:GenerateEmbedUrlForRegisteredUser.
Vous pouvez créer une condition dans votre politique IAM qui limite les domaines que les développeurs peuvent répertorier dans le paramètre AllowedDomains d’une opération d’API GenerateEmbedUrlForRegisteredUser. Le paramètre AllowedDomains est un paramètre facultatif. Il permet aux développeurs de remplacer les domaines statiques configurés dans le menu Manage Amazon Quick Sight et de répertorier jusqu'à trois domaines ou sous-domaines pouvant accéder à une URL générée. Cette URL est ensuite intégrée dans le site web d’un développeur. Seuls les domaines répertoriés dans le paramètre peuvent accéder à la barre de recherche Q intégrée. Sans cette condition, les développeurs peuvent répertorier n’importe quel domaine sur Internet dans le paramètre AllowedDomains.
Pour limiter les domaines que les développeurs peuvent utiliser avec ce paramètre, ajoutez une condition AllowedEmbeddingDomains à votre politique IAM. Pour plus d'informations sur le AllowedDomains paramètre, consultez le GenerateEmbedUrlForRegisteredUsermanuel Amazon Quick Sight API Reference.
L’exemple de stratégie suivant fournit ces autorisations.
De plus, si vous créez pour la première fois des utilisateurs qui seront des lecteurs d'Amazon Quick Sight, assurez-vous d'ajouter l'quicksight:RegisterUserautorisation dans la politique.
L'exemple de politique suivant autorise les nouveaux utilisateurs qui souhaitent lire Amazon Quick Sight à récupérer une URL d'intégration.
Enfin, l’identité IAM de votre application doit avoir une politique d’approbation qui lui est associée afin d’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 son nom et configurer l'utilisateur dans Amazon Quick Sight.
Voici un exemple de politique d’approbation.
Pour plus d’informations sur les politiques d’approbation pour OpenId Connect ou l’authentification Security Assertion Markup Language (SAML), consultez les sections suivantes du Guide de l’utilisateur IAM :
Étape 2 : Générer l’URL avec le code d’authentification en pièce jointe
Note
La barre de recherche intégrée d'Amazon Quick Sight Q fournit l'expérience de questions-réponses classique d'Amazon Quick Sight. Amazon Quick Sight s'intègre à Amazon Q Business pour lancer une nouvelle expérience générative de questions-réponses. Il est recommandé aux développeurs d’utiliser la nouvelle expérience de questions-réponses génératives. Pour plus d'informations sur l'expérience de questions-réponses générative intégrée, consultez Intégrer l'expérience Amazon Q dans l'expérience de questions-réponses générative Amazon Quick Sight.
Dans la section suivante, vous découvrirez comment authentifier votre utilisateur et obtenir l’URL de rubrique Q intégrable sur votre serveur d’applications. Si vous envisagez d'intégrer la barre Q pour les types d'identité IAM ou Amazon Quick Sight, partagez la rubrique Q avec les utilisateurs.
Lorsqu’un utilisateur accède à votre application, l’application assume le rôle IAM pour le compte de l’utilisateur. L'application ajoute ensuite l'utilisateur à Amazon Quick Sight, s'il 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 lecteur du sujet Q est approvisionné de manière unique dans Amazon Quick Sight. 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 effectuent l’authentification IAM pour le compte 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.RegisteredUserQSearchBarEmbeddingConfiguration; /** * Class to call QuickSight AWS SDK to get url for embedding the Q search bar. */ public class RegisteredUserQSearchBarEmbeddingConfiguration { private final AmazonQuickSight quickSightClient; public RegisteredUserQSearchBarEmbeddingConfiguration() { 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, // AWS Account ID final String topicId, // Topic ID to embed final List<String> allowedDomains, // Runtime allowed domain for embedding final String userArn // Registered user arn to use for embedding. Refer to Get Embed Url section in developer portal to find how to get user arn for a QuickSight user. ) throws Exception { final RegisteredUserEmbeddingExperienceConfiguration experienceConfiguration = new RegisteredUserEmbeddingExperienceConfiguration() .withQSearchBar(new RegisteredUserQSearchBarEmbeddingConfiguration().withInitialTopicId(topicId)); final GenerateEmbedUrlForRegisteredUserRequest generateEmbedUrlForRegisteredUserRequest = new GenerateEmbedUrlForRegisteredUserRequest(); generateEmbedUrlForRegisteredUserRequest.setAwsAccountId(accountId); generateEmbedUrlForRegisteredUserRequest.setUserArn(userArn); generateEmbedUrlForRegisteredUserRequest.setAllowedDomains(allowedDomains); generateEmbedUrlForRegisteredUserRequest.setExperienceConfiguration(QSearchBar); final GenerateEmbedUrlForRegisteredUserResult generateEmbedUrlForRegisteredUserResult = quickSightClient.generateEmbedUrlForRegisteredUser(generateEmbedUrlForRegisteredUserRequest); return generateEmbedUrlForRegisteredUserResult.getEmbedUrl(); } }
global.fetch = require('node-fetch'); const AWS = require('aws-sdk'); function generateEmbedUrlForRegisteredUser( accountId, topicId, // Topic ID to embed 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 getQSearchBarParams = { "AwsAccountId": accountId, "ExperienceConfiguration": { "QSearchBar": { "InitialTopicId": topicId } }, "UserArn": userArn, "AllowedDomains": allowedDomains, "SessionLifetimeInMinutes": 600 }; const quicksightGetQSearchBar = 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 } }); quicksightGetQSearchBar.generateEmbedUrlForRegisteredUser(getQSearchBarParams, 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 sts = boto3.client('sts') # Function to generate embedded URL # accountId: AWS account ID # topicId: Topic ID to embed # 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 getEmbeddingURL(accountId, topicId, 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-west-2') response = quicksightClient.generate_embed_url_for_registered_user( AwsAccountId=accountId, ExperienceConfiguration = { "QSearchBar": { "InitialTopicId": topicId } }, 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 pour générer l'URL du tableau de bord intégré. Vous pouvez utiliser cette URL dans votre site Web ou votre application pour afficher le tableau de bord.
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': { 'QSearchBar': { 'InitialTopicId': 'U4zJMVZ2n2stZflc8Ou3iKySEb3BEV6f' } }, '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/sheets/12345/visuals/67890...", RequestId: '7bee030e-f191-45c4-97fe-d9faf0e03713' }
L’exemple suivant montre le code .NET/C # que vous pouvez utiliser sur le serveur d’applications afin de générer l’URL pour la barre de recherche Q intégrée. Vous pouvez utiliser cette URL dans votre site web ou votre application pour afficher la barre de recherche Q.
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 { RegisteredUserQSearchBarEmbeddingConfiguration registeredUserQSearchBarEmbeddingConfiguration = new RegisteredUserQSearchBarEmbeddingConfiguration { InitialTopicId = "U4zJMVZ2n2stZflc8Ou3iKySEb3BEV6f" }; RegisteredUserEmbeddingExperienceConfiguration registeredUserEmbeddingExperienceConfiguration = new RegisteredUserEmbeddingExperienceConfiguration { QSearchBar = registeredUserQSearchBarEmbeddingConfiguration }; 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 ce rôle, choisissez l'une des opérations d'API AWS Security Token Service (AWS STS) suivantes :
-
AssumeRole— Utilisez cette opération lorsque vous utilisez une identité IAM 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 utilisez le protocole SAML pour authentifier vos utilisateurs.
L’exemple suivant illustre la commande de l’interface de ligne de commande pour définir le rôle IAM. Les autorisations doivent être activées pour quicksight:GenerateEmbedUrlForRegisteredUser. Si vous envisagez d'ajouter just-in-time des utilisateurs lorsqu'ils utilisent un sujet dans la barre de recherche Q, 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_q_search_bar_role" \ --role-session-namejohn.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_ID
-
AWS_SECRET_CLÉ D'ACCÈS
-
AWS_SESSION_JETON
L’exemple suivant montre comment définir ces trois paramètres dans l’interface de ligne de commande. Pour 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_q_search_bar_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. Le throttling est une fonctionnalité de sécurité qui empêche le même utilisateur d'accéder à Amazon Quick Sight depuis plusieurs sites.
L'ID de session du rôle devient également le nom d'utilisateur dans Amazon Quick Sight. Vous pouvez utiliser ce modèle pour configurer vos utilisateurs dans Amazon Quick Sight à l'avance, ou pour les configurer la première fois qu'ils accèdent à la barre de recherche Q.
L’exemple suivant montre la commande de l’interface de ligne de commande que vous pouvez utiliser pour provisionner un utilisateur. Pour plus d'informations sur RegisterUserDescribeUser, et sur les autres opérations de l'API Amazon Quick Sight, consultez la référence de l'API Amazon Quick Sight.
aws quicksight register-user \ --aws-account-id111122223333\ --namespace default \ --identity-typeIAM\ --iam-arn "arn:aws:iam::111122223333:role/embedding_quicksight_q_search_bar_role" \ --user-roleREADER\ --user-namejhnd\ --session-name "john.doe@example.com" \ --emailjohn.doe@example.com\ --regionus-east-1\ --custom-permissions-nameTeamA1
Si l’utilisateur est authentifié via Microsoft AD, vous n’avez pas besoin d’utiliser RegisterUser pour le configurer. Ils doivent plutôt être automatiquement abonnés la première fois qu'ils accèdent à Amazon Quick Sight. Pour les utilisateurs Microsoft AD, vous pouvez utiliser DescribeUser pour obtenir l’Amazon Resource Name (ARN) de l’utilisateur.
La première fois qu'un utilisateur accède à Amazon Quick Sight, vous pouvez également ajouter cet utilisateur au groupe avec lequel le tableau de bord est partagé. L’exemple suivant montre la commande de l’interface de ligne de commande pour ajouter un utilisateur à un groupe.
aws quicksight create-group-membership \ --aws-account-id=111122223333\ --namespace=default \ --group-name=financeusers\ --member-name="embedding_quicksight_q_search_bar_role/john.doe@example.com"
Vous avez désormais un utilisateur de votre application qui est également un utilisateur d'Amazon Quick Sight et qui a accès au tableau de bord.
Enfin, pour obtenir une URL signée pour le tableau de bord, appelez generate-embed-url-for-registered-user à partir du serveur d’applications. Ceci renvoie l’URL du tableau de bord intégrable. L'exemple suivant montre comment générer l'URL d'un tableau de bord intégré à l'aide d'un appel côté serveur pour les utilisateurs authentifiés par le biais de l'authentification unique (IAM AWS Managed Microsoft AD Identity Center).
aws quicksight generate-embed-url-for-registered-user \ --aws-account-id111122223333\ --session-lifetime-in-minutes600\ --user-arnarn:aws:quicksight:us-east-1:111122223333:user/default/embedding_quicksight_q_search_bar_role/embeddingsession--allowed-domains '["domain1","domain2"]' \ --experience-configuration QSearchBar={InitialTopicId=U4zJMVZ2n2stZflc8Ou3iKySEb3BEV6f}
Pour plus d’informations sur l’utilisation de cette opération, consultez GenerateEmbedUrlForRegisteredUser. Vous pouvez utiliser cette opération et d’autres opérations d’API dans votre propre code.
Étape 3 : Intégrer l’URL de la barre de recherche Q
Note
La barre de recherche intégrée d'Amazon Quick Sight Q fournit l'expérience de questions-réponses classique d'Amazon Quick Sight. Amazon Quick Sight s'intègre à Amazon Q Business pour lancer une nouvelle expérience générative de questions-réponses. Il est recommandé aux développeurs d’utiliser la nouvelle expérience de questions-réponses génératives. Pour plus d'informations sur l'expérience de questions-réponses générative intégrée, consultez Intégrer l'expérience Amazon Q dans l'expérience de questions-réponses générative Amazon Quick Sight.
Dans la section suivante, vous découvrirez comment intégrer l’URL de la barre de recherche Q de l’étape 3 sur votre site web ou sur votre page d’application. Pour ce faire, utilisez le SDK d'intégration Amazon Quick Sight
-
Placer la barre de recherche Q sur une page HTML.
-
Transmettre les paramètres à la barre de recherche Q.
-
Gérer les états d’erreurs avec des messages personnalisés pour votre application.
Pour générer l’URL que vous pouvez intégrer dans votre application, appelez l’opération d’API GenerateEmbedUrlForRegisteredUser. Cette URL est valable pendant 5 minutes et la session qui en résulte est valide jusqu’à 10 heures. L’opération d’API fournit l’URL avec une valeur auth_code qui permet une session à connexion 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/q/search...", "RequestId": "7bee030e-f191-45c4-97fe-d9faf0e03713" }
Intégrez la barre de recherche Q à votre page Web à l'aide du SDK d'intégration Amazon Quick Sight
Pour ce faire, assurez-vous que le domaine devant héberger la barre de recherche Q intégrée figure dans la liste des domaines autorisés, c'est-à-dire la liste des domaines approuvés pour votre abonnement Amazon Quick Sight. 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 barre de recherche Q intégrée, consultez la section Gestion des domaines et intégration.
Lorsque vous utilisez le SDK Amazon Quick Sight Embedding, la barre de recherche Q de votre page est redimensionnée dynamiquement en fonction de l'état. En utilisant le SDK Amazon Quick Sight Embedding, vous pouvez également contrôler les paramètres de la barre de recherche Q et recevoir des rappels en termes de fin de chargement de page et d'erreurs.
L’exemple suivant montre comment utiliser l’URL générée. Ce code est généré sur votre serveur d’applications.
<!DOCTYPE html> <html> <head> <title>Q Search Bar 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 embedQSearchBar = 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 = { hideTopicName: false, theme: '<YOUR_THEME_ID>', allowTopicSelection: true, onMessage: async (messageEvent, experienceMetadata) => { switch (messageEvent.eventName) { case 'Q_SEARCH_OPENED': { console.log("Do something when Q Search content expanded"); break; } case 'Q_SEARCH_CLOSED': { console.log("Do something when Q Search content collapsed"); break; } case 'Q_SEARCH_SIZE_CHANGED': { console.log("Do something when Q Search size changed"); break; } case 'CONTENT_LOADED': { console.log("Do something when the Q Search is loaded."); break; } case 'ERROR_OCCURRED': { console.log("Do something when the Q Search fails loading."); break; } } } }; const embeddedDashboardExperience = await embeddingContext.embedQSearchBar(frameOptions, contentOptions); }; </script> </head> <body onload="embedQSearchBar()"> <div id="experience-container"></div> </body> </html>
<!DOCTYPE html> <html> <head> <title>QuickSight Q Search Bar Embedding</title> <script src="https://unpkg.com/amazon-quicksight-embedding-sdk@1.18.0/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 onOpen() { console.log("Do something when the Q search bar opens"); } function onClose() { console.log("Do something when the Q search bar closes"); } function embedQSearchBar() { var containerDiv = document.getElementById("embeddingContainer"); var options = { 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, width: "1000px", locale: "en-US", qSearchBarOptions: { expandCallback: onOpen, collapseCallback: onClose, iconDisabled: false, topicNameDisabled: false, themeId: 'bdb844d0-0fe9-4d9d-b520-0fe602d93639', allowTopicSelection: true } }; session = QuickSightEmbedding.embedQSearchBar(options); session.on("error", onError); } function onCountryChange(obj) { session.setParameters({country: obj.value}); } </script> </head> <body onload="embedQSearchBar()"> <div id="embeddingContainer"></div> </body> </html>
Pour que cet exemple fonctionne, assurez-vous d'utiliser le SDK Amazon Quick Sight Embedding pour charger le tableau de bord intégré sur votre site Web à l'aide de. JavaScript Pour obtenir votre copie, effectuez l’une des actions suivantes :
-
Téléchargez le SDK d'intégration Amazon Quick Sight
depuis. GitHub Ce référentiel est géré par un groupe de développeurs Amazon Quick Sight. -
Téléchargez la dernière version du SDK d'intégration sur. https://www.npmjs.com/package/amazon-quicksight-embedding-sdk
-
Si vous utilisez
npmfor JavaScript dependencies, téléchargez-le et installez-le en exécutant la commande suivante.npm install amazon-quicksight-embedding-sdk
Fonctionnalités d'intégration de la barre de recherche Amazon Quick Sight Q en option
Note
La barre de recherche intégrée d'Amazon Quick Sight Q fournit l'expérience de questions-réponses classique d'Amazon Quick Sight. Amazon Quick Sight s'intègre à Amazon Q Business pour lancer une nouvelle expérience générative de questions-réponses. Il est recommandé aux développeurs d’utiliser la nouvelle expérience de questions-réponses génératives. Pour plus d'informations sur l'expérience de questions-réponses générative intégrée, consultez Intégrer l'expérience Amazon Q dans l'expérience de questions-réponses générative Amazon Quick Sight.
Les fonctionnalités facultatives suivantes sont disponibles pour la barre de recherche Q intégrée à l’aide du kit SDK d’intégration.
Invoquer les actions de la barre de recherche Q
Les options suivantes sont prises en charge uniquement pour l’intégration de la barre de recherche Q.
-
Définir une question dans la barre de recherche Q : cette fonctionnalité envoie une question à la barre de recherche Q et interroge immédiatement la question. Elle ouvre également automatiquement la fenêtre contextuelle Q.
qBar.setQBarQuestion('show me monthly revenue'); -
Fermer la fenêtre contextuelle Q : cette fonctionnalité ferme la fenêtre contextuelle Q et ramène l’iframe à la taille initiale de la barre de recherche Q.
qBar.closeQPopover();
Pour plus d'informations, consultez le SDK d'intégration Amazon Quick Sight