Cargar datos de ServiceNow en BigQuery
Puede cargar datos de ServiceNow en BigQuery mediante el conector de BigQuery Data Transfer Service para ServiceNow. Con BigQuery Data Transfer Service, puedes programar tareas de transferencia periódicas que añadan tus datos más recientes de ServiceNow a BigQuery.
Limitaciones
Las transferencias de datos de ServiceNow están sujetas a las siguientes limitaciones:
- El conector de ServiceNow solo admite la API de tabla de ServiceNow.
- No recomendamos ejecutar transferencias de datos simultáneas en la misma instancia de ServiceNow. Esto puede provocar retrasos o fallos debido a la carga de la instancia de ServiceNow.
- Te recomendamos que programes las horas de inicio de las transferencias con suficiente antelación para evitar que se solapen.
- Para mejorar el rendimiento de la transferencia de datos, le recomendamos que limite el número de recursos a 20 por transferencia.
- El intervalo mínimo entre transferencias de datos periódicas es de 15 minutos. El intervalo predeterminado de una transferencia periódica es de 24 horas.
- Una configuración de transferencia solo puede admitir una ejecución de transferencia de datos a la vez. Si se programa una segunda transferencia de datos para que se ejecute antes de que se complete la primera, solo se completará la primera transferencia de datos y se omitirán las demás transferencias de datos que se solapen con la primera.
- Para evitar que se omitan transferencias en una misma configuración de transferencia, le recomendamos que aumente el tiempo que transcurre entre las transferencias de grandes cantidades de datos configurando la frecuencia de repetición.
Antes de empezar
Antes de crear una transferencia de datos de ServiceNow, haga lo siguiente en ServiceNow y BigQuery.
Requisitos previos de ServiceNow
- Para acceder a las APIs de ServiceNow, crea credenciales de OAuth.
Todas las aplicaciones de ServiceNow que se indican a continuación deben estar habilitadas en la instancia de ServiceNow:
Para iniciar una transferencia de ServiceNow, debes tener las credenciales correctas para conectarte a la instancia de ServiceNow.
- Para obtener tus credenciales de una instancia de desarrollador de ServiceNow, inicia sesión en el portal para desarrolladores de ServiceNow. Puedes usar el nombre de usuario y la contraseña que se indican en la página Gestionar contraseña de instancia. Para obtener información sobre cómo restablecer tu contraseña de ServiceNow, consulta Restablecer contraseña.
- Para obtener tus credenciales de una instancia de producción o subproducción de ServiceNow, ponte en contacto con el administrador de clientes de ServiceNow para solicitar el nombre de usuario y la contraseña.
Requisitos previos de BigQuery
- Completa todas las acciones necesarias para habilitar BigQuery Data Transfer Service.
- Crea un conjunto de datos de BigQuery para almacenar los datos.
- Si quieres configurar notificaciones de ejecuciones de transferencias para Pub/Sub, asegúrate de que tienes el permiso de
pubsub.topics.setIamPolicyGestión de Identidades y Accesos (IAM). Si solo configuras las notificaciones por correo electrónico, no se necesitan permisos de Pub/Sub. Para obtener más información, consulta el artículo sobre las notificaciones de ejecución de BigQuery Data Transfer Service.
Roles de BigQuery necesarios
Para obtener los permisos que necesitas para crear una transferencia de datos de BigQuery Data Transfer Service,
pide a tu administrador que te asigne el rol de gestión de identidades y accesos Administrador de BigQuery (roles/bigquery.admin) en tu proyecto.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para crear una transferencia de datos de BigQuery Data Transfer Service. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para crear una transferencia de datos de BigQuery Data Transfer Service, se necesitan los siguientes permisos:
-
Permisos de BigQuery Data Transfer Service:
-
bigquery.transfers.update -
bigquery.transfers.get
-
-
Permisos de BigQuery:
-
bigquery.datasets.get -
bigquery.datasets.getIamPolicy -
bigquery.datasets.update -
bigquery.datasets.setIamPolicy -
bigquery.jobs.create
-
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Para obtener más información, consulta Conceder acceso a bigquery.admin.
Configurar una transferencia de datos de ServiceNow
Añade datos de ServiceNow a BigQuery configurando una transferencia con una de las siguientes opciones:
Consola
Ve a la página Transferencias de datos de la Google Cloud consola.
Haz clic en Crear transferencia.
En la sección Tipo de fuente, en Fuente, selecciona ServiceNow.
En la sección Detalles de la fuente de datos, haga lo siguiente:
- (Opcional) En Adjunto de red, selecciona un adjunto de red en el menú desplegable o haz clic en Crear adjunto de red.
- Seleccione una vinculación de red para configurar esta transferencia de datos de forma que use una dirección IP única y coherente. Puede usar esta opción si su instancia de ServiceNow está configurada para aceptar solo tráfico de direcciones IP específicas.
- Para obtener más información sobre cómo definir direcciones IP en ServiceNow, consulta Define allowed ServiceNow internal IP addresses (Definir direcciones IP internas permitidas de ServiceNow).
- En ID de instancia, introduce el ID de instancia de ServiceNow.
Puedes obtenerla de tu URL de ServiceNow. Por ejemplo,
https://INSTANCE_ID.service-now.com. - En Nombre de usuario, introduce el nombre de usuario de ServiceNow que quieras usar para la conexión.
- En Password (Contraseña), introduce la contraseña de ServiceNow.
- En ID de cliente, introduce el ID de cliente de tus credenciales de OAuth. Para generar credenciales, consulta Crear credenciales de OAuth.
- En Secreto de cliente, introduce el secreto de cliente de tus credenciales de OAuth.
- En Tablas de ServiceNow que se van a transferir, introduce los nombres de las tablas de ServiceNow que quieras transferir o haz clic en Buscar y selecciona las tablas que quieras transferir.
- En Tipo de valor, elija una de las siguientes opciones:
- Para transferir los valores almacenados en la base de datos, elija Real.
- Para transferir los valores de visualización de las columnas, elija Visualización.
En la sección Configuración de destino, en Conjunto de datos, seleccione el conjunto de datos que haya creado para almacenar sus datos.
En la sección Nombre de la configuración de transferencia, en Nombre visible, indica un nombre para la transferencia de datos.
En la sección Opciones de programación, haga lo siguiente:
- En la lista Frecuencia de repetición, selecciona una opción para especificar con qué frecuencia se ejecuta esta transferencia de datos. Para especificar una frecuencia de repetición personalizada, selecciona Personalizar. Si seleccionas Bajo demanda, la transferencia de datos se realizará cuando la inicies manualmente.
- Si procede, selecciona Empezar ahora o Empezar a una hora determinada y proporciona una fecha de inicio y un tiempo de ejecución.
Opcional: En la sección Opciones de notificación, haz lo siguiente:
- Para habilitar las notificaciones por correo, haz clic en el interruptor Notificación por correo. Si habilitas esta opción, el administrador de las transferencias recibirá una notificación por correo cuando falle una ejecución de transferencia.
- Para habilitar las notificaciones de Pub/Sub sobre la transferencia de estos datos, haz clic en el interruptor Notificaciones de Pub/Sub. Puedes seleccionar el nombre del tema o hacer clic en Crear un tema para crear uno.
Haz clic en Guardar.
bq
Introduce el comando bq mk y proporciona la marca de creación de transferencia, --transfer_config:
bq mk
--transfer_config
--project_id=PROJECT_ID
--data_source=DATA_SOURCE
--display_name=DISPLAY_NAME
--target_dataset=DATASET
--params='PARAMETERS'
Haz los cambios siguientes:
PROJECT_ID(opcional): ID de tu proyecto. Google Cloud Si no se especifica ningún ID de proyecto, se usa el proyecto predeterminado.DATA_SOURCE: la fuente de datos (por ejemplo,servicenow).DISPLAY_NAME: el nombre visible de la configuración de la transferencia. El nombre de la transferencia de datos puede ser cualquier valor que te permita identificar la transferencia si necesitas modificarla más adelante.DATASET: el conjunto de datos de destino de la configuración de la transferencia.PARAMETERS: los parámetros de la configuración de la transferencia creada en formato JSON. Por ejemplo:--params='{"param":"param_value"}'. Estos son los parámetros de una transferencia de datos de ServiceNow:Parámetro de ServiceNow Obligatorio u opcional Descripción connector.instanceIdObligatorio ID de instancia de la instancia de ServiceNow connector.authentication.usernameObligatorio Nombre de usuario de las credenciales connector.authentication.passwordObligatorio Contraseña de las credenciales connector.authentication.oauth.clientIdObligatorio ID de cliente de OAuth generado. connector.authentication.oauth.clientSecretObligatorio Secreto de cliente de OAuth generado connector.valueTypeOpcional ActualoDisplay(predeterminado:Actual)connector.networkAttachmentOpcional Especifica una vinculación de red para configurar esta transferencia de datos de forma que use una dirección IP única y coherente. Puedes usar esta opción si tu instancia de ServiceNow está protegida para aceptar solo tráfico de direcciones IP específicas. Para obtener más información sobre cómo definir direcciones IP en ServiceNow, consulta Define allowed ServiceNow internal IP addresses (Definir direcciones IP internas permitidas de ServiceNow). Por ejemplo, el siguiente comando crea una transferencia de datos de ServiceNow en el proyecto predeterminado con todos los parámetros obligatorios:
bq mk --transfer_config --target_dataset=mydataset --data_source=servicenow --display_name='My Transfer' --params='{"connector.authentication.oauth.clientId": "1234567890", "connector.authentication.oauth.clientSecret":"ABC12345", "connector.authentication.username":"user1", "connector.authentication.password":"abcdef1234", "connector.instanceId":"https://dev-instance.service-now.com", "connector.networkAttachment": "projects/dev-project1/regions/us-central1/networkattachments/na1"}'
API
Usa el método projects.locations.transferConfigs.create y proporciona una instancia del recurso TransferConfig.
Para ejecutar manualmente una transferencia de datos fuera de tu programación habitual, puedes iniciar una ejecución de rellenado.
Asignación de tipos de datos
En la siguiente tabla se muestra cómo se asignan los tipos de datos en una transferencia de datos de ServiceNow:
| Tipo de datos de ServiceNow | Tipo de datos de BigQuery |
|---|---|
decimal |
FLOAT64 |
integer |
INTEGER |
boolean |
BOOLEAN |
glide_date |
DATE |
glide_date_time |
DATETIME |
glide_time |
INT64 |
reference |
STRING |
currency |
STRING |
sys_class_name |
STRING |
domain_id |
STRING |
domain_path |
STRING |
guid |
STRING |
translated_html |
STRING |
journal |
STRING |
string |
STRING |
Solucionar problemas con las transferencias
En las siguientes secciones se detallan los problemas habituales que se producen al configurar una transferencia de datos de ServiceNow.
Para obtener más información, consulta Solucionar problemas de configuraciones de transferencia.
La transferencia falla debido a la habilitación de ServiceNow
Se produce un problema que provoca que las transferencias de datos fallen cuando las aplicaciones Procurement, Product Catalog o Contract Management no están habilitadas en ServiceNow. Para solucionarlo, habilita las tres aplicaciones:
- Aprovisionamiento
- Catálogo de productos
- Gestión de contratos (habilitada de forma predeterminada)
El problema se produce durante la ejecución de la transferencia
Se produce un problema que impide que se cree la ejecución de la transferencia como se esperaba. Para solucionar el problema, siga estos pasos:
- Comprueba que las credenciales de la cuenta de ServiceNow, como los valores de Nombre de usuario, Contraseña, ID de cliente y Secreto de cliente, sean válidas.
- Comprueba que el ID de instancia sea el ID válido de tu instancia de ServiceNow.
Otros mensajes de error
Para obtener información sobre otros errores que se hayan producido durante una transferencia de datos de ServiceNow, consulta Problemas de transferencia de ServiceNow.
Precios
Para obtener información sobre los precios de las transferencias de ServiceNow, consulta los precios de Data Transfer Service.
Siguientes pasos
- Para obtener una descripción general de BigQuery Data Transfer Service, consulta el artículo Introducción a BigQuery Data Transfer Service.
- Para obtener información sobre cómo usar las transferencias, como obtener información sobre una configuración de transferencia, enumerar configuraciones de transferencia y ver el historial de ejecuciones de una transferencia, consulta el artículo Trabajar con transferencias.
- Consulta cómo cargar datos con operaciones entre nubes.