Integraciones
Breadcrumbs

Tableau

Modelo de integración

Para obtener los metadatos relacionados con Tableau (sites, projects y workbooks) se usan las siguientes apis rest de Tableau:

  • Sign in → ‘{host}/api/{version}/auth/signin’

  • Sign out → ‘{host}/api/{version}/auth/signout’

  • Query sites → ‘{host}/api/{version}/sites’. Se envían los parámetros pageSize y pageNumber para habilitar la paginación, el parámetro pageSize es configurable hasta 1000 (máximo de Tableau) según se indica más adelante en el apartado Configuración

  • Graphql → ‘{host}/relationship-service-war/graphql’

Extracción de metadatos

Para poder hacer extracción de metadatos de workbooks de Tableau, el usuario visualiza la siguiente jerarquía de estructuras de la tecnología con sites, proyectos y workbooks:

  • Site1

    • Prj1

      • Wrk1

      • Wrk2

    • Prj2

      • Wrk3

      • Wrk4

  • SiteN

    • PrjN

      • WrkM

Se recomienda crear un subtipo específico de entidad WORKBOOK debido a que el metadato extraído es muy específico de esta tecnología.


El plugin extrae los siguientes atributos de los workbooks (deben llamarse igual en la tabla attribute_definition, campo name para que aparezcan en la plantilla).

  • path con la concatenación de los valores de site, proyecto y workbook (siteName/projectName/workbookName)

  • infrastructure con el valor seleccionado

  • technology con el valor seleccionado

  • zone con el valor seleccionado

  • physicalName y name con el mismo valor, el nombre del workbook

Los atributos a crear en Anjana deben de tener los siguientes tipos:


Nombre de atributo

Tipo de atributo

physicalName

INPUT_TEXT

path

INPUT_TEXT

infrastructure

SELECT

technology

SELECT

zone

SELECT

name

INPUT_TEXT


A continuación se indican los metadatos opcionales relativos al site y al workbook que se pueden incluir en la plantilla del objeto para que al extraer el metadato del workbook se vean reflejados.

Metadatos del workbook

Nombre de atributo

Tipo de atributo

workbookLuid

INPUT_NUMBER

workbookId

INPUT_NUMBER

workbookContainsUnsupportedCustomSql

INPUT_CHECKBOX

workbookProjectVizportalUrlId

INPUT_NUMBER

workbookProjectName

INPUT_TEXT

workbookProjectLuid

INPUT_NUMBER

workbookContainerType

INPUT_TEXT

workbookContainerName

INPUT_TEXT

workbookOwnerId

INPUT_NUMBER

workbookOwnerUserName

INPUT_TEXT

workbookDescription

INPUT_TEXT

workbookUri

INPUT_TEXT

workbookVizportalUrlId

INPUT_NUMBER

workbookCreatedAt

INPUT_DATE

workbookUpdatedAt

INPUT_DATE

workbookTags

INPUT_TEXT


Metadatos del site

Se recomienda crear una sección dentro de la plantilla de la entidad WORKBOOK para incluir los metadatos del site

Nombre de atributo

Tipo de atributo

siteName

INPUT_TEXT

siteId

INPUT_NUMBER

siteContentUrl

INPUT_TEXT

siteAdminMode

INPUT_TEXT

siteRevisionHistoryEnabled

INPUT_CHECKBOX

siteDisableSubscriptions

INPUT_CHECKBOX

siteState

INPUT_TEXT

siteRevisionLimit

INPUT_NUMBER

siteSubscribeOthersEnabled

INPUT_CHECKBOX

siteAllowSubscriptionAttachments

INPUT_CHECKBOX

siteGuestAccessEnabled

INPUT_CHECKBOX

siteCacheWarmupEnabled

INPUT_CHECKBOX

siteDataAlertsEnabled

INPUT_CHECKBOX

siteCommentingEnabled

INPUT_CHECKBOX

siteCommentingMentionsEnabled

INPUT_CHECKBOX

siteFlowsEnabled

INPUT_CHECKBOX

siteEditingFlowsEnabled

INPUT_CHECKBOX

siteSchedulingFlowsEnabled

INPUT_CHECKBOX

siteExplainDataEnabled

INPUT_CHECKBOX

siteExtractEncryptionMode

INPUT_TEXT

siteCatalogingEnabled

INPUT_CHECKBOX

siteDerivedPermissionsEnabled

INPUT_CHECKBOX

siteWebExtractionEnabled

INPUT_CHECKBOX

siteAskDataMode

INPUT_TEXT

siteRunNowEnabled

INPUT_CHECKBOX

siteUserVisibilityMode

INPUT_TEXT

siteRequestAccessEnabled

INPUT_CHECKBOX

siteAuthoringEnabled

INPUT_CHECKBOX

siteCustomSubscriptionEmailEnabled

INPUT_CHECKBOX

siteCustomSubscriptionFooterEnabled

INPUT_CHECKBOX

siteNamedSharingEnabled

INPUT_CHECKBOX

siteUseDefaultTimeZone

INPUT_CHECKBOX

siteSelfServiceScheduleForRefreshEnabled

INPUT_CHECKBOX

siteAutoSuspendRefreshEnabled

INPUT_CHECKBOX

siteAutoSuspendRefreshInactivityWindow

INPUT_NUMBER

sitePersonalSpaceEnabled

INPUT_CHECKBOX

sitePersonalSpaceStorageQuota

INPUT_NUMBER

siteDqwSubscriptionsEnabled

INPUT_CHECKBOX


Credenciales requeridas

Extracción de metadatos

Es necesario un token de acceso personal para obtener el token con el que después se harán las llamadas api rest para obtener la información de site, projects y workbooks. Dicho token se crea en Tableau Server y su nombre y valor se deben incluir en el yml antes de usar el plugin en las propiedades:

  • totplugin.connection.personalAccessTokenName

  • totplugin.connection.personalAccessTokenSecret

El usuario con el que se genera el PAT debe tener acceso a todos los sites que se quieran gobernar (tener el rol Server Administrator en cada site). El tiempo de vida del token de acceso personal es de un año por lo que es responsabilidad del cliente actualizarlo antes de que expire para su correcto funcionamiento.

Para poder usar la api de metadata Graph hay que habilitarla antes con el comando:

tsm maintenance metadata-services enable

que tiene que lanzar el cliente antes de usar el plugin.

Configuración

Aquí se incluye el detalle de la configuración específica del plugin.

En la Guía de Configuración técnica se explica la configuración común.

server:
  port: 15022

totplugin:
  location: http://totplugintableauserver:15022/plugin/tableau/api/v1
  pagination:
    pageSize: 100
  anjana:
    tagsSeparator: "_-"
  server:
    url: http://totserver:15000/tot/
  connection:
    server: https://tableau.anjanadata.org
    version: 3.17 
    personalAccessTokenName: test
    personalAccessTokenSecret: test
  aris:
    - ari: "anja:totplugin:extract:/tableau/tableau/tableau/"


  • server.port → Puerto donde se despliega el plugin

  • totplugin.location → Url base del plugin

  • totplugin.pagination.pageSize → Número de elementos por página en la llamada para obtener los sites. El máximo son 1000 elementos

  • totplugin.anjana.tagsSeparator → Separador de los tags cuando se envían a Anjana

  • totplugin.server.url → Url de tot

  • totplugin.connection.server → Url Tableau Server

  • totplugin.connection.version → Versión que se rellena en la url de llamada a las apis

  • totplugin.connection.personalAccessTokenName → Nombre del token de acceso personal

  • totplugin.connection.personalAccessTokenValue → Valor del token de acceso personal

  • totplugin.connection.aris → Listado de aris que indican los servicios disponibles en el plugin