Sincronización de datos mediante protocolos de archivos

En esta sección, describimos los protocolos que admite CitrusAd y cómo dar nombre a los archivos para que CitrusAd pueda descargar los archivos de datos automáticamente desde su servidor.

Protocolos

CitrusAd admite varias formas para recuperar archivos de datos. Los archivos de datos deben almacenarse en su servidor y se descargarán a través de uno de los protocolos estándar.

Actualmente, CitrusAd admite la descarga de archivos de datos a través de los siguientes protocolos:

  • GCS
  • SFTP
  • SCP
  • HTTPS

En general, tendrá que proporcionar información sobre el protocolo, el host, el puerto y la ruta de un archivo de datos para que CitrusAd pueda descargarlo. Cuando se requiere autenticación para descargar archivos de datos, deberá proporcionar a CitrusAd una credencial (p. ej., nombre de usuario y contraseña) para autenticarse con su sistema.

Si utiliza un protocolo SFTP, CitrusAd admite dos tipos de autenticación para descargar archivos de datos:

  • Un nombre de usuario y una contraseña
  • Clave pública de CitrusAd.

En el segundo tipo de autenticación, la siguiente clave pública debe instalarse en el servidor SFTP.

Fase:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDMd4w5Z6hsjlUc0/r3dTJ+IaM9Mm+l3ZTrX3D5+30ZNiAb3Mhvlp8gv37CFKzqM90oFejl15bbr5dymjycsOWInxqkMyLOTbdMFAk7hmicNvN5bt3tx/Z0UewNvAx0Uw9Qxu7SCMSAalk9l7dqLp5RFFj+RHq9ApV8KIA/Fw2mjCw2vrJhiRWeuUuNNQTbGFBA5y72ATeYA2p0ZK3/TTJxyxCL70zGVxFG0jdAurfXKujYaF73Ql/gl5wmtnxGvTORtvObQdc2jCTsynj1w17LSZAdeoPQGnQkVCk37ZUnWTw8s4RYjHFVunsTDxJO5Qnw5yj8oqhe5IdpQyavUj+otRd6900q/3dK60IELH6AFz+ZEqudlBh8ZO2hvHIDS2Ii5S3LunlejykAVdRl7RVHA17Pk3mmrHCS6i3n9ZliBYeVQiKme2jHVB+ESrHFxQWl3ct9MYFNlAqwuhTFQRSG9ioSEHX5Dnmqk8aqbm/4pYY4b7YHOcIpHrtrVrFTJ3vLM1If1OVrDQidFhi1ArmoCU+PO65jNSeMj27m/HoX7Mbcmi8F++Op3MgP8iJrohE0Wjz+use7nlDtQTtDxDeEQQYGqsz4DOtH/jn1TWRynaXZqwPqC5Q6b52QM22T+E3rgT/4G7yJU3IRKioByOck251MEtOEgSCvvIAaV685fQ==

Producción

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCtpIUFoYu8OUesZGP9rffv6/hky1HbQCAhC8hNRmcWpdptzRYsKIZFPz9t2vb85dierTZqJstAEJkePHd25cZ8btIBacbAR49avCIXiBuVgvlJk1+Er2dyYqSzSeFhpzlZxi4CkGo/Nsx7yxPi5693fdVF3vr+/iencw1tdLJJXfT6j1YLBCREg+IziBCO6m9P0QQGEDXYvsOmIzl0CJ8enU7gjvnYL5ify1/aGpoXv9/XcCYJWXTQmvmISknOMdC4pBiuDqsE9CX27FLQQb1ZT5jNrqD5hFsEo0rWqLiCbb5qoxIdMSe/IbA+sewgpgTPNJXeCNLSSH/MHhj2IgiMZGDDDaVaqMZD7N2jeQdI6SQbgvXiLTTUL4gNyO5eN9oqoeJumeZMi0+MQ7kkfHDYGtKe3RMxL7heL650HL+eWDIybezyPdQmfyVew9KuN0uB+2X+2NxQs8ZLqow486XDfUDfo+rPuoIvkYy7Z8ox+gne+1iAk43TCekcDwxlc56R9muMtGLuzzg1x9s9MqsAg5JNWEPQ8giAwCQJwm7h3UcCY3TJCn0LUzYHc7Ycr11JfIXL47vYGH3C0XBYlbEU/8m4VhhexzgJi8G/reclY5pfjtwQGOiobsxLsWgGx6Qoz/qWqmGwQIg+qi7jvA7jnltUP+RTFZpmd18/dSxB+w==

Producción:

Compresión y cifrado de datos

Es posible que tenga que comprimir y cifrar los datos antes de subirlos a su servidor para sincronizarlos. Cuando se utilizan tanto la compresión como el cifrado en archivos de datos, CitrusAd asume que los archivos de datos se comprimen antes del cifrado.

Cuando se cifra un archivo de datos, CitrusAd descifrará el archivo de datos después de descargarlo. Actualmente, admitimos el descifrado de datos para archivos cifrados por programas PGP. Puede encontrar más información sobre la criptografía PGP en https://tools.ietf.org/html/rfc4880.

Si opta por usar este tipo de criptografía para archivos de datos, puede usar la siguiente clave pública para cifrar los archivos de datos antes de subirlos a su servidor. Solo CitrusAd puede descifrar los archivos de datos cifrados.

Clave pública:

-----BEGIN PGP PUBLIC KEY BLOCK-----

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
tPA=
=lRkN
-----END PGP PUBLIC KEY BLOCK-----

Cuando se entrega un archivo de datos comprimido, descomprimiremos el archivo de datos antes de procesarlo. Actualmente, admitimos la descompresión de dos tipos de formatos de compresión: zip y gzip.

Convención de nomenclatura de archivos

Como ya hemos mencionado anteriormente, deberá proporcionar información sobre el protocolo, el host, el puerto y la ruta del archivo a un archivo de datos para que CitrusAd pueda descargarlo y procesarlo. Puede elegir una hora del día que le resulte cómoda para asegurarse de que el archivo de datos esté listo en el servidor todos los días y CitrusAd descargará los archivos de datos todos los días.

La forma más sencilla de especificar un archivo de destino para que CitrusAd lo descargue cada día es proporcionando un nombre de archivo explícito. CitrusAd utilizará este nombre de archivo para recuperar el archivo de datos de su servidor.

Cuando use protocolos FTP, FTPS y SFTP para la comunicación entre su servidor y CitrusAd, admitimos otras opciones para que especifique los archivos de destino para descargar CitrusAd, incluidos:

  • Rolling_earliest
  • Rolling_earliest_24_hours
  • Rolling_latest
  • Rolling_latest_24_hours.

También se llaman modos de archivo de destino.

Cuando opte por una de las opciones descritas anteriormente, deberá proporcionar a CitrusAd una plantilla textual para los nombres de los archivos de datos. En la plantilla textual, hay una cadena especial, que es "{*}". CitrusAd utilizará la plantilla proporcionada por usted para hacer coincidir los nombres de los archivos en su servidor, a fin de elegir y descargar un archivo de destino todos los días.

Un ejemplo de plantilla puede ser «CitrusAdCatalogDataAU{}.txt» La plantilla define que los nombres de archivo coincidentes deben comenzar con el prefijo «CitrusAdCatalogData AU» y terminar con el sufijo «.txt». Cuando se utiliza la plantilla «CitrusAdCatalogData AY{_}.txt», los siguientes nombres de archivo coincidirán con la plantilla:

CitrusAdCatalogProduct_AU_20190315.txt
CitrusAdCatalogProduct_AU_20190314.txt
CitrusAdCatalogProduct_AU_20190312.txt

Para evitar descargar los archivos de datos que está cargando, CitrusAd solo descarga los archivos de datos que se hayan modificado hace más de un minuto desde el momento en que accedemos al servidor.

Aunque hay varios nombres de archivos que coinciden con la plantilla, CitrusAd solo descarga y procesa un archivo a la vez. Para elegir un archivo de una lista de candidatos, definimos diferentes modos de archivo de destino entre los que se puede elegir. Los modos de archivo de destino se analizan con más detalle a continuación.

Rolling_earliest

En este modo de archivo de destino, usamos la plantilla para filtrar archivos usando sus nombres, luego ordenamos los resultados por nombres de archivo ascendentes y devolvemos el primer resultado.

Por ejemplo, si la plantilla para nombres de archivo es “CitrusAdCatalogDataAU{*}.txt” y la lista de nombres de archivo filtrados por la plantilla es la siguiente, se elegirá el archivo “CitrusAdCatalogProduct_AU_20190312.txt" para descargar en este modo de archivo de destino.

CitrusAdCatalogProduct_AU_20190312.txt
CitrusAdCatalogProduct_AU_20190313.txt
CitrusAdCatalogProduct_AU_20190314.txt

Rolling_earliest_24_hours

En este modo de archivo de destino, primero utilizamos la plantilla para filtrar los archivos utilizando sus nombres. A continuación, solo seleccionamos los archivos que se han modificado en las últimas veinticuatro horas. Finalmente, ordenamos los resultados por nombres de archivo ascendentes y devolvemos el primer resultado.

Por ejemplo, suponemos que la hora actual es 15/03/2019 10:30:07 y la plantilla para los nombres de archivo es “CitrusAdCatalogDataAU{*}.txt”. Si la lista de nombres de archivo filtrados por la plantilla se encuentra en la tabla siguiente, se seleccionará el archivo "CitrusAdCatalogProduct_AU_20190314.txt" para descargarlo en este modo de archivo de destino.

Ejemplo de archivos con nombres e información de última modificación

Nombre de archivoÚltima modificación
CitrusAdCatalogProduct_AU_20190312.txt13/03/19 15:35:11
CitrusAdCatalogProduct_AU_20190313.txt13/03/19 15:35:08
CitrusAdCatalogProduct_AU_20190314.txt14/03/19 15:35:10
CitrusAdCatalogProduct_AU_20190315.txt15/03/19 10:05:07

Rolling_latest

En este modo de archivo de destino, usamos la plantilla para filtrar archivos usando sus nombres. Luego ordenamos los resultados por nombres de archivo descendentes y devolvemos el primer resultado.

Por ejemplo, si la plantilla para nombres de archivo es “CitrusAdCatalogDataAU{*}.txt y la lista de nombres de archivo filtrados por la plantilla es la siguiente, se elegirá el archivo “CitrusAdCatalogProduct_AU_20190314.txt" para descargar en este modo de archivo de destino.

CitrusAdCatalogProduct_AU_20190314.txt
CitrusAdCatalogProduct_AU_20190313.txt
CitrusAdCatalogProduct_AU_20190312.txt

Este modo de archivo de destino es similar al Rolling_earliest. Sin embargo, en lugar de ordenar los archivos por nombres de archivo ascendentes, los clasificamos por nombres de archivo descendentes.

Rolling_latest_24_hours

En este modo de archivo de destino, primero utilizamos la plantilla para filtrar los archivos utilizando sus nombres. A continuación, solo seleccionamos los archivos que se han modificado en las últimas veinticuatro horas. Finalmente, ordenamos los resultados por nombres de archivo descendentes y devolvemos el primer resultado.

Por ejemplo, suponemos que la hora actual es 15/03/2019 10:30:07 y la plantilla para los nombres de archivo es “CitrusAdCatalogDataAU{*}.txt”. Si la lista de nombres de archivos que se filtra por la plantilla está en la tabla de abajo, el archivo "CitrusAdCatalogProduct_AU_20190315.txt" será elegido para descargar en este modo de archivo de destino.

Este modo de archivo de destino es similar al Rolling_earliest_24_hours. Sin embargo, en lugar de ordenar los archivos por nombres de archivo ascendentes, los clasificamos por nombres de archivo descendentes.

Ejemplo de archivos con nombres e información de última modificación

Nombre de archivoÚltima modificación
CitrusAdCatalogProduct_AU_20190312.txt13/03/19 15:35:11
CitrusAdCatalogProduct_AU_20190313.txt13/03/19 15:35:08
CitrusAdCatalogProduct_AU_20190314.txt14/03/19 15:35:10
CitrusAdCatalogProduct_AU_20190315.txt15/03/19 10:05:07