Ниже приведен полный пример HTML-страницы (dashboard.html), включая функцию javascript.
<!DOCTYPE html>
<html>
<head>
<title>My Dashboard</title>
<script type="text/javascript" src="quicksight-embedding-js-sdk.min.js"></script>
<script type="text/javascript">
function embedDashboard() {
var containerDiv = document.getElementById("dashboardContainer");
var params = {
url: "<signed URL>",
container: containerDiv,
parameters: {
},
height: "700px",
width: "1000px"
};
var dashboard = QuickSightEmbedding.embedDashboard(params);
dashboard.on('error', function(err) {console.log('dashboard error:', err)});
dashboard.on('load', function() {});
}
</script>
</head>
<body onload="embedDashboard()">
<div id="dashboardContainer"></div>
</body>
</html>
Образец взят из того же блога AWS и внес некоторые изменения.
Общие шагиприведены ниже.
Нижняя линия была изменена. Выше линия была изменена с нижней строкой. Загруженные файлы .js и lib
Некоторые файлы .js и lib также были загружены с указанного ниже адреса и загружены на веб-сайт со страницы dashboard.html..
https://unpkg.com/amazon-quicksight-embedding-sdk@1.0.2/dist/ S3 / конфигурация Cloudfront
Поскольку домен из белого списка в настройке Quicksight является URL-адресом https, поэтомупришлось настроить статический веб-сайт s3 с Cloudfront.
- создал корзину s3 с dashboard.mydomain.com.au
- создал веб-дистрибутив Cloudfront, включая SSL от ACM.
- создал запись / псевдоним в Route53 с записью Cloudfront dns.
Сгенерированный dashboard-embed-url
Команда CLI AWS
aws quicksight get-dashboard-embed-url --aws-account-id 00000000000 --dashboard-id "xxxxxxx-xxxxxxx-xxxxxxx-xxxxxxx-xxxxxxx" --identity-type "IAM"
Использовал этот встроенный / подписанный URL в dashboard.html в «подписанном URL»
Загрузить dashboard.html в корзину s3.
Веб-страница готова
Теперь веб-страница доступна с панели управления Quicksight из белого списка.
https://dashboard.mydomain.com.au/dashboard.html