翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
登録済みユーザー向けの Amazon QuickSight コンソールの全機能の埋め込み
重要
Amazon QuickSight には、分析を埋め込むための新しいAPIオペレーションとして GenerateEmbedUrlForAnonymousUser
と がありますGenerateEmbedUrlForRegisteredUser
。
GetDashboardEmbedUrl
および GetSessionEmbedUrl
APIオペレーションを使用してダッシュボードと QuickSight コンソールを埋め込むこともできますが、最新の埋め込み機能は含まれていません。古いAPIオペレーションを使用した埋め込みの詳細については、「」を参照してくださいGetDashboardEmbedURL および GetSessionEmbedURL API 操作を使用した分析の埋め込み。
適用先: Enterprise Edition |
対象者: Amazon QuickSight デベロッパー |
Enterprise Edition では、読み取り専用ダッシュボードを提供するだけでなく、カスタムブランドのオーサリングポータルで Amazon QuickSight コンソールエクスペリエンスを提供することもできます。この方法を使用すると、ユーザーはデータソース、データセット、分析を作成できます。ユーザーは同じインターフェイスで、ダッシュボードを作成、公開、表示できます。これらの許可の一部を制限することもできます。
埋め込みコンソール QuickSight を介して にアクセスするユーザーは、作成者または管理者のセキュリティコホートに属している必要があります。リーダーには、 QuickSight コンソールが埋め込まれているか、 の一部であるかにかかわらず、コンソールを使用して作成するための十分なアクセス権がありません AWS Management Console。ただし、作成者と管理者は埋め込みダッシュボードにアクセスできます。オーサリング機能の一部にアクセス許可を制限する場合は、 UpdateUserAPIオペレーションを使用してカスタムアクセス許可プロファイルをユーザーに追加できます。RegisterUser API オペレーションを使用して、カスタムアクセス許可プロファイルがアタッチされた新しいユーザーを追加します。詳細については、次のセクションを参照してください。
-
カスタムコンソールのアクセス許可を定義してカスタムロールを作成する方法については、 QuickSight 「 コンソールへのアクセスのカスタマイズ」を参照してください。
-
名前空間を使用してマルチテナンシーユーザー、グループ、 QuickSight アセットを分離する方法については、QuickSight 「名前空間」を参照してください。
-
埋め込み QuickSightコンソールに独自のブランドを追加する方法については、「 でのテーマの使用 QuickSight」およびQuickSight 「 テーマAPIオペレーション」を参照してください。
以下のセクションでは、登録済みユーザーの埋め込み Amazon QuickSight ダッシュボードを設定する方法について詳しく説明します。
ステップ 1: 許可をセットアップする
次のセクションでは、バックエンドアプリケーションまたはウェブサーバーのアクセス許可を設定する方法について説明します。このタスクには、 への管理アクセスが必要ですIAM。
にアクセスする各ユーザーは、コンソールセッションへの Amazon QuickSight アクセスとアクセス許可を付与するロールを QuickSight 引き受けます。これを可能にするには、AWSアカウントに IAMロールを作成します。IAM ポリシーをロールに関連付けて、それを引き受けるすべてのユーザーに許可を付与します。閲覧者が読み取り専用 QuickSight 方式で にアクセスでき、他のデータや作成機能にアクセスできないようにするquicksight:RegisterUser
アクセス許可を追加します。IAM ロールは、コンソールセッション を取得するためのアクセス許可も提供する必要がありますURLs。このためには、quicksight:GenerateEmbedUrlForRegisteredUser
を追加します。
IAM ポリシーで、デベロッパーが GenerateEmbedUrlForAnonymousUser
API オペレーションの AllowedDomains
パラメータにリストできるドメインを制限する条件を作成できます。AllowedDomains
パラメータはオプションのパラメータです。これにより、開発者として、管理 QuickSightメニューで設定された静的ドメインを上書きするオプションが提供されます。代わりに、生成された にアクセスできるドメインまたはサブドメインを最大 3 つまで一覧表示できますURL。これはURL、作成したウェブサイトに埋め込まれます。パラメータにリストされているドメインのみが、埋め込みダッシュボードにアクセスできます。この状態にしていない場合、インターネット上の任意のドメインを AllowedDomains
パラメータにリストできてしまいます。
次のサンプルポリシーで、これらの権限が付与されます。
{ "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" ] } } } ] }
次のサンプルポリシーは、コンソールセッション を取得するアクセス許可を提供しますURL。ユーザーが埋め込みセッションにアクセスする前にユーザーを作成する場合は、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" ] } } } ] }
最後に、作成したロールへのアクセスを許可するには、アプリケーションの IAM ID に信頼ポリシーが関連付けられている必要があります。つまり、ユーザーがアプリケーションにアクセスすると、アプリケーションはユーザーに代わってロールを引き受け、 でユーザーをプロビジョニングできます QuickSight。次の例は、サンプルの信頼ポリシーを示しています。
{ "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" } ] }
OpenID Connect またはSAML認証の信頼ポリシーの詳細については、 IAM ユーザーガイドの以下のセクションを参照してください。
ステップ 2: 認証コードURLがアタッチされた を生成する
次のセクションでは、ユーザーを認証し、アプリケーションサーバーURLで埋め込み可能なコンソールセッションを取得する方法について説明します。
ユーザーがアプリにアクセスすると、アプリはユーザーに代わってIAMロールを引き受けます。次に、そのユーザーが存在しない場合は QuickSight、そのユーザーを に追加します。次に、アプリケーションが一意のロールセッション ID として識別子を渡します。
説明されているステップを実行すると、コンソールセッションの各ビューワーが一意にプロビジョニングされます QuickSight。行レベルのセキュリティやパラメータの動的デフォルトなど、ユーザーごとの設定も強制されます。
次の例では、ユーザーに代わってIAM認証を実行します。このコードはアプリケーションサーバー上で実行されます。
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)
次の例は、埋め込みコンソールセッションURLの を生成するためにアプリサーバーで使用できる JavaScript (Node.js) を示しています。ウェブサイトまたはアプリURLでこれを使用して、コンソールセッションを表示できます。
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' }
次の例は、.NET/ を示しています。アプリケーションサーバーで埋め込みコンソールセッションURLの を生成するために使用できる C# コード。これをウェブサイトまたはアプリURLで使用して、 コンソールを表示できます。
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); } } } }
ロールを引き受けるには、次のいずれかの AWS Security Token Service (AWS STS) APIオペレーションを選択します。
-
AssumeRole – ID を使用してロールを引き受ける場合はIAM、このオペレーションを使用します。
-
AssumeRoleWithWebIdentity – ウェブ ID プロバイダーを使用してユーザーを認証する場合は、このオペレーションを使用します。
-
AssumeRoleWithSaml – を使用してユーザーを認証する場合はSAML、このオペレーションを使用します。
次の例は、IAMロールを設定する CLI コマンドを示しています。ロールでは、quicksight:GenerateEmbedUrlForRegisteredUser
に対する許可が有効化されている必要があります。ユーザーが最初に開いたときにユーザーを追加するアプローチを採用 just-in-timeしている場合 QuickSight、ロールには に対して有効になっているアクセス許可も必要ですquicksight:RegisterUser
。
aws sts assume-role \ --role-arn "
arn:aws:iam::111122223333:role/embedding_quicksight_dashboard_role
" \ --role-session-namejohn.doe@example.com
assume-role
オペレーションは、アクセスキー、シークレットキー、およびセッショントークンの 3 つの出力パラメータを返します。
注記
AssumeRole
オペレーションを呼び出すときに ExpiredToken
エラーが発生した場合は、以前の SESSION TOKEN
がまだ環境変数に残っている可能性があります。以下の変数を設定することで、これをオフにします。
-
AWS_ACCESSKEY__ID
-
AWS_SECRET_ACCESS_KEY
-
AWS_SESSION_TOKEN
次の例は、 でこれら 3 つのパラメータを設定する方法を示していますCLI。Microsoft Windows マシンを使用している場合は、export
の代わりに set
を使用します。
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
"
これらのコマンドを実行すると、ウェブサイトにアクセスしているユーザーのロールセッション ID が embedding_quicksight_console_session_role/john.doe@example.com
に設定されます。ロールセッション ID は、role-arn
の役割名と role-session-name
値で構成されています。各ユーザーに一意のロールセッション ID を使用すると、各ユーザーに適切なアクセス許可が設定されます。また、ユーザーアクセスのスロットリングが防止されます。スロットリングは、同じユーザーが複数の場所 QuickSight から にアクセスできないようにするセキュリティ機能です。
ロールセッション IDも QuickSight のユーザー名になります。このパターンを使用して、ユーザーを QuickSight 事前にプロビジョニングしたり、ユーザーがコンソールセッションに初めてアクセスしたときにプロビジョニングしたりできます。
次の例は、ユーザーのプロビジョニングに使用できる CLI コマンドを示しています。RegisterUser、、およびその他の QuickSight APIオペレーションの詳細についてはDescribeUser、「 QuickSight APIリファレンス」を参照してください。
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
ユーザーが Microsoft AD を介して認証されている場合、RegisterUser
を使用してユーザーを設定する必要はありません。代わりに、初回アクセス時に自動的にサブスクライブする必要があります QuickSight。Microsoft AD ユーザーの場合は、 DescribeUser
を使用してユーザー を取得できますARN。
ユーザーが初めてアクセスするときに QuickSight、このユーザーを適切なグループに追加することもできます。次の例は、グループにユーザーを追加する CLI コマンドを示しています。
aws quicksight create-group-membership \ --aws-account-id=
111122223333
\ --namespace=default
\ --group-name=financeusers
\ --member-name="embedding_quicksight_dashboard_role/john.doe@example.com
"
これで、 のユーザーでもあり QuickSight、 QuickSight コンソールセッションにアクセスできるアプリのユーザーができました。
最後に、 コンソールセッションURLの署名を取得するには、アプリサーバーgenerate-embed-url-for-registered-user
から を呼び出します。これにより、埋め込み可能なコンソールセッション が返されますURL。次の例は、 AWS Managed Microsoft AD またはシングルサインオン (IAM Identity Center) で認証されたユーザーのサーバー側の呼び出しを使用してURL、埋め込みコンソールセッションの を生成する方法を示しています。
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
"}
このオペレーションの使用の詳細については、「」を参照してください。 GenerateEmbedUrlForRegisteredUser。 このオペレーションや他のAPIオペレーションは、独自のコードで使用できます。
ステップ 3: コンソールセッションを埋め込む URL
次のセクションでは、Amazon QuickSight Embedding SDK
-
コンソールセッションを HTMLページに配置します。
-
コンソールセッションにパラメータを渡します。
-
アプリケーションに合わせてカスタマイズされたメッセージでエラー状態を処理します。
GenerateEmbedUrlForRegisteredUser
API オペレーションを呼び出して、アプリに埋め込むURLことができる を生成します。これは URL 5 分間有効で、結果として得られるセッションは最大 10 時間有効です。API オペレーションは、シングルサインオンセッションauth_code
を有効にする を URLに提供します。
以下に、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" }
このコンソールセッションをウェブページに埋め込むには、 QuickSight Embedding SDK
埋め込みダッシュボードをホストするドメインは、許可リスト ( Amazon QuickSight サブスクリプションで承認されたドメインのリスト) に登録されている必要があります。この要件は、未承認のドメインが埋め込みダッシュボードをホストしないようにすることでデータを保護します。コンソールの埋め込みを行うドメインの追加に関する詳細は、「を使用して実行時にドメインのリストを許可する QuickSight API」を参照してください。
次の例は、生成された を使用する方法を示していますURL。このコードはアプリケーションサーバー上で生成されます。
<!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>
この例では、Amazon QuickSight Embedding を使用してSDK、 を使用してウェブサイトに埋め込みコンソールセッションをロードします JavaScript。コピーを取得するには、次のいずれかを実行します。
-
Amazon QuickSight Embedding SDK
を からダウンロードします GitHub。このリポジトリは、 QuickSight 開発者グループによって管理されます。 -
から最新の埋め込みSDKバージョンをダウンロードしますhttps://www.npmjs.com/package/amazon-quicksight-embedding-sdk
。 -
JavaScript 依存関係
npm
に を使用する場合は、次のコマンドを実行してダウンロードしてインストールします。npm install amazon-quicksight-embedding-sdk