getSessionEmbedUrl method
Generates a session URL and authorization code that you can use to embed
the Amazon Amazon Quick Sight console in your web server code. Use
GetSessionEmbedUrl where you want to provide an authoring
portal that allows users to create data sources, datasets, analyses, and
dashboards. The users who access an embedded Amazon Quick Sight console
need belong to the author or admin security cohort. If you want to
restrict permissions to some of these features, add a custom permissions
profile to the user with the UpdateUser
API operation. Use RegisterUser
API operation to add a new user with a custom permission profile
attached. For more information, see the following sections in the
Amazon Quick User Guide:
May throw AccessDeniedException.
May throw InternalFailureException.
May throw InvalidParameterValueException.
May throw QuickSightUserNotFoundException.
May throw ResourceExistsException.
May throw ResourceNotFoundException.
May throw SessionLifetimeInMinutesInvalidException.
May throw ThrottlingException.
May throw UnsupportedUserEditionException.
Parameter awsAccountId :
The ID for the Amazon Web Services account associated with your Amazon
Quick Sight subscription.
Parameter entryPoint :
The URL you use to access the embedded session. The entry point URL is
constrained to the following paths:
-
/start -
/start/analyses -
/start/dashboards -
/start/favorites -
/dashboards/DashboardId- whereDashboardIdis the actual ID key from the Amazon Quick Sight console URL of the dashboard -
/analyses/AnalysisId- whereAnalysisIdis the actual ID key from the Amazon Quick Sight console URL of the analysis
Parameter sessionLifetimeInMinutes :
How many minutes the session is valid. The session lifetime must be 15-600
minutes.
Parameter userArn :
The Amazon Quick user's Amazon Resource Name (ARN), for use with
QUICKSIGHT identity type. You can use this for any type of
Amazon Quick users in your account (readers, authors, or admins). They
need to be authenticated as one of the following:
- Active Directory (AD) users or group members
- Invited nonfederated users
- IAM users and IAM role-based sessions authenticated through Federated Single Sign-On using SAML, OpenID Connect, or IAM federation
Implementation
Future<GetSessionEmbedUrlResponse> getSessionEmbedUrl({
required String awsAccountId,
String? entryPoint,
int? sessionLifetimeInMinutes,
String? userArn,
}) async {
_s.validateNumRange(
'sessionLifetimeInMinutes',
sessionLifetimeInMinutes,
15,
600,
);
final $query = <String, List<String>>{
if (entryPoint != null) 'entry-point': [entryPoint],
if (sessionLifetimeInMinutes != null)
'session-lifetime': [sessionLifetimeInMinutes.toString()],
if (userArn != null) 'user-arn': [userArn],
};
final response = await _protocol.send(
payload: null,
method: 'GET',
requestUri:
'/accounts/${Uri.encodeComponent(awsAccountId)}/session-embed-url',
queryParams: $query,
exceptionFnMap: _exceptionFns,
);
return GetSessionEmbedUrlResponse.fromJson(response);
}