You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用boto3 QuickSight API时AllowedDomains参数不存在问题求助

问题

调用boto3的QuickSight API方法generate_embed_url_for_registered_user时,传入AllowedDomains=['http://localhost']参数(用于本地开发无需频繁部署),但使用最新版boto3时报错:Unknown parameter in input: "AllowedDomains",提示该参数不在允许的参数列表中。

调用代码:

response = quickSight.generate_embed_url_for_registered_user(
    AllowedDomains=[
        'http://localhost',
    ],
    AwsAccountId=awsAccountId,
    UserArn='arn:aws:quicksight:' + identityRegion + ':' + awsAccountId + ':user/default/' + roleName + '/' + userName,
    SessionLifetimeInMinutes=adjustedSessionDuration,
    ExperienceConfiguration={'Dashboard': {'InitialDashboardId': d['DashboardId']}},
)

报错信息:

Unknown parameter in input: "AllowedDomains", must be one of: AwsAccountId, SessionLifetimeInMinutes, UserArn, ExperienceConfiguration
Traceback (most recent call last):
  File "/var/task/lambda_function.py", line 21, in lambda_handler
    response = GetQuickSightResponse.handler(event, context, mode)
  File "/var/task/GetQuickSightResponse.py", line 280, in handler
    response = getUrl(recursionDepth=1)
  File "/var/task/GetQuickSightResponse.py", line 213, in getUrl
    response = quickSight.generate_embed_url_for_registered_user(
  File "/opt/python/botocore/client.py", line 508, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/opt/python/botocore/client.py", line 878, in _make_api_call
    request_dict = self._convert_to_request_dict(
  File "/opt/python/botocore/client.py", line 939, in _convert_to_request_dict
    request_dict = self._serializer.serialize_to_request(
  File "/opt/python/botocore/validate.py", line 381, in serialize_to_request
    raise ParamValidationError(report=report.generate_report())
解决方案
  • 修正参数嵌套位置:AllowedDomains并非顶级参数,需嵌套在ExperienceConfiguration对应的体验类型下。针对仪表盘嵌入场景,要放在ExperienceConfiguration['Dashboard']字典内,修改后代码如下:
    response = quickSight.generate_embed_url_for_registered_user(
        AwsAccountId=awsAccountId,
        UserArn='arn:aws:quicksight:' + identityRegion + ':' + awsAccountId + ':user/default/' + roleName + '/' + userName,
        SessionLifetimeInMinutes=adjustedSessionDuration,
        ExperienceConfiguration={
            'Dashboard': {
                'InitialDashboardId': d['DashboardId'],
                'AllowedDomains': ['http://localhost']
            }
        },
    )
    
  • 匹配boto3版本支持:确认当前boto3版本是否支持该嵌套参数,若版本过旧需升级到对应支持版本;若使用最新版,严格按照AWS官方文档中该方法的参数结构传参,避免误用顶级参数。
  • 临时控制台配置替代:若代码调整后仍有问题,可临时在QuickSight控制台的嵌入设置中添加http://localhost为允许域名,无需在API调用中指定参数,开发完成后再移除该配置。

内容的提问来源于stack exchange,提问作者Janis Börsig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 20:57:17