Невозможно использовать панель мониторинга Quicksight в качестве встроенного URL-адреса в домене, занесенном в белый список S3 / cloudfront - PullRequest
0 голосов
/ 14 февраля 2019

Я пытался просмотреть панель инструментов Quicksight как встроенный URL-адрес нашего домена, который был включен в белый список в учетной записи AWS Quicksight.Наш сайт размещен на S3 bucket как статический сайт.Ниже приведен пример функции javascript в блоге AWS .

Ниже приведен пример функции javascript.

function embedDashboard() {
                var containerDiv = document.getElementById("dashboardContainer");
                var options = {
                    url: "<signed URL from Step 3>",
                    container: containerDiv,
                    parameters: {
                        country: 'United States'
                    },
                    scrolling: "no",
                    height: "700px",
                    width: "1000px"
                };
                dashboard = QuickSightEmbedding.embedDashboard(options);
                dashboard.on('error', onError);
                dashboard.on('load', onDashboardLoad);
            }

Полный пример приведен по другой ссылкетот же блог Amazon QuickSight JavaScript SDK

К сожалению, образец не работает.

1 Ответ

0 голосов
/ 14 февраля 2019

Ниже приведен полный пример 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 и внес некоторые изменения.

Общие шагиприведены ниже.

Нижняя линия была изменена. enter image description here Выше линия была изменена с нижней строкой.enter image description here Загруженные файлы .js и lib

Некоторые файлы .js и lib также были загружены с указанного ниже адреса и загружены на веб-сайт со страницы dashboard.html..

https://unpkg.com/amazon-quicksight-embedding-sdk@1.0.2/dist/ enter image description here 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
...