Bienvenidos a un nuevo post sobre esta guía que ya esta llegando a su fin! hoy vamos a ver Data Task automation o Automatizador de tareas de datos, una funcionalidad que nos ayuda a listar y generar tareas de datos (importación y exportación) ordenada y automatizada.
Esta funcionalidad nos crea uno o varios proyectos de datos y utiliza paquetes que esten subidos en el LCS como un activo compartido.
Les dejo el video y mas abajo listamos la estructura del archivo para que lo puedan visualizar.
Estructura del manifiesto:
<TestManifest name='Importacion de datos DEMO v 10.0.9'>
TestManifest: son los datos grobales del manifiesto. Aqui definimos el nombre en el parametro name que sea descriptivo para reconocer el manifiesto.
<DataFile ID='SharedSetup' name='Demo data 10.0.9 100 System and Shared' assetType='Data package' lcsProjectId=''/>
Data File: Nos apunta a los paquetes de datos que vamos a importar desde la biblioteca de activos del LCS. ID, es el nombre que le damos dentro de nuestro manifiesto. Name es el nombre del paquete tal como figura en el LCS. AssetType nos menciona que tipo de activo vamos a importar, en nuestro caso sera 'DataPackage', y lcsProjectId es el proyecto del LCS el el cual se encuentra el paquete, en nuestro caso lo dejamos en blanco indicando que este esta en la biblioteca de activos compartidos, no pertenece al proyecto en particular.
<JobDefinition ID='Impo_DEMO_HQUS'>
<Operation>Import</Operation>
<SkipStaging></SkipStaging>
<Truncate></Truncate>
<Mode>Import async</Mode>
<BatchFrequencyInMinutes>1</BatchFrequencyInMinutes>
<NumberOfTimesToRunBatch >2</NumberOfTimesToRunBatch>
<UploadFrequencyInSeconds>1</UploadFrequencyInSeconds>
<TotalNumberOfTimesToUploadFile>1</TotalNumberOfTimesToUploadFile>
<SupportedDataSourceType>Package</SupportedDataSourceType>
<ProcessMessagesInOrder>No</ProcessMessagesInOrder>
<PreventUploadWhenZeroRecords>No</PreventUploadWhenZeroRecords>
<UseCompanyFromMessage>Yes</UseCompanyFromMessage>
<LegalEntity>DAT</LegalEntity>
</JobDefinition>
JobDefinition, nos da los parametros de los proyectos de datos que se crearan. Lo tags mas importantes tenemos:
Operation: Indica si es importacion o exportación,
SkipStaging, si va a saltar el almacenamiento provisional.
Truncate, Si va a truncar los datos de las entidades a importar (es decir, borrar la información previa)
Mode: si la operacion es de importacion asincronica, o puede ser un Batch, en ese caso se activan las funciones que relacionan a la recurrencia de los trabajos.
PreventUploadWhenZeroRecords, Previene la carga de los archivos que no posean registros
LegalEntity define la entidad a procesar los proyectos dedatos
<EntitySetup ID='Generic'>
<Entity name='*'>
<SourceDataFormatName>Package</SourceDataFormatName>
<ChangeTracking></ChangeTracking>
<PublishToBYOD></PublishToBYOD>
<DefaultRefreshType>Full push only</DefaultRefreshType>
<ExcelWorkSheetName></ExcelWorkSheetName>
<SelectFields>All fields</SelectFields>
<SetBasedProcessing></SetBasedProcessing>
<FailBatchOnErrorForExecutionUnit>No</FailBatchOnErrorForExecutionUnit>
<FailBatchOnErrorForLevel>No</FailBatchOnErrorForLevel>
<FailBatchOnErrorForSequence>No</FailBatchOnErrorForSequence>
<ParallelProcessing>
<Threshold></Threshold>
<TaskCount></TaskCount>
</ParallelProcessing>
</Entity>
</EntitySetup>
Entity setup, define como se van a trabajar las entidades contenidas en cada paquete.
por ejemplo:
FailBatchOnError, en cada nivel representa que si hay un fallo, cancela el procesamiento del paquete por nivel, unidad de ejecucion o secuencia.
<TestGroup name='Configuracion Financiera'>
Test group agrupa las tareas en los grupos que definamos para una mejor visualizacion y ejecución
<TestCase Title='Importar datos compartidos' ID='10001' RepeatCount='1' TraceParser='off' TimeOut='20'>
<DataFile RefID='SharedSetup' />
<JobDefinition RefID='Impo_DEMO_HQUS' />
<EntitySetup RefID='Generic' />
Test case define los parametros de cada operacion. Como su título y su ID. Tambien maneja el cmapo de TimeOut en minutos que deja en espera en caso que no este procesando la entidad o se haya detenido por algun error.
Aqui debemos indicarle que DataFile vamos a utilizar (con su ID), tambien que Jobdefinition vamos a relacionarle, y finalmente como va a configurar las entidades a traves del campo EntitySetup. Cada uno de estos tres son los que hemos definido anteriormente, por eso simplemente le indicamos el ID.
Podemos hacernos con uno de estos archivos marcando la opcion de descargar manifiesto y tendremos los de ejemplo de MS para poder manipularlos con nuestras definiciones.
Tambien les dejo el link del Microsoft Learn sobre Data Task donde podemos ver detallado cada campo, aunque esta en inglés.
Espero que puedan probarlo y nos vemos nuevamente en otro Consejo Dynamics!
Comments