En este instructivo, se muestra cómo configurar y probar una solución de integración de datos basada en los conceptos descritos en Una solución de integración sin servidores para Google Marketing Platform.
Se encuentra disponible una demostración de esta solución sin servidores en una demostración de código abierto en GitHub. Con la solución, se incluyen API y una secuencia de comandos de shell que te ayudará a configurar la solución en Google Cloud.
Este instructivo está dirigido a arquitectos o ingenieros de datos que quieran automatizar la integración de datos en sistemas de destino mediante API o mediante otras opciones de integración programática, como la carga de SFTP.
Objetivos
- Implementar una solución de integración sin servidores
- Configurar una integración en los sistemas de destino de las API de destino
- Probar esta solución mediante la carga de un archivo CSV en Hojas de cálculo de Google
Costos
En este instructivo, se usan los siguientes componentes facturables de Google Cloud:
Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios. Es posible que los usuarios nuevos de Google Cloud sean aptos para obtener una prueba gratuita.
Cuando finalices este instructivo, podrás borrar los recursos creados para evitar que se te siga facturando. Para obtener más información, consulta cómo hacer una limpieza.
Antes de comenzar
- Accede a tu Cuenta de Google.
Si todavía no tienes una cuenta, regístrate para obtener una nueva.
-
En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.
-
Comprueba que la facturación esté habilitada en tu proyecto.
- Abre Cloud Shell Abrir Cloud Shell
Instala la solución
En Cloud Shell, clona el repositorio que contiene el código que usarás para este instructivo:
git clone https://github.com/GoogleCloudPlatform/cloud-for-marketing.git
Ejecuta la secuencia de comandos de instalación:
cd cloud-for-marketing/marketing-analytics/activation/gmp-googleads-connector; chmod a+x deploy.sh; ./deploy.sh
La secuencia de comandos ejecuta una serie de procesos, como la verificación del entorno y la compilación de dependencias.
Cuando se te solicite, ingresa el ID del proyecto de Cloud que deseas usar para este instructivo.
Selecciona la región en la que deseas implementar tu función de Cloud Functions y almacenar tus datos de Cloud Storage, por ejemplo,
us-east1
.Selecciona las API integradas que deseas usar o presiona
Enter
para seleccionarlas todas. Con esta solución, se incluyen las siguientes API de destino:- Protocolo de medición de Google Analytics
- API de administración de Google Analytics (importación de datos)
- Carga de las conversiones de Campaign Manager
- Carga de SFTP para las cargas de datos de la empresa en Search Ads 360
- API de Hojas de cálculo de Google para las cargas programadas de las conversiones de Google Ads basadas en Hojas de cálculo de Google
- Carga de las conversiones de Search Ads 360
Incluye la API de Hojas de cálculo de Google, ya que, después de la instalación, ejecutarás una prueba que la requiere. Se realiza una verificación a fin de determinar si están presentes los permisos necesarios para realizar la instalación. Si esta verificación falla, deberás solicitar los permisos faltantes a tu administrador y, luego, volver a ejecutar la secuencia de comandos.
Ingresa un nombre para el bucket de Cloud Storage que almacena tus datos. Si el bucket no existe, selecciona una región para que la secuencia de comandos lo cree. (Sugerimos que uses la región predeterminada, que coincide con la región en la que se implementarán las funciones de Cloud Functions).
Ingresa una carpeta de Cloud Storage que supervise esta solución o presiona
Enter
para seleccionar la carpeta predeterminada.Ingresa un prefijo para las suscripciones y los temas de Pub/Sub o presiona
Enter
si deseas usar el prefijo predeterminado.Cuando se te solicite, escribe
Y
para confirmar y guardar la configuración en un archivoconfig.json
.Ya se crearon las suscripciones y los temas de Pub/Sub.
Si se requiere una cuenta de servicio para las API que habilitaste, ingresa el nombre de una cuenta de servicio y, luego, confirma que deseas descargar el archivo de claves.
Después de que las funciones de Cloud Functions se implementen de forma automática, la secuencia de comandos indicará si está lista la instancia de Firestore o de Datastore. Si no está lista, imprime las instrucciones para iniciar Firestore.
Prepara los datos
Ahora que ya instalaste la solución, puedes preparar tus datos para el sistema de destino.
Formatos de archivo
Las API integradas en esta solución requieren formatos de archivo específicos en algunos casos:
- La carga de SFTP no solicita ningún formato en particular. Esta integración sube el archivo al servidor por medio de SFTP, sin importar el formato de archivo.
- La API de administración de Google Analytics (Importación de datos) y las API de Hojas de cálculo de Google requieren archivos CSV.
- Para todas las demás API, el sistema exige el formato JSON delimitado por saltos de línea (NDJSON). Cada línea es una string JSON válida. Por ver un ejemplo, consulta los formatos de exportación de BigQuery.
Configuración de las API
Las distintas API tienen distintos parámetros de configuración. Una misma API puede tener más de un parámetro de configuración para distintos usos. Por lo tanto, los parámetros de configuración se agrupan por API y combinan un solo objeto JSON en el archivo config_api.json
. En la siguiente lista del archivo de plantilla JSON del repositorio de GitHub para este instructivo, se muestra cómo se organizan los parámetros de configuración.
Puedes cambiar el nombre del archivo de plantilla a config_api.json
, dejar solo las secciones de API de destino y editar los detalles de la configuración. Si tienes más de una configuración, cópialas y asígnales nombres diferentes.
Después de esto, actualiza los parámetros de configuración en Firestore:
./deploy.sh update_api_config
Convención para los nombres de archivos
Con el fin de lograr cierta flexibilidad en los diferentes tipos de API y de parámetros de configuración, adoptamos una convención para asignar nombres a los archivos entrantes en esta solución. Los nombres de archivo deben contener el patrón API[X]
y config[Y]
.
X
representa los códigos de las API de destino. En esta solución,X
podría ser cualquiera de las siguientes opciones:MP
: Protocolo de medición de Google AnalyticsGA
: API de administración de Google Analytics (Importación de datos)CM
: API de tráfico y de informes de DFA y DCMSFTP
: Carga de SFTPGS
: API de Hojas de cálculo de GoogleSA
: API de Search Ads 360
Y
es el nombre de la configuración, por ejemplo,foo
obar
en el código de la plantilla.
Por ejemplo, un archivo llamado API[GA]_config[bar]_20191111.csv
indica lo siguiente:
[GA]
significa que Google Analytics es el sistema de destino y que Importación de datos es la API de destino.[bar]
significa que el archivo se envía al sistema de destino mediante el uso de la clavebar
de un objeto JSON almacenado en el archivo de configuración de la plantilla.
Entre los patrones opcionales para los nombres de archivos se incluyen los siguientes:
- Si el nombre de archivo contiene
dryrun
, se siguen todos los pasos en el proceso, pero no se envían los datos al servidor de la API. - Si el nombre de archivo contiene
_size[Z]
o_size[Zmb]
, el archivo entrante se divide en varios archivos. Los tamaños de archivo que son inferiores aZ
MB en Cloud Storage cumplen con el límite de tamaño de archivos de algunas API. Por ejemplo, la Importación de datos tiene un límite de 1 GB.
Por ejemplo, un archivo llamado API[GA]_config[bar]_dryrun_20191111.csv
no se envía a Google Analytics, pero pasa por todo el sistema de integración.
Un archivo llamado API[GA]_config[bar]_size[100]_20191111.csv
se divide en un grupo de archivos con tamaños que no superan los 100 MB, y cada archivo se envía de forma individual a Google Analytics a través de la Importación de datos.
Prueba la solución
Después de instalar la solución, debes probar una integración mediante la creación de un archivo CSV y la carga automática de los datos de ese archivo en una hoja de cálculo de Google de destino.
Otorga permiso a la cuenta de servicio
- Crea una hoja de cálculo de Google nueva y, luego, cámbiale el nombre, por ejemplo,
Integration Test
. - Haz clic en Compartir.
En Cloud Shell, obtén la dirección de correo electrónico de la cuenta de servicio que usaste durante los pasos de instalación:
./deploy.sh print_service_account
En el campo People, copia la dirección de correo electrónico de la cuenta de servicio y, luego, selecciona edit Can edit para asignarle los permisos de editor.
Obtén el ID de la hoja de cálculo de destino
Copia el ID de la hoja de cálculo de Google de destino.
El ID de la hoja de cálculo es el valor que se encuentra entre
/d/
y/edit
en la URL de la hoja de cálculo, por ejemplo,spreadsheetId
en el siguiente ejemplo:https://docs.google.com/spreadsheets/d/spreadsheetId/edit#gid=0
Actualiza la configuración de la API
- En Cloud Shell, ve a la carpeta en la que instalaste la solución, por ejemplo,
~/cloud-for-marketing/marketing-analytics/activation/gmp-googleads-connector
. Abre el archivo JSON llamado
config_api.json
y reemplaza el contenido por el siguiente código:{ "GS": { "foo": { "spreadsheetId": "your-spreadsheet-id", "sheetName": "your-sheet-name", "sheetHeader": "This is a test integration", "pasteData": { "coordinate": { "rowIndex": 0, "columnIndex": 0 }, "delimiter": "," } } } }
Reemplaza lo siguiente:
your-spreadsheet-id
: Es el ID de la hoja de cálculo.your-sheet-name
: Es el nombre de la hoja de cálculo de Google de destino.
Sube la configuración a Firestore o a Datastore:
./deploy.sh update_api_config
Este es el resultado:
Init ApiConfig based on Datastore. Import Config for API[GS]_config[foo]
Prepara los archivos que deseas enviar
En esta prueba, deberás cargar los datos de tu archivo CSV en la hoja de cálculo de destino.
En Cloud Shell, crea un archivo CSV con el contenido de algunas API integradas:
cat > API[GS]_config[foo]_test.csv <<EOF #What are Tentacles built in APIs Target System, Target API, Code Google Analytics, Measurement Protocol, MP Google Analytics, Google Analytics Management API, GA Campaign Manager, DCM/DFA Reporting and Trafficking API, CM Search Ads 360, SFTP, SFTP EOF
Sube el archivo a Cloud Storage
Sube el archivo al bucket de Cloud Storage:
./deploy.sh copy_file_to_gcs API[GS]_config[foo]_test.csv
El resultado es similar a este:
Copy integration data file to target folder… Copying file:... Operation completed over...
Verifica el resultado
Abre la hoja de cálculo de Google que creaste antes.
Se cambió el tamaño del archivo Sheet1 y se cargaron en este los datos del archivo CSV.
Realiza una limpieza
La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.
- En Cloud Console, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.
¿Qué sigue?
- Usa Google Marketing Platform y el conector de Google Ads para enviar datos a Google Analytics.
- Prueba otras funciones de Google Cloud. Consulta nuestros instructivos.