es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tablero de Quicksight utilizando una Plantilla existente.

Estoy tratando de crear una plantilla en Quicksight, para que me permita crear paneles de control con diferentes conjuntos de datos, pero con la misma estructura.

Estoy utilizando boto3 (Python) y la documentación indica que una plantilla es capaz de crear un panel de control utilizando diferentes conjuntos de datos, siempre y cuando el nuevo conjunto de datos tenga la misma estructura que el conjunto de datos con el que se generó la plantilla.

Sin embargo, cuando intento crear el panel de control, obtengo el siguiente error:

An error occurred (InvalidParameterValueException) when calling the CreateDashboard operation: Given placeholders [test_2] are not part of template

Sería de gran ayuda si alguien pudiera indicarme los pasos a seguir en el código.

¡Muchas gracias!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para crear una plantilla en Quicksight que te permita crear paneles con diferentes conjuntos de datos pero con la misma estructura, sigue estos pasos utilizando boto3 (Python):

    1. Crea un panel con la estructura deseada en Quicksight.
    2. Utiliza la función create_template en boto3 para crear una plantilla para ese panel:

      import boto3
      
      quicksight = boto3.client('quicksight')
      
      create_template_response = quicksight.create_template(
          AwsAccountId='TU_ID_DE_CUENTA',
          TemplateId='TU_ID_DE_PLANTILLA',
          Name='NOMBRE_DE_PLANTILLA',
          SourceTemplate={
              'Arn': 'ARN_DEL_PANEL'
          }
      )
      
      print(create_template_response)
      

    3. Una vez creada la plantilla, puedes utilizar la función update_dashboard para actualizar los marcadores de posición con el nuevo conjunto de datos:
      update_dashboard_response = quicksight.update_dashboard(
          AwsAccountId='TU_ID_DE_CUENTA',
          DashboardId='TU_ID_DE_PANEL',
          DashboardPublishOptions={
              'AdHocFilteringOption': {
                  'AvailabilityStatus': 'ENABLED'|'DISABLED'
              },
              'ExportToCSVOption': {
                  'AvailabilityStatus': 'ENABLED'|'DISABLED'
              },
              'SheetControlsOption': {
                  'VisibilityState': 'EXPANDED'|'COLLAPSED'
              }
          },
          Name='NOMBRE_DE_PANEL',
          SourceEntity={
              'SourceTemplate': {
                  'Arn': 'ARN_DE_LA_PLANTILLA',
                  'DataSetReferences': [
                      {
                          'DataSetPlaceholder': 'test_2',  # Nombre del marcador de posición en la plantilla
                          'DataSetArn': 'ARN_DEL_NUEVO_CONJUNTO_DE_DATOS'  # ARN del nuevo conjunto de datos con la misma estructura
                      },
                  ]
              },
              'DataSetReferences': [
                  {
                      'DataSetPlaceholder': 'test_2',
                      'DataSetArn': 'ARN_DEL_NUEVO_CONJUNTO_DE_DATOS'
                  },
              ]
          }
      )
      
      print(update_dashboard_response)
      

    Ten en cuenta que el DataSetPlaceholder en el parámetro DataSetReferences debe coincidir con el nombre del marcador de posición creado en la plantilla.

Comments are closed.