Cómo usar el servidor SFTP genérico

El servidor SFTP de feeds genéricos permite subir varios tipos de feeds a un solo servidor SFTP por entorno. En esta guía, se explica cómo usar el servidor SFTP genérico y se proporcionan vínculos a la guía adecuada para el feed respectivo que planeas usar.

(Consulta la sección Exporting Feeds (end-to-end) o Feeds (starter) de la documentación).

El servidor SFTP genérico requiere dos cargas separadas:

  1. Archivo descriptor: Describe el tipo de feed que subirás.
  2. Archivos de feed: El contenido del feed real

Cómo estructurar el campo del descriptor

El archivo descriptor se sube para informar a nuestro sistema qué tipo de feed subes. Esto nos permite validar y procesar el feed correctamente. El archivo descriptor se debe subir antes del contenido del feed y debe cumplir con los siguientes requisitos de nomenclatura:

  • Debes usar la extensión de archivo .filesetdesc.json para el archivo de descriptor.
  • Cada nombre de archivo del descriptor debe ser único y no se puede volver a usar en otras cargas. Te recomendamos que incluyas la marca de tiempo de la generación y el nombre del feed en el nombre del archivo.
    • Ejemplo: offers_1524606581.filesetdesc.json
  • Cada archivo de descriptor debe enumerar todos los archivos de datos del feed más reciente para el nombre de feed correspondiente.
message FilesetDescriptor {
  // The timestamp at which this feed was generated, in Unix time format
  // (seconds since the epoch). (required)
  int64 generation_timestamp = 1;

  // Identifies the name of this feed. (required)
  string name = 2;

  // Paths (relative to the dropbox root) specifying data files included in this
  // feed. (required)
  repeated string data_file = 3;
}

Los valores posibles para el campo name incluyen los siguientes:

A continuación, se muestra un ejemplo de archivo descriptor JSON para un feed de ofertas con dos fragmentos:

{
  "generation_timestamp": 1524606581,
  "name": "promote.offer",
  "data_file": [
    "offers_1524606581_1.json",
    "offers_1524606581_2.json"
  ]
}

Cómo estructurar el contenido del feed

Después de subir el archivo de descriptor, subirás todos los archivos del feed para el tipo de datos del feed que corresponda al archivo de configuración del feed cuyo nombre se indica en el archivo de descriptor. Los nombres de archivo y las ubicaciones de ruta de acceso (relativas dentro del servidor SFTP) deben coincidir exactamente con lo que se incluyó en el campo data_file. Si falta algún archivo, tiene un nombre incorrecto o se subió a una ubicación diferente, no se procesará todo el feed.

El contenido de estos archivos de datos del feed debe cumplir con la especificación pertinente del feed que se especificó en el archivo descriptor.

Cada nombre de archivo de feed debe ser único y no se puede volver a utilizar en otras cargas. Te recomendamos que incluyas la marca de tiempo de generación y el número de fragmento (ID incremental) en el nombre del archivo.

  • Ejemplo: offers_1524606581_1.json

Tamaños de archivos de feed y frecuencia de carga

  • El tamaño de cada archivo del feed debe ser inferior a los 200 MB (después de la compresión).
  • El tamaño de cada archivo de datos descomprimido debe ser inferior a 2 GB.
  • La mayoría de las integraciones solo necesitarán usar un solo fragmento. Debes usar la menor cantidad posible de fragmentos. Hay un máximo de 1,000 fragmentos por feed.
  • No es necesario que los registros individuales que se envían en un fragmento se envíen en el mismo número de fragmento en futuros feeds.
  • Para obtener un mejor rendimiento, divide los datos de manera uniforme entre los fragmentos para que todos los archivos de fragmentos tengan un tamaño similar.
  • Si es necesario, usa gzip para comprimir los feeds. Sin embargo, hazlo para cada shard de feed individual.

Solución de problemas y depuración

Después de subir tus archivos (archivos de feed y de descriptor), ve al Ingestion Viewer (documentación) en el Partner Portal (navega a Ingestion > History) para seguir el progreso de la transferencia de tu feed.

Busca el name que ingresaste en el archivo de descriptor en la columna "Nombre del feed" para encontrar tu feed.

Una vez que se ingiere el feed (el estado es Success o Fail), puedes hacer clic en su fila para ver los detalles de los errores y las advertencias.