Fichero de manifiesto

Los procesos por lotes que crean ficheros como, por ejemplo, los relacionados con la exportación de datos, pueden crear uno o más ficheros en cada thread de procesamiento. Las aplicaciones externas que consumen estos ficheros solo deberán procesarlos cuando haya finalizado correctamente el proceso del lote completo. Para automatizar el consumo de estos ficheros, la aplicación externa puede aprovechar una función que se dispare tras la creación de un fichero de manifiesto para procesar todos los ficheros a los que haga referencia dicho manifiesto. El fichero de manifiesto incluye detalles como, por ejemplo, el valor de hash de contenido, la información de tamaño de fichero, etcétera, que ayuda a confirmar, antes de procesarlo, que el contenido del fichero está completo y no se ha manipulado.

En las secciones siguientes se proporciona información adicional sobre los ficheros de manifiesto.

Parámetro por lotes de opción de manifiesto

La creación de un fichero de manifiesto se soporta solo en determinados controles de lote relacionados con la extracción del producto base. Estos controles de lote incluyen el parámetro por lotes Opción de manifiesto, que comprueba si se debe crear o no el fichero de manifiesto tras la correcta finalización del proceso por lotes. Se puede utilizar el portal Consulta de control de lotes para buscar todos los controles de lotes que utilizan esta opción.

Información de fichero de manifiesto

El contenido del fichero de manifiesto está en formato JSON e incluye la siguiente información:
  • Versión de la estructura de detalles de manifiesto.

  • Código de control de lotes, número de ejecución y número de reejecución, que identifica la ejecución por lotes que genera los ficheros.

  • Número total de ficheros creados en la ejecución por lotes.

  • Número total de registros procesados en la ejecución por lotes.

  • Registro horario de creación del manifiesto en formato ISO.

  • Número de la ejecución por lotes finalizada anteriormente, si lo hay.

  • Fichero de manifiesto generado por la ejecución por lotes finalizada anteriormente, si lo hay. Se puede utilizar para asegurarse de que los ficheros se procesan en el orden adecuado y como ayuda para detectar situaciones potenciales de falta de ficheros.

  • Lista de ficheros creada en la ejecución por lotes que incluye los siguientes detalles de cada fichero: nombre del fichero, tamaño en bytes y valor de hash de SHA-256 del contenido de fichero.

El nombre del fichero de manifiesto se construye de la siguiente manera:
[batch control]_[batch run number]_[batch rerun number]_manifest.json

A continuación, se incluye un ejemplo de la estructura de fichero de manifiesto.

{
  "version": 1,
  "batchCode": "HD-PDE",
  "batchRunNumber": 106,
  "batchRerunNumber": 0,
  "totalFiles": 3,
  "recordsProcessed": 10,
  "timeStamp": "2020-05-02T16:55:43.000353Z",
  "previousBatchRunNumber":"105"
  "previousManifestFileName":"HD-PDE_105_0_manifest.json",
  "fileDetails": [
    {
      "fileName": "SOME_FILE_NAME_001.json.gz",
      "fileSize": 1543,
      "hashAlgorithm": "SHA-256",
      "hashValue": "ff7d4e466f93cadc4a18ab009080916baff631e03b728e2f2684c4a4f92ccbe1"
    },
    {
      "fileName": "SOME_FILE_NAME_002.json.gz",
      "fileSize": 1182,
      "hashAlgorithm": "SHA-256",
      "hashValue": "78869e7ce971f28a70f5b35693a05726ba66109fecf492edb60291a62ae1ba9f"
    },
    {
      "fileName": "SOME_FILE_NAME_003.json.gz",
      "fileSize": 1182,
      "hashAlgorithm": "SHA-256",
      "hashValue": "78869e7ce971f28a70f5b35693a05726ba66109fecf492edb60291a62ae1ba9f"
    }
  ]
}{

Verificación del fichero de manifiesto

El servicio web Verificar fichero de manifiesto se puede utilizar en un sistema externo para comprobar que el fichero de manifiesto recibido para una ejecución de lote específico no está corrupto ni se ha manipulado. El servicio devuelve el nombre del fichero de manifiesto y el valor de hash de su contenido para la ejecución por lotes solicitada, permitiendo al autor de la llamada comparar los detalles del fichero con los valores devueltos.