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 funcionalidade completa do QuickSight console da Amazon para usuários registrados
Importante
QuickSight A Amazon tem novas API operações para incorporar análises: GenerateEmbedUrlForAnonymousUser
e. GenerateEmbedUrlForRegisteredUser
Você ainda pode usar as GetSessionEmbedUrl
API operações GetDashboardEmbedUrl
e para incorporar painéis e o QuickSight console, mas elas não contêm os recursos de incorporação mais recentes. Para obter mais informações sobre a incorporação usando as API operações antigas, consulteComo incorporar analytics usando as operações de API GetDashboardEmbedURL e GetSessionEmbedURL.
Aplica-se a: Enterprise Edition |
Público-alvo: QuickSight desenvolvedores da Amazon |
Com a edição Enterprise, além de fornecer painéis somente para leitura, você também pode fornecer a experiência do QuickSight console da Amazon em um portal de criação personalizado. Ao usar essa abordagem, você permite que os usuários criem fontes de dados, conjuntos de dados e análises. Na mesma interface, eles podem criar, publicar e visualizar painéis. Se desejar restringir algumas dessas permissões, você também pode fazer isso.
Os usuários que acessam QuickSight por meio de um console incorporado precisam pertencer ao grupo de segurança do autor ou administrador. Os leitores não têm acesso suficiente para usar o QuickSight console para criação, independentemente de ele estar incorporado ou fazer parte do AWS Management Console. No entanto, autores e administradores ainda podem acessar painéis incorporados. Se quiser restringir as permissões para alguns dos recursos de criação, você pode adicionar um perfil de permissões personalizado ao usuário com a UpdateUserAPIoperação. Use a RegisterUserAPIoperação para adicionar um novo usuário com um perfil de permissão personalizado anexado. Para obter mais informações, consulte as seções a seguir:
-
Para obter informações sobre como criar funções personalizadas definindo permissões personalizadas do console, consulte Personalizando o acesso ao QuickSight console.
-
Para obter informações sobre como adicionar sua própria marca a um QuickSight console incorporado, consulte Usando temas QuickSight e as APIoperações QuickSight temáticas.
Nas seções a seguir, você encontrará informações detalhadas sobre como configurar QuickSight painéis incorporados da Amazon para usuários registrados.
Tópicos
Etapa 1: configurar permissões
Na seção a seguir, você descobrirá como configurar permissões para a aplicação de back-end ou para o servidor Web. Essa tarefa requer acesso administrativo IAM a.
Cada usuário que acessa um QuickSight assume uma função que lhe dá QuickSight acesso e permissões da Amazon para a sessão do console. Para tornar isso possível, crie uma IAM função na sua AWS conta. Associe uma IAM política à função para fornecer permissões a qualquer usuário que a assuma. Adicione quicksight:RegisterUser
permissões para garantir que o leitor possa acessar QuickSight somente para leitura e não tenha acesso a nenhum outro recurso de dados ou criação. A IAM função também precisa fornecer permissões para recuperar a sessão URLs do console. Para isso, você adiciona quicksight:GenerateEmbedUrlForRegisteredUser
.
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 a você, como desenvolvedor, a opção de substituir os domínios estáticos que estão configurados no menu Gerenciar QuickSight. Em vez disso, você pode listar até três domínios ou subdomínios que podem acessar um gerado. URL Em seguida, isso URL é incorporado ao site que você cria. Somente os domínios listados no parâmetro podem acessar o painel incorporado. Sem essa condição, você pode listar qualquer domínio da Internet no parâmetro AllowedDomains
.
O modelo de política a seguir fornece essas permissões.
{ "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" ] } } } ] }
O exemplo de política a seguir fornece permissão para recuperar uma sessão URL de console. Você pode usar a política sem quicksight:RegisterUser
, se estiver criando usuários antes que eles acessem uma sessão incorporada.
{ "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 fim, 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 acessa seu aplicativo, seu aplicativo pode assumir a função em nome do usuário e provisioná-lo. QuickSight 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 para OpenID Connect ou SAML autenticação, consulte as seguintes seções do Guia do IAMusuário:
Etapa 2: gerar o URL com o código de autenticação anexado
Na seção a seguir, você pode descobrir como autenticar seu usuário e obter a sessão do console 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, ele 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.
A execução das etapas descritas garante que cada visualizador da sessão do console seja provisionado exclusivamente no. QuickSight Ele também aplica as configurações por usuário, como a segurança em nível de linha e padrões dinâmicos para os parâmetros.
Os exemplos a seguir realizam a IAM autenticação em nome do usuário. Este código é executado no servidor da aplicação.
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)
O exemplo a seguir mostra o JavaScript (Node.js) que você pode usar no servidor do aplicativo para gerar o URL para a sessão do console incorporado. Você pode usar isso URL em seu site ou aplicativo para exibir a sessão do 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' }
O exemplo a seguir mostra o. NETCódigo /C # que você pode usar no servidor do aplicativo para gerar o URL para a sessão do console incorporado. Você pode usar isso URL em seu site ou aplicativo para exibir o 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); } } } }
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:GenerateEmbedUrlForRegisteredUser
. Se você estiver adotando uma just-in-time abordagem para adicionar usuários quando eles abrirem pela primeira vez QuickSight, a função também precisa de permissões habilitadasquicksight:RegisterUser
.
aws sts assume-role \ --role-arn "
arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role
" \ --role-session-namejohn.doe@example.com
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. Se você estiver usando 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_console_session_role/john.doe@example.com
. 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.
O ID da sessão da função também torna-se o nome do usuário no QuickSight. Você pode usar esse padrão para provisionar seus usuários QuickSight com antecedência ou para provisioná-los na primeira vez que acessarem uma sessão de console.
O exemplo a seguir mostra o CLI comando que você pode usar para provisionar um usuário. Para obter mais informações sobre RegisterUserDescribeUser,, e outras QuickSight API operações, consulte a QuickSight APIReferência.
aws quicksight register-user \ --aws-account-id
111122223333
\ --namespacedefault
\ --identity-typeIAM
\ --iam-arn "arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role
" \ --user-roleREADER
\ --user-namejhnd
\ --session-name "john.doe@example.com
" \ --emailjohn.doe@example.com
\ --regionus-east-1
\ --custom-permissions-nameTeamA1
Se o usuário for autenticado por meio do Microsoft AD, você não precisará usar o RegisterUser
para configurá-lo. Em vez disso, eles devem ser inscritos automaticamente na primeira vez que QuickSight acessarem. Para usuários do Microsoft AD, você pode usar DescribeUser
para obter o usuárioARN.
Na primeira vez que um usuário acessa QuickSight, você também pode adicionar esse usuário ao grupo apropriado. O exemplo a seguir mostra o CLI comando para adicionar um usuário a um 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
"
Agora você tem um usuário do seu aplicativo que também é usuário e tem acesso à sessão do QuickSight console. QuickSight
Por fim, para obter uma assinatura URL para a sessão do console, ligue generate-embed-url-for-registered-user
do servidor do aplicativo. Isso retorna a sessão do console incorporável. URL O exemplo a seguir mostra como gerar o URL para uma sessão de console incorporada usando uma chamada do lado do servidor para usuários autenticados por meio de um login único ( AWS Managed Microsoft AD Identity Center). IAM
aws quicksight generate-embed-url-for-registered-user \ --aws-account-id
111122223333
\ --entry-pointthe-url-for--the-console-session
\ --session-lifetime-in-minutes600
\ --user-arnarn:aws:quicksight:us-east-1:111122223333:user/default/embedding_quicksight_dashboard_role/embeddingsession
--allowed-domains '["domain1
","domain2
"]' \ --experience-configuration QuickSightConsole={InitialPath="/start
"}
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 sessão do console URL
Na seção a seguir, você pode descobrir como usar o Amazon QuickSight Embedding SDK
-
Coloque a sessão do console em uma HTML página.
-
Adicione os parâmetros para a sessão do console.
-
Corrija os estados de erro com mensagens que são personalizados para seu aplicativo.
Chame a GenerateEmbedUrlForRegisteredUser
API operação para gerar o URL que você pode incorporar ao seu aplicativo. 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
que permite uma sessão de login único.
Veja a seguir uma resposta de exemplo 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" }
Incorpore essa sessão do console em sua página da web usando a QuickSight Incorporação SDK
O domínio que hospedará os painéis incorporados deverá estar na lista de permissão, a lista de domínios aprovados para a sua assinatura do Amazon QuickSight . Esse requisito protege seus dados, impedindo que domínios não aprovados hospedem painéis incorporados. Para obter mais informações sobre como adicionar domínios a um console incorporado, consulte Permitir listar domínios em tempo de execução com o QuickSight API.
O exemplo a seguir mostra como usar o geradoURL. Este código é gerado no seu servidor de aplicações.
<!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 exemplo funcione, certifique-se de usar o Amazon QuickSight Embedding SDK para carregar a sessão do console incorporado em seu site usando JavaScript. Para obter sua cópia, siga um destes procedimentos:
-
Baixe o Amazon QuickSight Embedding em SDK
. 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