Etapa 3: incorporar o visual URL - Amazon QuickSight

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á.

Etapa 3: incorporar o visual URL

 Aplica-se a: Enterprise Edition 
   Público-alvo: QuickSight desenvolvedores da Amazon 

Na seção a seguir, você pode descobrir como usar o QuickSight Embedding SDK (JavaScript) para incorporar o visual URL da etapa 2 em seu site ou página do aplicativo. Com oSDK, você pode fazer o seguinte:

  • Coloque o visual em uma HTML página.

  • Adicione os parâmetros para o elemento visual.

  • Corrija os estados de erro com mensagens que são personalizados para seu aplicativo.

Chame a GenerateEmbedUrlForAnonymousUser 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 10 horas. A API operação URL fornece um código de autorização (autenticação) que permite uma sessão de login único.

Veja a seguir uma resposta de exemplo de generate-embed-url-for-anonymous-user. quicksightdomainNeste exemplo, é o URL que você usa para acessar sua QuickSight conta.

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

Incorpore esse visual em sua página da web usando a QuickSight Incorporação SDK ou adicionando-o a um URL iframe. Se você definir um número fixo de altura e largura (em pixels), use-os QuickSight e não altere seu visual à medida que a janela é redimensionada. Se você definir uma porcentagem relativa de altura e largura, QuickSight fornece um layout responsivo que é modificado à medida que o tamanho da janela muda. Ao usar o QuickSight EmbeddingSDK, você também pode controlar parâmetros dentro do visual e receber retornos de chamada em termos de conclusão da carga visual e erros.

O domínio que hospedará o visual incorporado deve estar na lista de permissões, a lista de domínios aprovados para sua Amazon QuickSight assinatura. Este requisito protege seus dados, impedindo que domínios não aprovados hospedem elementos visuais e painéis incorporados. Para obter mais informações sobre como adicionar domínios para elementos visuais e painéis incorporados, 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 reside no seu servidor de aplicações.

SDK 2.0
<!DOCTYPE html> <html> <head> <title>Visual 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 embedVisual = 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 = { parameters: [ { Name: 'country', Values: ['United States'], }, { Name: 'states', Values: [ 'California', 'Washington' ] } ], locale: "en-US", onMessage: async (messageEvent, experienceMetadata) => { switch (messageEvent.eventName) { case 'CONTENT_LOADED': { console.log("All visuals are loaded. The title of the document:", messageEvent.message.title); break; } case 'ERROR_OCCURRED': { console.log("Error occured while rendering the experience. Error code:", messageEvent.message.errorCode); break; } case 'PARAMETERS_CHANGED': { console.log("Parameters changed. Changed parameters:", messageEvent.message.changedParameters); break; } case 'SIZE_CHANGED': { console.log("Size changed. New dimensions:", messageEvent.message); break; } } }, }; const embeddedVisualExperience = await embeddingContext.embedVisual(frameOptions, contentOptions); const selectCountryElement = document.getElementById('country'); selectCountryElement.addEventListener('change', (event) => { embeddedVisualExperience.setParameters([ { Name: 'country', Values: event.target.value } ]); }); }; </script> </head> <body onload="embedVisual()"> <span> <label for="country">Country</label> <select id="country" name="country"> <option value="United States">United States</option> <option value="Mexico">Mexico</option> <option value="Canada">Canada</option> </select> </span> <div id="experience-container"></div> </body> </html>
SDK 1.0
<!DOCTYPE html> <html> <head> <title>Visual Embedding Example</title> <!-- You can download the latest QuickSight embedding SDK version from https://www.npmjs.com/package/amazon-quicksight-embedding-sdk --> <!-- Or you can do "npm install amazon-quicksight-embedding-sdk", if you use npm for javascript dependencies --> <script src="./quicksight-embedding-js-sdk.min.js"></script> <script type="text/javascript"> let embeddedVisualExperience; function onVisualLoad(payload) { console.log("Do something when the visual is fully loaded."); } function onError(payload) { console.log("Do something when the visual fails loading"); } function embedVisual() { const containerDiv = document.getElementById("embeddingContainer"); const options = { url: "<YOUR_EMBED_URL>", // replace this value with the url generated via embedding API container: containerDiv, parameters: { country: "United States" }, height: "700px", width: "1000px", locale: "en-US" }; embeddedVisualExperience = QuickSightEmbedding.embedVisual(options); embeddedVisualExperience.on("error", onError); embeddedVisualExperience.on("load", onVisualLoad); } function onCountryChange(obj) { embeddedVisualExperience.setParameters({country: obj.value}); } </script> </head> <body onload="embedVisual()"> <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 o visual incorporado em seu site usando JavaScript. Para obter sua cópia, siga um destes procedimentos: