Refrescando Modelos Tabulares Gaston Cruz MVP Data Platform
Refrescando Modelos Tabulares Gaston Cruz, MVP Data Platform, Slalom - USA
Own your career with interactive learning built by community and guided by data experts. Get involved. Get ahead. Explore your PASS community Free online webinar events Local user groups around the world Connect with the global data community . org Online special interest user groups Learning on-demand delivered to you Get involved
Missed PASS Summit 2019? Get the Recordings Download all PASS Summit sessions on Data Management, Analytics, or Architecture for only $399 USD More options available at PASSstuff. com
We are thrilled to say the first ever PASS Virtual Summit will be taking place this November! We will be launching PASS Summit into a whole new world, and with that comes exciting opportunities with what we can offer you. We will go beyond simply moving sessions online to fully embracing everything a virtual environment can offer. Find out more at PASS. org/summit
Thank you to our Global Sponsors and Supporters
This event was sponsored by Microsoft Learn more about SQL Server 2019 today: -Get free training: aka. ms/sqlworkshops -Download the SQL 19 e. Book: aka. ms/sql 19_ebook
Agenda
Agenda Arquitecturas Procesos Azure Logic Apps Azure Data Factory Summary
Arquitecturas El objetivo global de este escenario es el de orquestrar y procesar objetos de una instancia de AAS a traves de Logic Apps y Azure Data Factory 4 Azure Data Factory App Registration 1 Svc Principal 3 Web Activity Azure Logic Apps Http Action 2 Azure Analysis Services Rest API 1 Implementar un Registro de Aplicaciones (services principal) en Azure 2 Garantizar permisos a nuestra Aplicacion para Procesar Modelos de Azure Analysis Services 3 Implementar una Logic App que tenga permisos de lectura/escritura utilizando la REST API de Azure Analysis Services para procesar modelos 4 Crear un pipeline de Azure Data Factory con un objeto de Actividad Web que se ejecutara en forma automatica llamando a nuestra Logic App
Registro de Aplicaciones En nuestro Azure portal buscamos Registro de Aplicaciones. Desde esta pantalla generamos una nueva aplicacion
Registro de Aplicaciones En Settings de nuestro Registro de Aplicaciones damos click en Permisos y seleccionamos API, buscando por “Azure Analysis Services”. A continuacion seleccionamos “Lectura y Escritura en todos los Modelos”
Registro de Aplicaciones Nuevamente en Settings de nuestro Registro de Aplicaciones, damos click en Llaves. Ingresamos una descripcion para nuestra Key, y la duracion de la misma. Esta key sera creada y necesitamos copiarla para siguientes pasos.
Registro de Aplicaciones Nuevamente en Settings de nuestro Registro de Aplicaciones. Debemos anotar el Application ID, y el Tenant ID / Directory ID
Accesos y Permisos en AAS • Nos conectamos a nuestra instancia de AAS con SQL Server Management Studio. Para procesar modelos utilizando la Rest API, la aplicacion registrada anteriormente debe tener permisos de Administracion sobre nuestro AAS Server. • Abrimos las propiedades de AAS, y agregamos como entrada manual nuestro App ID y Tenant ID (copiados del paso anterior) El formato a ingresar sera: app: <app guid>@<tenant guid>
Implementando nuestra Logic App • • Crear una nueva Logic App desde el buscador del Portal de Azure. Luego damos click en el Diseñador Seleccionamos como primer paso “When a HTTP request is received” como disparador (desde la lista de opciones) Agregamos un nuevo paso “+New step”, “y seleccionamos como opcion “HTTP – HTTP” como accion. Tenemos ahora todos los components necesarios para disparar nuestra Logic App desde Azure Data Factory y que se comunique con la REST API de AAS
Configurando Logic Apps Configurar nuestra accion HTTP (Mas info en REST API doc de Microsoft: https: //docs. microsoft. com/en-us/azure/analysis-services-asyncrefresh) Metodo: POST URI: https: //<region>. as azure. windows. net/servers/<servername>/models/<modelname>refreshes Body: From the REST API documentation under POST/Refreshes with this sample we are refreshing the whole database (model) by a process type Full. It is possible to refresh only specific tables or partitions (see the image on how to refresh a table) { } “Type” : “Full”, “Commit. Mode” : “transactional”, “Max. Parallelism” : 2, “Retry. Count” : 2, “Objects” : [] Authentication: Active Directory Oauth Tenant: Use the AAD ID from the App Registration screen Audience: https: //*. as azure. windows. net Client ID: Use the App Registration App ID from that screen Credential Type: Secret: Use the App Registration Key from that screen
Primer Testing de Logic Apps • Correr la Logic Apps desde el Diseñador • Abrir la accion HTTP para ver la respuesta de la REST API (esta URL es muy importante copiarla para nuestro pipeline en ADF) • Luego que nuestra Logic App se ejecuto esta lista para ser invocada en Azure Data Factory
Implementar una instancia de Azure Data Factory • Crear una nueva instancia de Azure Data Factory desde el Portal de Azure • Definir Nombre, Version, Suscripcion, Region, y Podemos a su vez definer un repositorio GIT de manera opcional
Azure Data Factory – Diseño de Pipeline • Accedemos a Autor & Monitoreo en la instancia de Azure Data Factory • En el panel visual, creamos un nuevo pipeline y arrastramos un objeto de Actividad Web • Configuramos el objeto de Actividad Web: • • URL: utilizamos el HTTP POST URL de nuestra Logic App (paso anterior) Method: POST Body (mandatory): { “message” : “test” } Ejecutamos un Test y chequeamos que todo funciona OK
Implementando Triggers - Azure Data Factory • Accedemos a Triggers • Definimos Nombre, y Descripcion de nuestro trigger • Definimos fecha de comienzo para la ejecucion • Recurrencia (Cada X minutos / horas / dias / semanas / meses) • Definimos Fecha de Fin (opcional)
Thank you ¿Quieres aprender más de Gaston Cruz? @gastonfcruz gastoncruz@outlook. com
Thank You to our Global SQLSaturday Sponsors
Addendum Slide
Title Here Subtitle Here Speaker Name, Title, Company
Own your career with Interactive learning built by community and guided by data experts. 1 Attend an event Get involved. Get ahead. In-person 2 Join a Community 3 Explore More Newsletters, Recorded Training, Giving Back . org Online
Color palette Core SQLSaturday Palette Use these colors for the majority of your presentation. Accent Colors These colors may be used sparingly as accents
- Slides: 27