Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Incorpora tutte le funzionalità della QuickSight console Amazon per gli utenti registrati
Importante
Amazon QuickSight dispone di nuove API operazioni per l'integrazione dell'analisi: GenerateEmbedUrlForAnonymousUser
eGenerateEmbedUrlForRegisteredUser
.
Puoi comunque utilizzare le GetSessionEmbedUrl
API operazioni GetDashboardEmbedUrl
e per incorporare dashboard e QuickSight console, ma non contengono le funzionalità di incorporamento più recenti. Per ulteriori informazioni sull'incorporamento utilizzando le vecchie API operazioni, consulta. Incorporamento dell'analisi utilizzando le operazioni API GetDashboardEmbedURL e GetSessionEmbedURL
Si applica a: Enterprise Edition |
Destinatari: QuickSight sviluppatori Amazon |
Con l'edizione Enterprise, oltre a fornire dashboard di sola lettura, puoi anche fornire l'esperienza della QuickSight console Amazon in un portale di authoring personalizzato. Utilizzando questo approccio, consenti ai tuoi utenti di creare origini dati, set di dati e analisi. Nella stessa interfaccia, possono creare, pubblicare e visualizzare i pannelli di controllo. Se desideri limitare alcune di queste autorizzazioni, puoi farlo anche in questo modo.
Gli utenti che accedono QuickSight tramite una console integrata devono appartenere alla coorte di sicurezza degli autori o degli amministratori. I lettori non dispongono di accesso sufficiente per utilizzare la QuickSight console per la creazione, indipendentemente dal fatto che sia incorporata o parte di. AWS Management Console Tuttavia, gli autori e gli amministratori possono comunque accedere ai pannelli di controllo incorporati. Se desideri limitare le autorizzazioni ad alcune funzionalità di creazione, puoi aggiungere un profilo di autorizzazioni personalizzato all'utente con l'operazione. UpdateUserAPI Utilizzate l'RegisterUserAPIoperazione per aggiungere un nuovo utente a cui è associato un profilo di autorizzazione personalizzato. Per ulteriori informazioni, consulta le sezioni seguenti:
-
Per informazioni sulla creazione di ruoli personalizzati mediante la definizione di autorizzazioni personalizzate per la console, vedere Personalizzazione dell'accesso alla QuickSight console.
-
Per informazioni sull'aggiunta del proprio marchio a una console QuickSight incorporata, consulta Utilizzo dei temi in e operazioni sui temi. QuickSight QuickSight API
Nelle sezioni seguenti, puoi trovare informazioni dettagliate su come configurare QuickSight dashboard Amazon integrate per gli utenti registrati.
Argomenti
Fase 1: Configurazione delle autorizzazioni
Nella sezione seguente viene descritto come configurare le autorizzazioni per l'applicazione di back-end o il server Web. Questa attività richiede l'accesso amministrativo a. IAM
Ogni utente che accede a QuickSight assume un ruolo che gli conferisce QuickSight l'accesso e le autorizzazioni Amazon alla sessione della console. Per rendere possibile tutto ciò, crea un IAM ruolo nel tuo account. AWS Associa una IAM policy al ruolo per fornire le autorizzazioni a qualsiasi utente che la assume. Aggiungi quicksight:RegisterUser
le autorizzazioni per garantire che il lettore possa accedere QuickSight in modalità di sola lettura e non abbia accesso ad altri dati o funzionalità di creazione. Il IAM ruolo deve inoltre fornire le autorizzazioni per recuperare la sessione della console. URLs Per questo, aggiungi quicksight:GenerateEmbedUrlForRegisteredUser
.
Puoi creare una condizione nella tua IAM politica che limiti i domini che gli sviluppatori possono elencare nel AllowedDomains
parametro di un'operazione. GenerateEmbedUrlForAnonymousUser
API Il parametro AllowedDomains
è un parametro facoltativo. In qualità di sviluppatore, ti offre la possibilità di sovrascrivere i domini statici configurati nel menu Gestisci. QuickSight Puoi invece elencare fino a tre domini o sottodomini che possono accedere a un file generato. URL Questo URL viene quindi incorporato nel sito Web che crei. Solo i domini elencati nel parametro possono accedere al pannello di controllo incorporato. Senza questa condizione, nel parametro AllowedDomains
puoi elencare qualsiasi dominio su Internet.
Queste autorizzazioni sono fornite dalla seguente policy di esempio.
{ "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" ] } } } ] }
La seguente politica di esempio fornisce l'autorizzazione a recuperare una sessione URL della console. Se stai creando utenti prima dell'accesso a una sessione incorporata, la policy viene utilizzata senza quicksight:RegisterUser
.
{ "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" ] } } } ] }
Infine, all'IAMidentità dell'applicazione deve essere associata una politica di attendibilità per consentire l'accesso al ruolo appena creato. Ciò significa che quando un utente accede all'applicazione, quest'ultima può assumere il ruolo per conto dell'utente e fornire all' QuickSightutente l'accesso. Di seguito è mostrata una policy di attendibilità di esempio.
{ "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" } ] }
Per ulteriori informazioni sulle politiche di attendibilità per OpenID Connect o SAML l'autenticazione, consulta le seguenti sezioni della Guida per l'IAMutente:
Fase 2: Generare il URL file con il codice di autenticazione allegato
Nella sezione seguente, puoi scoprire come autenticare il tuo utente e ottenere la sessione di console incorporabile URL sul tuo server delle applicazioni.
Quando un utente accede alla tua app, l'app assume il IAM ruolo per conto dell'utente. Quindi aggiunge l'utente a QuickSight, se quell'utente non esiste già. In seguito, sarà necessario passare un identificatore come l'ID della sessione del ruolo univoco.
L'esecuzione dei passaggi descritti garantisce che ogni visualizzatore della sessione della console venga fornito in modo univoco. QuickSight Applica inoltre le impostazioni per utente, ad esempio la sicurezza a livello di riga e le impostazioni predefinite dinamiche per i parametri.
Gli esempi seguenti eseguono l'IAMautenticazione per conto dell'utente. Questo codice viene eseguito sul server delle applicazioni.
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'esempio seguente mostra il file JavaScript (Node.js) che è possibile utilizzare sull'app server URL per generare la sessione della console incorporata. Puoi utilizzarlo URL nel tuo sito Web o nell'app per visualizzare la sessione della 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'esempio seguente mostra il. NETCodice /C # che è possibile utilizzare sul server dell'app per generare il codice URL per la sessione della console incorporata. Puoi utilizzarlo URL nel tuo sito Web o nell'app per visualizzare 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); } } } }
Per assumere il ruolo, scegli una delle seguenti API operazioni AWS Security Token Service (AWS STS):
-
AssumeRole— Utilizzate questa operazione quando utilizzate un'IAMidentità per assumere il ruolo.
-
AssumeRoleWithWebIdentity— Utilizzate questa operazione quando utilizzate un provider di identità web per autenticare l'utente.
-
AssumeRoleWithSaml— Utilizza questa operazione quando utilizzi SAML per autenticare i tuoi utenti.
L'esempio seguente mostra il CLI comando per impostare il IAM ruolo. Il ruolo deve avere le autorizzazioni abilitate per quicksight:GenerateEmbedUrlForRegisteredUser
. Se stai adottando un just-in-time approccio per aggiungere utenti alla prima apertura QuickSight, per quicksight:RegisterUser
il ruolo è necessario abilitare anche le autorizzazioni.
aws sts assume-role \ --role-arn "
arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role
" \ --role-session-namejohn.doe@example.com
L'operazione assume-role
restituisce tre parametri di output: la chiave di accesso, la chiave segreta e il token della sessione.
Nota
Se si verifica un errore ExpiredToken
durante la chiamata all'operazione AssumeRole
, vuol dire che il SESSION TOKEN
precedente è ancora presente nelle variabili di ambiente. Cancellala impostando le seguenti variabili:
-
AWS_ACCESS_ _ID KEY
-
AWS_SECRET_ACCESS_KEY
-
AWS_SESSION_TOKEN
L'esempio seguente mostra come impostare questi tre parametri in. CLI Se usi un computer Microsoft Windows, utilizza set
invece di 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'esecuzione di questi comandi imposta l'ID della sessione del ruolo dell'utente che visita la pagina del tuo sito Web suembedding_quicksight_console_session_role/john.doe@example.com
. L'ID della sessione del ruolo è costituito dal nome del ruolo di role-arn
e dal valore role-session-name
. L'utilizzo dell'ID della sessione del ruolo univoco per ciascun utente garantisce che le autorizzazioni appropriate siano impostate per ogni utente. Impedisce inoltre il throttling dell'accesso degli utenti. La limitazione è una funzionalità di sicurezza che impedisce allo stesso utente di accedere QuickSight da più postazioni.
L'ID della sessione del ruolo diventa anche il nome utente in. QuickSight È possibile utilizzare questo modello per effettuare il provisioning degli utenti in QuickSight anticipo o per assegnarli la prima volta che accedono a una sessione della console.
L'esempio seguente mostra il CLI comando che è possibile utilizzare per effettuare il provisioning di un utente. Per ulteriori informazioni e altre QuickSight API operazioni RegisterUserDescribeUser, consultate il QuickSight APIReference.
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 l'utente viene autenticato tramite Microsoft AD, non è necessario utilizzare RegisterUser
per configurarlo. Dovrebbero invece essere sottoscritti automaticamente la prima volta che accedono QuickSight. Per gli utenti di Microsoft AD, è possibile utilizzare DescribeUser
per ottenere l'utenteARN.
La prima volta che un utente accede QuickSight, puoi anche aggiungere questo utente al gruppo appropriato. L'esempio seguente mostra il CLI comando per aggiungere un utente a un gruppo.
aws quicksight create-group-membership \ --aws-account-id=
111122223333
\ --namespace=default
\ --group-name=financeusers
\ --member-name="embedding_quicksight_dashboard_role/john.doe@example.com
"
Ora hai un utente della tua app che è anche utente di QuickSight e che ha accesso alla sessione della QuickSight console.
Infine, per ottenere una firma URL per la sessione della console, chiama generate-embed-url-for-registered-user
dal server dell'app. Ciò restituisce la sessione della console incorporabile. URL L'esempio seguente mostra come generare il file URL per una sessione di console incorporata utilizzando una chiamata lato server per utenti autenticati tramite AWS Managed Microsoft AD o Single Sign-On (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
"}
Per ulteriori informazioni sull'utilizzo di questa operazione, vedere GenerateEmbedUrlForRegisteredUser. È possibile utilizzare questa e altre API operazioni nel proprio codice.
Passaggio 3: incorporare la sessione della console URL
Nella sezione seguente, puoi scoprire come utilizzare Amazon QuickSight Embedding SDK (JavaScript) per incorporare
-
Posiziona la sessione della console su una HTML pagina.
-
Invia i parametri nella sessione della console.
-
Gestisci stati di errore con messaggi personalizzati per l'applicazione.
Chiama l'GenerateEmbedUrlForRegisteredUser
APIoperazione per generare il URL file che puoi incorporare nella tua app. URLÈ valido per 5 minuti e la sessione risultante è valida per un massimo di 10 ore. L'APIoperazione fornisce una sessione auth_code
che URL abilita una sessione Single Sign-On.
Di seguito viene mostrata una risposta di esempio da 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" }
Incorpora questa sessione di console nella tua pagina web utilizzando l' QuickSight incorporamento SDK
Il dominio che ospiterà i pannelli di controllo integrati deve essere presente nell'allowlist, l'elenco dei domini approvati per la tua sottoscrizione Amazon QuickSight . Questo requisito protegge i tuoi dati impedendo ai domini non approvati di ospitare pannelli di controllo incorporati. Per ulteriori informazioni sull'aggiunta di domini per una console incorporata, consulta Consenti l'inserimento di domini in fase di esecuzione con QuickSight API.
L'esempio seguente mostra come utilizzare il generato. URL Questo codice viene generato sul server delle applicazioni.
<!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>
Affinché questo esempio funzioni, assicurati di utilizzare Amazon QuickSight Embedding SDK per caricare la sessione della console incorporata sul tuo sito Web utilizzando JavaScript. Per ottenere la tua copia, procedi in uno dei seguenti modi:
-
Scarica Amazon QuickSight Embedding SDK
da GitHub. Questo repository è gestito da un gruppo di QuickSight sviluppatori. -
Scarica l'ultima SDK versione di incorporamento da. https://www.npmjs.com/package/amazon-quicksight-embedding-sdk
-
Se lo utilizzi
npm
per JavaScript le dipendenze, scaricalo e installalo eseguendo il comando seguente.npm install amazon-quicksight-embedding-sdk