As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Incorporando a barra de pesquisa do Amazon QuickSight Q para usuários anônimos (não registrados)
Público-alvo: QuickSight desenvolvedores da Amazon |
nota
A barra de pesquisa QuickSight Q incorporada fornece a experiência clássica de QuickSight perguntas e respostas. QuickSight se integra ao Amazon Q Business para lançar uma nova experiência generativa de perguntas e respostas. Recomenda-se que os desenvolvedores usem a nova experiência de perguntas e respostas generativas. Para obter mais informações sobre a experiência de perguntas e respostas generativas incorporada, consulte Incorporando o Amazon Q na experiência QuickSight generativa de perguntas e respostas.
Nas seções a seguir, você encontrará informações detalhadas sobre como configurar uma barra de pesquisa incorporada do Amazon QuickSight Q para usuários anônimos (não registrados).
Tópicos
Etapa 1: configurar permissões
nota
A barra de pesquisa QuickSight Q incorporada fornece a experiência clássica de QuickSight perguntas e respostas. QuickSight se integra ao Amazon Q Business para lançar uma nova experiência generativa de perguntas e respostas. Recomenda-se que os desenvolvedores usem a nova experiência de perguntas e respostas generativas. Para obter mais informações sobre a experiência de perguntas e respostas generativas incorporada, consulte Incorporando o Amazon Q na experiência QuickSight generativa de perguntas e respostas.
Na seção a seguir, você descobrirá como configurar permissões para sua aplicação de back-end ou para o servidor Web incorporar a barra de pesquisa do Q. Essa tarefa requer acesso administrativo a AWS Identity and Access Management (IAM).
Cada usuário que acessa uma barra de pesquisa Q assume uma função que lhe dá QuickSight acesso e permissões da Amazon para a barra de pesquisa Q. Para tornar isso possível, crie uma IAM função em seu Conta da AWS. Associe uma IAM política à função para fornecer permissões a qualquer usuário que a assuma. A IAM função precisa fornecer permissões para recuperar a incorporação de um grupo URLs de usuários específico.
Com a ajuda do caractere curinga *, você pode conceder as permissões para gerar um URL para todos os usuários em um namespace específico. Ou você pode conceder permissões para gerar um URL para um subconjunto de usuários em namespaces específicos. Para isso, você adiciona quicksight:GenerateEmbedUrlForAnonymousUser
.
Você pode criar uma condição em sua IAM política que limite os domínios que os desenvolvedores podem listar no AllowedDomains
parâmetro de uma GenerateEmbedUrlForAnonymousUser
API operação. O parâmetro AllowedDomains
é opcional. Ele concede aos desenvolvedores a opção de substituir os domínios estáticos que estão configurados no QuickSight menu Gerenciar e, em vez disso, listar até três domínios ou subdomínios que podem acessar um gerado. URL Em seguida, isso URL é incorporado ao site do desenvolvedor. Somente os domínios que estão listados no parâmetro podem acessar a barra de pesquisa Q incorporada. Sem essa condição, os desenvolvedores podem listar qualquer domínio da Internet no parâmetro AllowedDomains
.
Para limitar os domínios que os desenvolvedores podem usar com esse parâmetro, adicione uma AllowedEmbeddingDomains
condição à sua IAM política. Para obter mais informações sobre o AllowedDomains
parâmetro, consulte GenerateEmbedUrlForAnonymousUserna Amazon QuickSight API Reference.
O modelo de política a seguir fornece essas permissões.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "quicksight:GenerateEmbedUrlForAnonymousUser" ], "Resource": [ "arn:{{
partition
}}:quicksight:{{region
}}:{{accountId
}}:namespace/{{namespace
}}", "arn:{{partition
}}:quicksight:{{region
}}:{{accountId
}}:dashboard/{{dashboardId-1
}}", "arn:{{partition
}}:quicksight:{{region
}}:{{accountId
}}:dashboard/{{dashboardId-2
}}" ], "Condition": { "ForAllValues:StringEquals": { "quicksight:AllowedEmbeddingDomains": [ "https://my.static.domain1.com", "https://*.my.static.domain2.com" ] } } }
A IAM identidade do seu aplicativo deve ter uma política de confiança associada a ela para permitir o acesso à função que você acabou de criar. Isso significa que, quando um usuário acessar a aplicação, ele poderá assumir o perfil em nome do usuário para abrir a barra de pesquisa do Q. O exemplo apresentado a seguir mostra um exemplo de política de confiança.
{ "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 obter mais informações sobre políticas de confiança, consulte Credenciais de segurança temporárias IAM no Guia do IAMusuário
Etapa 2: gerar o URL com o código de autenticação anexado
nota
A barra de pesquisa QuickSight Q incorporada fornece a experiência clássica de QuickSight perguntas e respostas. QuickSight se integra ao Amazon Q Business para lançar uma nova experiência generativa de perguntas e respostas. Recomenda-se que os desenvolvedores usem a nova experiência de perguntas e respostas generativas. Para obter mais informações sobre a experiência de perguntas e respostas generativas incorporada, consulte Incorporando o Amazon Q na experiência QuickSight generativa de perguntas e respostas.
Na seção a seguir, você encontrará como autenticar seu usuário e obter o tópico Q incorporável URL em seu servidor de aplicativos.
Quando um usuário acessa seu aplicativo, o aplicativo assume a IAM função em nome do usuário. Em seguida, o aplicativo adiciona o usuário QuickSight, se esse usuário ainda não existir. Depois disso, ela transfere um identificador como o ID exclusivo de sessão do usuário.
Para obter mais informações, consulte AnonymousUserQSearchBarEmbeddingConfiguration
.
import java.util.List; import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.AWSCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.regions.Regions; import com.amazonaws.services.quicksight.AmazonQuickSight; import com.amazonaws.services.quicksight.AmazonQuickSightClientBuilder; import com.amazonaws.services.quicksight.model.AnonymousUserQSearchBarEmbeddingConfiguration; import com.amazonaws.services.quicksight.model.AnonymousUserEmbeddingExperienceConfiguration; import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForAnonymousUserRequest; import com.amazonaws.services.quicksight.model.GenerateEmbedUrlForAnonymousUserResult; import com.amazonaws.services.quicksight.model.SessionTag; /** * Class to call QuickSight AWS SDK to generate embed url for anonymous user. */ public class GenerateEmbedUrlForAnonymousUserExample { private final AmazonQuickSight quickSightClient; public GenerateEmbedUrlForAnonymousUserExample() { 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 GenerateEmbedUrlForAnonymousUser( final String accountId, // YOUR AWS ACCOUNT ID final String initialTopicId, // Q TOPIC ID TO WHICH THE CONSTRUCTED URL POINTS AND SEARCHBAR PREPOPULATES INITIALLY final String namespace, // ANONYMOUS EMBEDDING REQUIRES SPECIFYING A VALID NAMESPACE FOR WHICH YOU WANT THE EMBEDDING URL final List<String> authorizedResourceArns, // Q SEARCHBAR TOPIC ARN LIST TO EMBED final List<String> allowedDomains, // RUNTIME ALLOWED DOMAINS FOR EMBEDDING final List<SessionTag> sessionTags // SESSION TAGS USED FOR ROW-LEVEL SECURITY ) throws Exception { AnonymousUserEmbeddingExperienceConfiguration experienceConfiguration = new AnonymousUserEmbeddingExperienceConfiguration(); AnonymousUserQSearchBarEmbeddingConfiguration qSearchBarConfiguration = new AnonymousUserQSearchBarEmbeddingConfiguration(); qSearchBarConfiguration.setInitialTopicId(initialTopicId); experienceConfiguration.setQSearchBar(qSearchBarConfiguration); GenerateEmbedUrlForAnonymousUserRequest generateEmbedUrlForAnonymousUserRequest = new GenerateEmbedUrlForAnonymousUserRequest() .withAwsAccountId(accountId) .withNamespace(namespace) .withAuthorizedResourceArns(authorizedResourceArns) .withExperienceConfiguration(experienceConfiguration) .withSessionTags(sessionTags) .withSessionLifetimeInMinutes(600L); // OPTIONAL: VALUE CAN BE [15-600]. DEFAULT: 600 .withAllowedDomains(allowedDomains); GenerateEmbedUrlForAnonymousUserResult qSearchBarEmbedUrl = quickSightClient.generateEmbedUrlForAnonymousUser(generateEmbedUrlForAnonymousUserRequest); return qSearchBarEmbedUrl.getEmbedUrl(); } }
global.fetch = require('node-fetch'); const AWS = require('aws-sdk'); function generateEmbedUrlForAnonymousUser( accountId, // YOUR AWS ACCOUNT ID initialTopicId, // Q TOPIC ID TO WHICH THE CONSTRUCTED URL POINTS quicksightNamespace, // VALID NAMESPACE WHERE YOU WANT TO DO NOAUTH EMBEDDING authorizedResourceArns, // Q SEARCHBAR TOPIC ARN LIST TO EMBED allowedDomains, // RUNTIME ALLOWED DOMAINS FOR EMBEDDING sessionTags, // SESSION TAGS USED FOR ROW-LEVEL SECURITY generateEmbedUrlForAnonymousUserCallback, // SUCCESS CALLBACK METHOD errorCallback // ERROR CALLBACK METHOD ) { const experienceConfiguration = { "QSearchBar": { "InitialTopicId": initialTopicId // TOPIC ID CAN BE FOUND IN THE URL ON THE TOPIC AUTHOR PAGE } }; const generateEmbedUrlForAnonymousUserParams = { "AwsAccountId": accountId, "Namespace": quicksightNamespace, "AuthorizedResourceArns": authorizedResourceArns, "AllowedDomains": allowedDomains, "ExperienceConfiguration": experienceConfiguration, "SessionTags": sessionTags, "SessionLifetimeInMinutes": 600 }; const quicksightClient = new AWS.QuickSight({ region: process.env.AWS_REGION, credentials: { accessKeyId: AccessKeyId, secretAccessKey: SecretAccessKey, sessionToken: SessionToken, expiration: Expiration } }); quicksightClient.generateEmbedUrlForAnonymousUser(generateEmbedUrlForAnonymousUserParams, 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 THIS API "Access-Control-Allow-Headers": "Content-Type" }, "body": JSON.stringify(data), "isBase64Encoded": false } generateEmbedUrlForAnonymousUserCallback(result); } }); }
import json import boto3 from botocore.exceptions import ClientError import time # Create QuickSight and STS clients quicksightClient = boto3.client('quicksight',region_name='us-west-2') sts = boto3.client('sts') # Function to generate embedded URL for anonymous user # accountId: YOUR AWS ACCOUNT ID # quicksightNamespace: VALID NAMESPACE WHERE YOU WANT TO DO NOAUTH EMBEDDING # authorizedResourceArns: TOPIC ARN LIST TO EMBED # allowedDomains: RUNTIME ALLOWED DOMAINS FOR EMBEDDING # experienceConfiguration: configuration which specifies the TOPIC ID to point URL to # sessionTags: SESSION TAGS USED FOR ROW-LEVEL SECURITY def generateEmbedUrlForAnonymousUser(accountId, quicksightNamespace, authorizedResourceArns, allowedDomains, experienceConfiguration, sessionTags): try: response = quicksightClient.generate_embed_url_for_anonymous_user( AwsAccountId = accountId, Namespace = quicksightNamespace, AuthorizedResourceArns = authorizedResourceArns, AllowedDomains = allowedDomains, ExperienceConfiguration = experienceConfiguration, SessionTags = sessionTags, 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: print(e) return "Error generating embeddedURL: " + str(e)
O exemplo a seguir mostra o JavaScript (Node.js) que você pode usar no servidor do aplicativo para gerar o URL para o painel incorporado. Você pode usar isso URL em seu site ou aplicativo para exibir o painel.
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.generateEmbedUrlForAnonymousUser({ 'AwsAccountId': '111122223333', 'Namespace': 'DEFAULT' 'AuthorizedResourceArns': '["topic-arn-topicId1","topic-arn-topicId2"]', 'AllowedDomains': allowedDomains, 'ExperienceConfiguration': { 'QSearchBar': { 'InitialTopicId': 'U4zJMVZ2n2stZflc8Ou3iKySEb3BEV6f' } }, 'SessionTags': '["Key": tag-key-1,"Value": tag-value-1,{"Key": tag-key-1,"Value": tag-value-1}]', 'SessionLifetimeInMinutes': 15 }, 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' }
O exemplo a seguir mostra o. NETCódigo /C # que você pode usar no servidor do aplicativo para gerar o URL para a barra de pesquisa Q incorporada. Você pode usar isso URL em seu site ou aplicativo para exibir a barra de pesquisa Q.
using System; using Amazon.QuickSight; using Amazon.QuickSight.Model; namespace GenerateQSearchBarEmbedUrlForAnonymousUser { class Program { static void Main(string[] args) { var quicksightClient = new AmazonQuickSightClient( AccessKey, SecretAccessKey, SessionToken, Amazon.RegionEndpoint.USEast1); try { AnonymousUserQSearchBarEmbeddingConfiguration anonymousUserQSearchBarEmbeddingConfiguration = new AnonymousUserQSearchBarEmbeddingConfiguration { InitialTopicId = "U4zJMVZ2n2stZflc8Ou3iKySEb3BEV6f" }; AnonymousUserEmbeddingExperienceConfiguration anonymousUserEmbeddingExperienceConfiguration = new AnonymousUserEmbeddingExperienceConfiguration { QSearchBar = anonymousUserQSearchBarEmbeddingConfiguration }; Console.WriteLine( quicksightClient.GenerateEmbedUrlForAnonymousUserAsync(new GenerateEmbedUrlForAnonymousUserRequest { AwsAccountId = "111122223333", Namespace = "DEFAULT", AuthorizedResourceArns '["topic-arn-topicId1","topic-arn-topicId2"]', AllowedDomains = allowedDomains, ExperienceConfiguration = anonymousUserEmbeddingExperienceConfiguration, SessionTags = '["Key": tag-key-1,"Value": tag-value-1,{"Key": tag-key-1,"Value": tag-value-1}]', SessionLifetimeInMinutes = 15, }).Result.EmbedUrl ); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } }
Para assumir a função, escolha uma das seguintes API operações AWS Security Token Service (AWS STS):
-
AssumeRole— Use essa operação quando estiver usando uma IAM identidade para assumir a função.
-
AssumeRoleWithWebIdentity— Use essa operação quando estiver usando um provedor de identidade da web para autenticar seu usuário.
-
AssumeRoleWithSaml— Use essa operação quando estiver usando SAML para autenticar seus usuários.
O exemplo a seguir mostra o CLI comando para definir a IAM função. O perfil precisa ter permissões habilitadas para quicksight:GenerateEmbedUrlForAnonymousUser
.
aws sts assume-role \ --role-arn "
arn:aws:iam::111122223333:role/embedding_quicksight_q_search_bar_role
" \ --role-session-nameanonymous caller
A operação assume-role
retorna três parâmetros de saída: a chave de acesso, a chave secreta e o token da sessão.
nota
Se você receber um erro ExpiredToken
ao chamar a operação AssumeRole
, isso provavelmente ocorre porque o SESSION TOKEN
anterior ainda está nas variáveis de ambiente. Resolva isso definindo as seguintes variáveis:
-
AWS_ACCESS_ KEY _ID
-
AWS_SECRET_ACCESS_KEY
-
AWS_SESSION_TOKEN
O exemplo a seguir mostra como definir esses três parâmetros noCLI. Para uma máquina com Microsoft Windows, use set
em vez 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
"
Executar esses comandos define o ID da sessão da função do usuário que está acessando o site embedding_quicksight_q_search_bar_role/QuickSightEmbeddingAnonymousPolicy
. O ID da sessão da função é composto pelo nome da função a partir de role-arn
e o valor de role-session-name
. Usando o ID único da sessão da função para cada usuário garante que as permissões apropriadas sejam definidas para cada usuário. Isso também impede qualquer limitação do acesso do usuário. A limitação é um recurso de segurança que impede que o mesmo usuário acesse QuickSight de vários locais. Além disso, essa ação também mantém cada sessão separada e distinta. Se você estiver usando uma série de servidores Web, por exemplo, para balanceamento de carga, e uma sessão for reconectada a um servidor diferente, uma nova sessão será iniciada.
Para obter uma assinatura URL para o painel, ligue generate-embed-url-for-anynymous-user
do servidor do aplicativo. Isso retorna o painel incorporável. URL O exemplo a seguir mostra como gerar o URL para um painel incorporado usando uma chamada do lado do servidor para usuários que estão fazendo visitas anônimas ao seu portal ou aplicativo da web.
aws quicksight generate-embed-url-for-anonymous-user \ --aws-account-id
111122223333
\ --namespacedefault-or-something-else
\ --authorized-resource-arns '["topic-arn-topicId1
","topic-arn-topicId2
"]' \ --allowed-domains '["domain1
","domain2
"]' \ --experience-configuration 'QSearchBar={InitialTopicId="topicId1
"}' \ --session-tags '["Key":tag-key-1
,"Value":tag-value-1
,{"Key":tag-key-1
,"Value":tag-value-1
}]' \ --session-lifetime-in-minutes 15
Para obter mais informações sobre como usar essa operação, consulte GenerateEmbedUrlForRegisteredUser. Você pode usar essa e outras API operações em seu próprio código.
Etapa 3: incorporar a barra de pesquisa Q URL
nota
A barra de pesquisa QuickSight Q incorporada fornece a experiência clássica de QuickSight perguntas e respostas. QuickSight se integra ao Amazon Q Business para lançar uma nova experiência generativa de perguntas e respostas. Recomenda-se que os desenvolvedores usem a nova experiência de perguntas e respostas generativas. Para obter mais informações sobre a experiência de perguntas e respostas generativas incorporada, consulte Incorporando o Amazon Q na experiência QuickSight generativa de perguntas e respostas.
Na seção a seguir, você pode descobrir como incorporar a barra de pesquisa Q URL da etapa 3 em seu site ou página do aplicativo. Você faz isso com o Amazon QuickSight embedding SDK
-
Coloque a barra de pesquisa Q em uma HTML página.
-
Adicione os parâmetros para a barra de pesquisa do Q.
-
Corrija os estados de erro com mensagens que são personalizados para seu aplicativo.
Para gerar o URL que você pode incorporar ao seu aplicativo, chame a GenerateEmbedUrlForAnonymousUser
API operação. Isso URL é válido por 5 minutos e a sessão resultante é válida por até 10 horas. A API operação URL fornece um auth_code
valor que permite uma sessão de login único.
Veja a seguir uma resposta de exemplo de generate-embed-url-for-anonymous-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" }
Incorpore a barra de pesquisa Q em sua página da web usando a QuickSightincorporação SDK
Para fazer isso, certifique-se de que o domínio para hospedar a barra de pesquisa Q incorporada esteja na lista de permissões, a lista de domínios aprovados para sua QuickSight assinatura. Este requisito protege seus dados, impedindo que domínios não aprovados hospedem a barra de pesquisa Q incorporada. Para obter mais informações sobre como adicionar domínios para uma barra de pesquisa Q incorporada, consulte Gerenciar domínios e incorporação.
Quando você usa a QuickSight IncorporaçãoSDK, a barra de pesquisa Q na sua página é redimensionada dinamicamente com base no estado. Ao usar o QuickSight EmbeddingSDK, você também pode controlar os parâmetros na barra de pesquisa Q e receber retornos de chamada em termos de conclusão e erros no carregamento da página.
O exemplo a seguir mostra como usar o geradoURL. Este código é gerado no seu servidor de aplicações.
<!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>
Para que este exemplo funcione, certifique-se de usar o Amazon QuickSight Embedding SDK para carregar a barra de pesquisa Q incorporada em seu site usando JavaScript. Para obter sua cópia, siga um destes procedimentos:
-
Baixe a QuickSight incorporação SDK da Amazon
em. GitHub Esse repositório é mantido por um grupo de QuickSight desenvolvedores. -
Baixe a versão de incorporação mais SDK recente em. https://www.npmjs.com/package/amazon-quicksight-embedding-sdk
-
Se você usa
npm
para JavaScript dependências, faça o download e instale-o executando o comando a seguir.npm install amazon-quicksight-embedding-sdk
Funcionalidades opcionais de incorporação da barra de pesquisa do Amazon QuickSight Q
nota
A barra de pesquisa QuickSight Q incorporada fornece a experiência clássica de QuickSight perguntas e respostas. QuickSight se integra ao Amazon Q Business para lançar uma nova experiência generativa de perguntas e respostas. Recomenda-se que os desenvolvedores usem a nova experiência de perguntas e respostas generativas. Para obter mais informações sobre a experiência de perguntas e respostas generativas incorporada, consulte Incorporando o Amazon Q na experiência QuickSight generativa de perguntas e respostas.
As seguintes funcionalidades opcionais estão disponíveis para a barra de pesquisa Q incorporada usando a incorporaçãoSDK.
Invocar ações da barra de pesquisa do Q
As opções apresentadas a seguir são compatíveis somente para a incorporação da barra de pesquisa do Q.
-
Definir uma pergunta na barra de pesquisa Q: este recurso envia uma pergunta para a barra de pesquisa Q e a consulta imediatamente. O recurso também abre automaticamente o pop-over do Q.
qBar.setQBarQuestion('
show me monthly revenue
'); -
Fechar o pop-over do Q: este recurso fecha o pop-over do Q e retorna o iframe ao tamanho original da barra de pesquisa do Q.
qBar.closeQPopover();
Para obter mais informações, consulte a QuickSight incorporação. SDK