Transfiere datos por lotes
Si bien la forma principal de transferir datos a Manufacturing Data Engine (MDE) es mediante la transmisión a través de Manufacturing Connect edge (MCe) o el envío de mensajes a Pub/Sub, también es posible transferir archivos por lotes. Esto puede ser útil para volver a procesar datos o importar datos de sistemas externos.
La carga por lotes funciona mediante la creación de un IngestionSpecification con la interfaz web o la API y, luego, la carga de uno o más archivos en una carpeta de un bucket de Cloud Storage configurado por MDE, que, de forma predeterminada, tiene el nombre <project-id>-batch-ingestion. Cuando se sube un archivo nuevo a este bucket, el trabajo de Dataflow del lector de Cloud Storage lo detectará, lo dividirá en cada mensaje individual y enviará cada uno al tema de Pub/Sub input-messages.
Formatos admitidos
La carga por lotes admite los siguientes formatos de datos:
- JSON: Delimitado por saltos de línea. Cada línea se enviará como un mensaje nuevo.
- CSV: Con o sin encabezados (se pueden definir), admite la omisión de filas y diferentes separadores. El mensaje se convierte a JSON con cada columna de encabezado como clave y la columna de fila correspondiente como valor.
- AVRO: Asigna cada fila de AVRO a JSON.
- AVRO_RAW_WRITER: Lee los mensajes sin procesar que escribió el escritor de Cloud Storage y vuelve a escribir cada mensaje conservando el ID del mensaje de Pub/Sub.
Configuración
Para que el lector de Cloud Storage procese archivos, necesita una File Ingestion Specification que defina qué tipo de archivo debe esperar, sus opciones y a qué carpeta se subirá.
Todos los formatos requieren los siguientes parámetros:
- name: Nombre de la
File Ingestion Specification. - folderName: Carpeta a la que se subirán los archivos de esta
File Ingestion Specification. - source: Formato que se usará (
JSON/CSV/AVRO/AVRO_RAW_WRITER).
Además, la fuente CSV admite lo siguiente:
- separator: Separador que se usará (
,se usa si no se proporciona ninguno). - skip_rows: Indica si se deben omitir filas antes de comenzar a leer el archivo CSV.
- headers:
- infer_headers: Indica si la primera fila leída debe inferir los encabezados.
- headerNames: Proporciona una lista ordenada de nombres de encabezado para usar.
- insert_metadata: Indica si se deben incluir metadatos relacionados con el archivo
transferido (
filePath,fileName,ingestionName). Estos se agregan como pares clave-valor adicionales al mensaje enviado.
Configuración de ejemplo
En esta sección, se incluyen algunos parámetros de configuración de ejemplo para la carga por lotes.
Transfiere archivos JSON delimitados por saltos de línea
REST
POST configuration/v1/ingestions
{
"name": "json-simple",
"source": "JSON",
"folderName": "jsonFiles"
}
Console
- Accede a la configuración de File Ingestion Specification.
Abre la sección FILE INGESTION en el menú superior de la 'Cloud Management' sección.

Las File Ingestion Specifications existentes se enumeran en la sección FILE INGESTION . Se pueden modificar, habilitar, inhabilitar o borrar con el ícono 'Actions' que se encuentra al costado de cada especificación de transferencia.

Para crear una File Ingestion Specification nueva, haz clic en 'ADD NEW INGESTION SPECIFICATION'. Aparecerá un nuevo menú lateral a la derecha de la pantalla con todos los parámetros necesarios para definir la nueva File Ingestion Specification:

Para crear una especificación de transferencia de archivos JSON delimitados por saltos de línea nueva, selecciona JSON en el menú 'Source Type' y proporciona los dos parámetros obligatorios, en este ejemplo:
- name: Nombre de la File Ingestion Specification.
- folderName: Carpeta a la que se subirán los archivos de esta File Ingestion Specification.

Una vez que se completen los parámetros, haz clic en 'CREATE'. Si se creó correctamente la nueva especificación de transferencia de archivos, aparecerá un mensaje de confirmación.
Transfiere archivos AVRO
REST
POST configuration/v1/ingestions
{
"name": "avro-simple",
"source": "AVRO",
"folderName": "avroFiles"
}
Console
- Accede a la configuración de File Ingestion Specification.
Abre la sección FILE INGESTION en el menú superior de la 'Cloud Management' sección.

Las File Ingestion Specifications existentes se enumeran en la sección FILE INGESTION . Se pueden modificar, habilitar, inhabilitar o borrar con el ícono 'Actions' que se encuentra al costado de cada especificación de transferencia.

Para crear una File Ingestion Specification nueva, haz clic en ADD NEW INGESTION SPECIFICATION.
Aparecerá un nuevo menú lateral a la derecha de la pantalla con todos los parámetros necesarios para definir la nueva File Ingestion Specification:

Para crear una especificación de transferencia de archivos AVRO nueva, selecciona AVRO en el 'Source Type' menú.
Proporciona los dos parámetros obligatorios, en este ejemplo:
- name: Nombre de la File Ingestion Specification.
- folderName: Carpeta a la que se subirán los archivos de esta File Ingestion Specification.

Una vez que se completen los parámetros, haz clic en 'CREATE'. Si se creó correctamente la nueva especificación de transferencia de archivos, aparecerá un mensaje de confirmación.
Transfiere archivos CSV y deduce los nombres de las columnas de los encabezados
REST
POST configuration/v1/ingestions
{
"name": "csv-simple",
"source": "CSV",
"folderName": "csv-simple",
"separator": ",",
"headers": {
"inferHeaders": true
}
}
Console
- Navega a la interfaz web de Manufacturing Connect.
- Accede a la configuración de File Ingestion Specification.
Abre la sección FILE INGESTION en el menú superior de la 'Cloud Management' sección.

Las File Ingestion Specifications existentes se enumeran en la sección FILE INGESTION . Se pueden modificar, habilitar, inhabilitar o borrar con el ícono 'Actions' que se encuentra al costado de cada especificación de transferencia.

Para crear una File Ingestion Specification nueva, haz clic en ADD NEW INGESTION SPECIFICATION.
Aparecerá un nuevo menú lateral a la derecha de la pantalla con todos los parámetros necesarios para definir la nueva File Ingestion Specification:

Para crear una File Ingestion Specification nueva, haz clic en el 'ADD NEW INGESTION SPECIFICATION'.
Aparecerá un nuevo menú lateral a la derecha de la pantalla con todos los parámetros necesarios para definir
File Ingestion Specification:

Para crear una especificación de transferencia de archivos CSV que deduzcan los nombres de las columnas de los encabezados nueva, selecciona CSV en el menú 'Source Type' y proporciona los siete parámetros obligatorios, en este ejemplo:
- name: Nombre de la File Ingestion Specification.
- folderName: Carpeta a la que se subirán los archivos de esta File Ingestion Specification.
- separator: Separador que se usará (
,se usa si no se proporciona ninguno). - skip_rows: Indica si se deben omitir filas antes de comenzar a leer el archivo CSV.
- headers:
- infer_headers: Indica si la primera fila leída debe inferir los encabezados. Selecciona 'YES' para deducir los nombres de las columnas de los encabezados.
- insert_metadata: Indica si se deben incluir metadatos relacionados con el archivo transferido (filePath, fileName, ingestionName).

Una vez que se completen los parámetros, haz clic en 'CREATE'.
Si se creó correctamente la nueva especificación de transferencia de archivos, aparecerá un mensaje de confirmación.
Transfiere archivos CSV, proporciona nombres de columnas y agrega metadatos de transferencia
REST
POST configuration/v1/ingestions
{
"name": "csv-headers-metadata",
"source": "CSV",
"folderName": "csv-headers",
"separator": ",",
"insertMetadata": true,
"headers": {
"headerNames": {
"names": ["one", "two", "three"]
}
}
}
Console
- Accede a la configuración de File Ingestion Specification.
Abre la sección FILE INGESTION en el menú superior de la 'Cloud Management' sección.

Las File Ingestion Specifications existentes se enumeran en la sección FILE INGESTION . Se pueden modificar, habilitar, inhabilitar o borrar con el ícono 'Actions' que se encuentra al costado de cada especificación de transferencia.

Para crear una File Ingestion Specification nueva, haz clic en ADD NEW INGESTION SPECIFICATION.
Aparecerá un nuevo menú lateral a la derecha de la pantalla con todos los parámetros necesarios para definir la nueva File Ingestion Specification:

Para crear una especificación de transferencia de archivos CSV que proporcionen nombres de columnas y agreguen metadatos de transferencia nueva, selecciona CSV en 'Source Type'.
Proporciona los ocho parámetros obligatorios, en este ejemplo:
- name: Nombre de la File Ingestion Specification.
- folderName: Carpeta a la que se subirán los archivos de esta File Ingestion Specification.
- separator: Separador que se usará (
,se usa si no se proporciona ninguno). - skip_rows: Indica si se deben omitir filas antes de comenzar a leer el archivo CSV.
- headers:
- infer_headers: Indica si la primera fila leída debe inferir los encabezados. Selecciona 'NO' para no deducir los nombres de las columnas de los encabezados.
- headerNames: Proporciona una lista ordenada de nombres de encabezado para usar.
- insert_metadata: Indica si se deben incluir metadatos relacionados con el archivo transferido (filePath, fileName, ingestionName).

Una vez que se completen los parámetros, haz clic en el botón 'CREATE'. Si se creó correctamente la nueva especificación de transferencia de archivos, aparecerá un mensaje de confirmación.
Transfiere archivos CSV, deduce nombres de encabezados y omite 5 filas antes de comenzar a leer el archivo
REST
POST configuration/v1/ingestions
{
"name": "csv-skip-rows",
"source": "CSV",
"folderName": "csv-skip",
"skipRows": 5,
"separator": ",",
"headers": {
"inferHeaders": true
}
}
Console
- Accede a la configuración de File Ingestion Specification.
Abre la sección FILE INGESTION en el menú superior de la 'Cloud Management' sección.

Las File Ingestion Specifications existentes se enumeran en la sección FILE INGESTION . Se pueden modificar, habilitar, inhabilitar o borrar con el ícono 'Actions' que se encuentra al costado de cada especificación de transferencia.

Para crear una File Ingestion Specification nueva, haz clic en ADD NEW INGESTION SPECIFICATION.
Aparecerá un nuevo menú lateral a la derecha de la pantalla con todos los parámetros necesarios para definir la nueva File Ingestion Specification:

Para crear una especificación de transferencia de archivos CSV que deduzcan nombres de encabezados y omitan 5 filas nueva, selecciona CSV en el menú 'Source Type'.
Proporciona los siete parámetros obligatorios, en este ejemplo:
- name: Nombre de la File Ingestion Specification.
- folderName: Carpeta a la que se subirán los archivos de esta File Ingestion Specification.
- separator: Separador que se usará (
,se usa si no se proporciona ninguno). - skip_rows: Selecciona la cantidad de filas que se omitirán, en este caso, 5.
- headers:
- infer_headers: Indica si la primera fila leída debe inferir los encabezados. Selecciona 'YES' para deducir los nombres de las columnas de los encabezados.
- insert_metadata: Indica si se deben incluir metadatos relacionados con el archivo transferido (filePath, fileName, ingestionName).

Una vez que se completen los parámetros, haz clic en 'CREATE'.
Si se creó correctamente la nueva especificación de transferencia de archivos, aparecerá un mensaje de confirmación.
Transfiere archivos AVRO generados por la ruta sin procesar del escritor de Cloud Storage
REST
POST configuration/v1/ingestions
{
"name": "avro-reprocess",
"source": "AVRO_RAW_WRITER",
"folderName": "avro-raw"
}
Esto es particularmente útil si necesitas volver a procesar archivos. Puedes usar la partición de fecha en la carpeta de archivos sin procesar para copiar solo los archivos del período necesario. Por ejemplo:
gcloud storage cp "gs://<project-id>-raw/v1/dt=2023-06-19/*" \
gs://<project-id>-batch-ingestion/avro-raw/
Console
- Accede a la configuración de File Ingestion Specification.
Abre la sección FILE INGESTION en el menú superior de la 'Cloud Management' sección.

Las File Ingestion Specifications existentes se enumeran en la sección FILE INGESTION . Se pueden modificar, habilitar, inhabilitar o borrar con el ícono 'Actions' que se encuentra al costado de cada especificación de transferencia.

Para crear una File Ingestion Specification nueva, haz clic en ADD NEW INGESTION SPECIFICATION.
Aparecerá un nuevo menú lateral a la derecha de la pantalla con todos los parámetros necesarios para definir la nueva File Ingestion Specification:

Para crear una especificación de transferencia de archivos AVRO generados por las rutas sin procesar del escritor de Cloud Storage nueva, selecciona AVRO Raw en el menú 'Source Type' y proporciona los dos parámetros obligatorios, en este ejemplo:
- name: Nombre de la File Ingestion Specification.
- folderName: Carpeta a la que se subirán los archivos de esta File Ingestion Specification.

Una vez que se completen los parámetros, haz clic en 'CREATE'.
Si se creó correctamente la nueva especificación de transferencia de archivos, aparecerá un mensaje de confirmación.
Esto es particularmente útil si necesitas volver a procesar archivos. Puedes usar la partición de fecha en la carpeta de archivos sin procesar para copiar solo los archivos del período necesario, por ejemplo:
gcloud storage cp "gs://<project-id>-raw/v1/dt=2023-06-19/*" \
gs://<project-id>-batch-ingestion/avro-raw/