Programa una transferencia de Salesforce
El Servicio de transferencia de datos de BigQuery para Salesforce te permite programar y administrar de forma automática los trabajos de carga recurrentes de Salesforce en BigQuery.
Limitaciones
Las transferencias de Salesforce están sujetas a las siguientes limitaciones:
- El Servicio de transferencia de datos de BigQuery para Salesforce solo admite la API masiva de Salesforce para conectarse a la instancia de Salesforce y solo admite la transferencia de entidades compatibles con la API masiva de Salesforce. Para obtener más información sobre qué entidades son compatibles, consulta “La entidad no es compatible con el error de la API masiva”.
- El tiempo de intervalo mínimo entre transferencias recurrentes es de 15 minutos. El intervalo predeterminado para una transferencia recurrente es de 24 horas.
- El Servicio de transferencia de datos de BigQuery usa la API de Salesforce Bulk v1 para conectarse al extremo de Salesforce y recuperar datos.
Antes de comenzar
En las siguientes secciones, se describen los pasos que debes seguir antes de crear una transferencia de Salesforce.
Requisitos previos de Salesforce
Crea una app conectada de Salesforce con la siguiente configuración:
- Genera un token de seguridad para la app.
Para permitir el flujo de nombre de usuario y contraseña de OAuth, haz lo siguiente:
- En la app conectada, haz clic en ConfiguraciónConfiguración.
En el campo Búsqueda rápida, busca la Configuración de conexión de OAuth y OpenID y habilítala.
Para habilitar la autorización automática de un usuario de la app conectada, sigue estos pasos:
- En la app conectada, haz clic en ConfiguraciónConfiguración.
- En el campo Búsqueda rápida, busca Administrar apps conectadas.
- Haz clic en Editar en la app conectada que usas para la ejecución de la transferencia.
En Políticas de OAuth, haz clic en el menú Usuarios permitidos y selecciona Todos los usuarios se autoautorizarán.
En Relajación de IP, selecciona Disminución de las restricciones de IP.
También debes tener la siguiente información de Salesforce cuando crees una transferencia de Salesforce:
Nombre del parámetro | Descripción |
---|---|
clientId |
ClientId o clave de consumidor de la aplicación conectada de Salesforce. |
clientSecret |
Secreto del cliente de OAuth o secreto del consumidor de la aplicación conectada de Salesforce. |
username |
Nombre de usuario de la cuenta de Salesforce. |
password |
Contraseña de la cuenta de Salesforce. |
securityToken |
Token de seguridad de la cuenta de Salesforce. Este token de seguridad es un código alfanumérico que distingue mayúsculas de minúsculas y se agrega a la contraseña. El token de seguridad es necesario cuando se accede a las APIs de Salesforce desde fuera del rango de IP de confianza de tu configuración de Salesforce. |
Requisitos previos de BigQuery
- Verifica si completaste todas las acciones necesarias para habilitar el Servicio de transferencia de datos de BigQuery
- Crea un conjunto de datos de BigQuery para almacenar tus datos.
- Si quieres configurar las notificaciones de ejecución de transferencias para Pub/Sub, asegúrate de tener el permiso
pubsub.topics.setIamPolicy
de Identity and Access Management (IAM). Los permisos de Pub/Sub no son necesarios si solo configuras las notificaciones por correo electrónico. Para obtener más información, consulta la sección sobre notificaciones de ejecución del Servicio de transferencia de datos de BigQuery.
Roles de BigQuery requeridos
Para obtener los permisos que necesitas para crear una transferencia,
pídele a tu administrador que te otorgue el rol de IAM de
administrador de BigQuery (roles/bigquery.admin
).
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.
Este rol predefinido contiene los permisos necesarios para crear una transferencia. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear una transferencia:
-
bigquery.transfers.update
en el usuario -
bigquery.datasets.get
en el conjunto de datos de destino -
bigquery.datasets.update
en el conjunto de datos de destino
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos
Configura una transferencia de datos de Salesforce
Para crear una transferencia de datos de Salesforce, haz lo siguiente:
Console
En la consola de Google Cloud, ve a la página de BigQuery.
Haz clic en Transferencias de datos > Crear una transferencia.
En la sección Tipo de fuente, en Fuente, elige Salesforce.
En la sección Nombre de configuración de la transferencia, en Nombre visible, ingresa el nombre de la transferencia.
En la sección Opciones de programación, haz lo siguiente:
En la lista Frecuencia de repetición, selecciona una opción para especificar la frecuencia con la que se ejecuta esta transferencia. Para especificar una frecuencia de repetición personalizada, selecciona Personalizada. Si seleccionas Según demanda, esta transferencia se ejecuta cuando activas la transferencia de forma manual.
Si corresponde, selecciona Comenzar ahora o Comenzar a una hora determinada y proporciona una fecha de inicio y una hora de ejecución.
En la sección Configuración de destino, en Conjunto de datos de destino, selecciona el conjunto de datos que creaste para almacenar tus datos.
En la sección Detalles de fuente de datos, haz lo siguiente:
- En Dominio personalizado, ingresa un dominio de acceso personalizado si corresponde. Si tu URL de acceso de Salesforce es
login.salesforce.com
otest.salesforce.com
, deja este campo en blanco. En URL de Salesforce, selecciona el sufijo con el que termina tu URL de acceso de Salesforce. Si seleccionas
my.salesforce.com
osandbox.my.salesforce.com
, estos valores agregarán un sufijo al dominio personalizado que proporcionaste en el campo Dominio personalizado.Por ejemplo, si proporcionaste el dominio personalizado
mydomain
y seleccionastemy.salesforce.com
, la URL de acceso serámydomain.my.salesforce.com
.En Nombre de usuario, ingresa el nombre de usuario de la cuenta de Salesforce.
En Contraseña, ingresa la contraseña de la cuenta de Salesforce.
En Token de seguridad, ingresa el token de seguridad de la cuenta de Salesforce.
En ID de cliente, ingresa la clave de consumidor de la aplicación conectada de Salesforce.
En Secreto de cliente, ingresa el secreto del consumidor de la aplicación conectada de Salesforce.
En Objetos de Salesforce para transferir, haz clic en Explorar para seleccionar los objetos que se transferirán al conjunto de datos de destino de BigQuery.
- También puedes ingresar de forma manual cualquier objeto que desees incluir en la transferencia en este campo.
- En Dominio personalizado, ingresa un dominio de acceso personalizado si corresponde. Si tu URL de acceso de Salesforce es
En la lista Cuenta de servicio, selecciona una cuenta de servicio asociada con tu proyecto de Google Cloud. La cuenta de servicio seleccionada debe tener los roles necesarios para ejecutar esta transferencia.
Si accediste con una identidad federada, se requiere una cuenta de servicio para crear una transferencia. Si accediste con una Cuenta de Google, la cuenta de servicio para la transferencia es opcional.
Para obtener más información sobre el uso de cuentas de servicio con transferencias de datos, consulta Usa cuentas de servicio.
Opcional: En la sección Opciones de notificación, haz lo siguiente:
- Para habilitar las notificaciones por correo electrónico, haz clic en el botón de activar o desactivar Notificación por correo electrónico. Si habilitas esta opción, el administrador de transferencias recibirá una notificación por correo electrónico cuando falle la ejecución de una transferencia.
- Si quieres habilitar las notificaciones de ejecución de transferencias de Pub/Sub para esta transferencia, haz clic en el botón de activar 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
Ingresa el comando bq mk
y suministra la marca de creación de transferencias --transfer_config
.
bq mk \ --transfer_config \ --project_id=PROJECT_ID \ --data_source=DATA_SOURCE \ --display_name=NAME \ --target_dataset=DATASET \ --params='PARAMETERS'
Aquí:
- PROJECT_ID (opcional): Tu ID del proyecto de Google Cloud.
Si no se proporciona
--project_id
para especificar un proyecto en particular, se usa el proyecto predeterminado. - DATA_SOURCE: La fuente de datos:
salesforce
. - NAME es el nombre visible de la configuración de transferencia. El nombre de la transferencia puede ser cualquier valor que te permita identificarla con facilidad si es necesario hacerle modificaciones más tarde.
- DATASET es el conjunto de datos de destino para la configuración de transferencia.
PARAMETERS son los parámetros de la configuración de transferencia creada en formato JSON. Por ejemplo:
--params='{"param":"param_value"}'
Los siguientes son los parámetros para una transferencia de ServiceNow:connector.authentication.oauth.clientId
: ClientId o clave de consumidor de la aplicación conectada de Salesforce.connector.authentication.oauth.clientSecret
: El secreto del cliente de OAuth o el secreto del consumidor de la aplicación conectada de Salesforce.connector.customDomainName
(opcional): el dominio de acceso personalizado de Salesforce, si corresponde. Dejar en blanco para usar el dominio de acceso predeterminadologin.Salesforce.com
.connector.authentication.username
: el nombre de usuario de la cuenta de Salesforce.connector.authentication.password
: la contraseña de la cuenta de Salesforce.connector.authentication.securityToken
: el token de seguridad de la cuenta de Salesforce.assets
: la ruta de acceso a los objetos de Salesforce que se transferirán a BigQuery.
Por ejemplo, el siguiente comando crea una transferencia de Salesforce en el proyecto predeterminado con todos los parámetros obligatorios:
bq mk \ --transfer_config \ --target_dataset=mydataset \ --data_source=salesforce \ --display_name='My Transfer' \ --params='{"assets":["Account"], "connector.authentication.oauth.clientId": "1234567890", "connector.authentication.oauth.clientSecret":"ABC12345", "connector.customDomainName":"MyDomainName", "connector.authentication.username":"user1@force.com", "Connector.authentication.password":"abcdef1234", "connector.authentication.securityToken":"a1hghbb44lnl465lbl75b",}'
API
Usa el método projects.locations.transferConfigs.create
y suministra una instancia del recurso TransferConfig
.
Precios
No se aplican costos por transferir datos de Salesforce a BigQuery mientras esta función está en vista previa.
Soluciona problemas con la configuración de una transferencia
Si tienes problemas para configurar tu transferencia, consulta Problemas de transferencia de Salesforce.
¿Qué sigue?
- Si deseas obtener una descripción general del Servicio de transferencia de datos de BigQuery, consulta la página sobre la introducción al Servicio de transferencia de datos de BigQuery.
- Para obtener información sobre el uso de las transferencias (por ejemplo, cómo obtener información sobre una configuración de transferencia, mostrar distintas configuraciones o visualizar su historial de ejecuciones), consulta Trabaja con transferencias.
- Obtén más información sobre cómo cargar datos con operaciones entre nubes.