Amazon Web Services 한국 블로그

Amazon QuickSight, 세부적 시각 자료 임베딩 기능 출시

오늘 Amazon QuickSight 세부적인 시각 자료 임베딩 기능을 출시했습니다. 이제 이 기능을 사용해 트래픽이 많은 웹페이지와 애플리케이션에 Amazon QuickSight 대시보드의 각 시각 자료를 넣을 수 있습니다. 또한, 서버나 소프트웨어를 설정하거나 인프라를 관리하지 않더라도 최종 사용자가 가장 필요한 곳에 자세한 인사이트를 제공할 수 있습니다.

이 새로운 기능에 대한 간단한 미리 보기는 다음과 같습니다.
Fine-Grained Visual Embedding Powered by Amazon QuickSight의 간단한 미리 보기

신규 기능 소개 – 세부적 시각 자료 임베딩
Amazon QuickSight는 클라우드에서 제공하는 내장 가능한 ML 기반 비즈니스 인텔리전스(BI) 서비스이며, 서버를 관리할 필요 없이 조직 내부에서 최종 사용자와 데이터 중심 의사 결정을 할 수 있는 인터랙티브 데이터 시각화 자료, 분석, 보고를 제공합니다.

Amazon QuickSight는 내부 포털이나 공개 사이트에 브랜드 분석을 포함할 수 있는 내장형 분석 도구 기능입니다. 고객은 인터랙티브 대시보드, 자연 언어 쿼리(NLQ), BI 작성 경험 전체를 애플리케이션에 쉽고 매끄럽게 포함할 수 있습니다. 이를 통해 데이터에 입각한 결정을 하는 과정을 간소화할 수 있는 편의성을 최종 사용자에게 제공합니다.

AWS의 고객은 다양한 대시보드의 시각 자료를 애플리케이션과 웹사이트에 포함함으로써 깊이 통합된 데이터 중심 경험을 제공하고, 최종 사용자 경험을 향상합니다. 원래는 고객이 개별적인 시각화 자료를 포함하려면 생성 레이어와 차트 작성 라이브러리를 구축, 확장하고 관리해야 했습니다.

이제 세부적 시각 자료 임베딩 기능을 사용하는 개발자와 ISV는 API를 사용해서 대시보드의 모든 시각 자료를 애플리케이션에 포함할 수 있습니다. 기업은 시각 자료를 원클릭 임베딩으로 내부 사이트에 포함할 수 있습니다. 최종 사용자는 세부적 시각 자료 임베딩 기능을 통해 다양한 주요 데이터 시각 자료에 액세스할 수 있는 매끄러운 통합 환경에서 인사이트를 얻습니다.

이 기능을 사용하여 시각 자료를 샘플 웹 애플리케이션 페이지에 넣을 수 있는 예시 보기를 준비했습니다.

시각 자료를 포함한 샘플 웹 앱

시각 자료를 포함한 샘플 웹 앱

소스 데이터가 변경되거나 시각 자료가 업데이트되면 포함된 시각 자료가 자동으로 업데이트됩니다. 고객 측이 서버를 관리할 필요 없이 포함된 시각 자료가 자동으로 확장되고 트래픽이 높은 페이지에서 우수한 성능을 내도록 최적화됩니다.

세부적 시각 자료 임베딩 기능 시작하기
세부적 시각 자료 임베딩 기능을 사용하는 방법은 두 가지로, 원클릭 임베딩을 사용하는 방법과 QuickSight API를 사용하여 임베드 URL을 생성하는 방법이 있습니다. 기술에 대해 잘 모르는 사용자라도 원클릭 임베딩 기능을 사용하면 임베드 코드를 생성해 내부 포털이나 공개 사이트에 직접 삽입할 수 있습니다. ISV와 개발자는 API를 사용해서 애플리케이션에 풍부한 시각 자료를 포함할 수 있습니다. 또한, 각 행의 보안을 확보하여 데이터 액세스를 보호함으로써 사용자가 자신의 데이터에만 액세스하도록 합니다.

Amazon QuickSight 대시보드에서 이 기능을 사용해보겠습니다. Create an Amazon QuickSight dashboard using sample data(샘플 데이터를 사용하여 Amazon QuickSight 대시보드 생성) 문서에 나와 있는 데이터 세트를 사용한 대시보드가 준비되어 있습니다.

샘플 데이터를 사용하는 Amazon QuickSight 대시보드

샘플 데이터를 사용하는 Amazon QuickSight 대시보드

원클릭 임베딩을 사용하여 임베드 코드 생성
Amazon QuickSight는 원클릭 임베딩을 지원합니다. 이 기능을 사용하면 직접 개발할 필요 없이 임베드 코드를 얻을 수 있습니다. 원클릭 임베딩은 1) 원클릭 엔터프라이즈 임베딩, 2) 원클릭 퍼블릭 임베딩, 이렇게 두 가지 유형이 있습니다. 엔터프라이즈 임베딩을 사용하면 계정에 등록된 사용자가 대시보드에 액세스하도록 허용할 수 있습니다. 퍼블릭 임베딩의 경우, 누구나 대시보드에 액세스하도록 허용할 수 있습니다.

원클릭 임베딩을 통해 임베드 코드를 가져오려면 포함할 시각 자료를 선택하고 메뉴 옵션(Menu Options)을 선택한 다음, 시각 자료 포함(Embed visual)을 선택합니다.

메뉴 옵션(Menu Options)에서 "시각 자료 임베드(Embed visual)" 선택

메뉴 옵션(Menu Options)에서 시각 자료 임베드(Embed visual) 선택

시각 자료 임베드(Embed visual)를 선택하고 나면 오른쪽에 새로운 메뉴가 나옵니다. 여기에 선택한 시각 자료에 대한 자세한 정보가 나옵니다.

"임베드 코드(Embed code)" 복사

임베드 코드(Embed code) 복사
임베드 코드(Embed code) 섹션에는 애플리케이션, 포털 또는 웹사이트에 넣을 수 있는 iframe 코드가 있습니다. 이렇게 포함된 시각 자료를 호스팅하는 도메인은 허용 목록에 있어야 합니다. 허용 목록에 대해서는 Allow listing static domains(고정 도메인을 허용 목록에 추가) 페이지에서 확인하실 수 있습니다. 임베드 코드의 렌더링 모습을 보여주는 샘플 디스플레이는 다음과 같습니다.

Fine-Grained Visual Embedding Powered by Amazon QuickSight의 샘플 디스플레이

Fine-Grained Visual Embedding Powered by Amazon QuickSight의 샘플 디스플레이

Amazon QuickSight 내에서 시각적 소스가 변경될 경우, 시각 자료를 포함한 웹 앱이나 앱 내에 반영됩니다. 또한, QuickSight에서 포함한 시각 자료는 웹사이트의 트래픽이 증가하면 함께 확장됩니다.

고객의 관점에서 원클릭 임베딩은 기술적 능력이 없더라도 웹사이트 어디서나 Amazon QuickSight의 다양한 대시보드에 있는 주요 데이터 시각 자료를 최종 사용자에게 제공하는 데 도움이 됩니다.

임베드 URL을 프로그래밍 방식으로 생성
원클릭 임베딩 외에도 API를 통해 시각적 임베딩을 수행할 수 있습니다. API를 통해 시각적 임베딩을 수행하려면 AWS CLI 또는 SDK를 사용하여 GenerateEmbedUrlForAnonymousUser 또는 GenerateEmbedUrlForRegisteredUser API를 호출할 수 있습니다.

GenerateEmbedUrlForAnonymousUser API를 사용하면 Amazon QuickSight에서 사용자를 프로비저닝하지 않더라도 이들 사용자를 위해 애플리케이션에 시각 자료를 포함할 수 있습니다.

또한, GenerateEmbedUrlForRegisteredUser API를 사용하면 Amazon QuickSight에서 프로비저닝된 사용자를 위해 애플리케이션에 시각 자료를 포함할 수 있습니다.

이 API는 아래의 속성을 포함하여 DashboardVisual에서 ExperienceConfiguration 파라미터를 전달하면 됩니다.

{
    'DashboardId':'<DASHBOARD_ID>',  
    'SheetId':'<SHEET_ID>',  
    'VisualId':'<VISUAL_ID>'  
}

그런 다음, 대시보드(Dashboard)시트(Sheet)시각 자료(Visual)에 대한 ID를 가져오려면 선택한 시각 자료의 개발자용 ID(IDs for Developers) 메뉴 섹션에서 이들 속성값을 찾을 수 있습니다.

개발자용 ID(IDs for Developers)

개발자용 ID(IDs for Developers)

CLI를 사용하여 임베드 URL 생성
모든 필요한 ID를 수집했다면 파라미터로 전달할 수 있습니다. 임베드 URL을 생성하기 위한 예시 API 명령은 다음과 같습니다.

aws quicksight generate-embed-url-for-anonymous-user \  
    --aws-account-id <ACCOUNT_ID> \  
    --session-lifetime-in-minutes 15 \          
    --authorized-resource-arns “<DASHBOARD_ARN>”           
    --namespace default           
    --experience-configuration '{"DashboardVisual": \
        {
            "InitialDashboardVisualId": \
            {  
                    "DashboardId”:”<DASHBOARD_ID>”,  \
                    "SheetId”:”<SHEET_ID>”,  \
                    "VisualId”:”<VISUAL_ID”  \
            }  
        }}'  

요청이 성공할 경우, 다음의 응답을 받습니다. 그러면 웹 또는 애플리케이션 내에서 EmbedUrl 속성을 사용할 수 있습니다.

{  
    "Status": 200,  
    "EmbedUrl": “<EMBED_URL>”,  
    "RequestId": “<REQUEST_ID>”,  
    "AnonymousUserArn": “<ARN>”  
}

SDK를 사용하여 임베드 URL 생성

AWS CLI 외에 AWS SDK를 사용해도 임베드 URL을 생성할 수 있습니다. Python의 예제는 다음과 같습니다.

response = client.generate_embed_url_for_anonymous_user(  
    AwsAccountId='123456789012',  
    SessionLifetimeInMinutes=15,  
    Namespace='default',  
    AuthorizedResourceArns=[  
        '<DASHBOARD_ARN>',  
    ],  
    ExperienceConfiguration={  
        'DashboardVisual': {  
            'InitialDashboardVisualId': {  
                'DashboardId':'<DASHBOARD_ID>',  
                'SheetId':'<SHEET_ID>',  
                'VisualId':'<VISUAL_ID>'  
            }  
        }  
    },  
    AllowedDomains=[  
        'https://YOUR-DOMAIN.com',  
    ]  
)  

API를 사용하면 런타임에서 허용된 도메인을 유연하게 구성할 수 있습니다. 위의 예제는 AllowedDomains 속성에서 도메인을 전달할 수 있습니다.

요청이 성공할 경우, 이 API는 외부 웹 앱에 삽입할 수 있는 시각적 임베딩의 URL과 함께 성공 응답을 반환합니다. 응답 예제는 다음과 같습니다.

{
    "Status": 200,  
    "EmbedUrl":"<EMBED_URL>",  
    "RequestId": "<REQUEST_ID>”
}  

API 방식을 사용하면 개발자가 유연하게 임베드 URL을 프로그래밍 방식으로 생성할 수 있습니다. 개발자는 Amazon QuickSight의 등록되지 않은 사용자와 등록된 사용자에 대해 시각 자료의 액세스 권한을 지정할 수 있습니다.

데모
실제로 사용하는 모습을 확인하려면 이 데모를 참조하세요.

요금 및 가용성
모든 지원되는 리전의 Amazon QuickSight Enterprise Edition에서 새로운 기능, Fine-Grained Visual Embedding을 사용할 수 있습니다. 자세한 내용은 설명서 페이지를 참조하세요.

즐겁게 빌드해 보세요.

— Donnie