Я создаю анализ, используя приведенный ниже код, используя boto3 python. Я создал шаблон, используя существующий анализ, и этот шаблон используется для создания другого анализа, но просто изменяя набор данных с той же схемой.
# Create the new analysis based on the template
response = quicksight.create_analysis(
AwsAccountId=account_id,
AnalysisId=analysis_name.replace(' ', '-') + '_new',
Name=analysis_name + '_new',
SourceEntity = {
'SourceTemplate': {
'Arn': template_arn,
'DataSetReferences': data_set_references
}
},
Permissions = {["quicksight:UpdateAnalysisPermissions",
"quicksight:DeleteAnalysis",
"quicksight:DescribeAnalysisPermissions",
"quicksight:QueryAnalysis",
"quicksight:DescribeAnalysis",
"quicksight:CreateAnalysis"]}
)
Я также получаю ответ CREATION_SUCCESSFUL.
Ответ:
{
'ResponseMetadata': {
'RequestId': '50f0f62b-36a3-4287-923f-c717ca540671',
'HTTPStatusCode': 200,
'HTTPHeaders': {
'date': 'Thu, 30 Mar 2023 15:27:41 GMT',
'content-type': 'application/json',
'content-length': '1353',
'connection': 'keep-alive',
'x-amzn-requestid': '50f0f62b-36a3-4287-923f-c717ca540671'
},
'RetryAttempts': 0
},
'Status': 200,
'Analysis': {
'AnalysisId': 'tec_dspByCreative-analysis_new',
'Arn': 'arn:aws:quicksight:us-east-1:{account-id}:analysis/tec_dspByCreative-analysis_new',
'Name': 'tec_dspByCreative analysis_new',
'Status': 'CREATION_SUCCESSFUL',
'DataSetArns': ['arn:aws:quicksight:us-east-1:{account-id}:dataset/tec_dspByCreative', 'arn:aws:quicksight:us-east-1:{account-id}:dataset/tec_dspByProduct'],
'CreatedTime': datetime.datetime(2023, 3, 30, 20, 55, 32, 233000, tzinfo = tzlocal()),
'LastUpdatedTime': datetime.datetime(2023, 3, 30, 20, 55, 32, 804000, tzinfo = tzlocal()),
'Sheets': [{
'SheetId': '055a5755-66b0-48de-8dae-09d55f471626',
'Name': 'Sheet 1'
}, {
'SheetId': '75786a78-35eb-4bfb-83c2-346e7ca25cce',
'Name': 'Sheet 2'
}]
},
'RequestId': '50f0f62b-36a3-4287-923f-c717ca540671'
}
Но анализ не отображается в консоли AWS. Я не могу понять, в чем здесь может быть проблема.
Когда я вызываю описать_анализ, он показывает арм и статус как create_successful.
Выше вопрос разрешения. Он создает анализ в консоли AWS, который вы можете проверить на вкладке «Управление Quicksight» -> «Управление активами».
Когда вы создаете анализ, к нему должен быть прикреплен Принципал, чтобы после создания ресурса в AWS он был доступен этому принципалу.
Поскольку я не добавил никакой основной информации, ресурс создается, потому что учетные данные CLI имеют разрешение на создание ресурсов.
Правильные разрешения следующие:
Permissions=[{
'Principal': f'arn:aws:quicksight:{region}:{account_id}:user/default/{username}',
'Actions': ['quicksight:RestoreAnalysis',
'quicksight:UpdateAnalysisPermissions',
'quicksight:DeleteAnalysis',
'quicksight:QueryAnalysis',
'quicksight:DescribeAnalysisPermissions',
'quicksight:DescribeAnalysis',
'quicksight:UpdateAnalysis']
}]
)