Programa una transferencia de Salesforce

El Servicio de transferencia de datos de BigQuery para el conector de Salesforce te permite programar y administrar de forma automática los trabajos de carga recurrentes de Salesforce en BigQuery.

Limitaciones

Las transferencias de datos 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 de datos 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 datos de Salesforce.

Crea una app conectada de Salesforce

Debes crear una app conectada de Salesforce con la siguiente configuración obligatoria:

  • Configura la información básica en la app conectada. Los campos Nombre de la app conectada y Correo electrónico de contacto son obligatorios para una transferencia de Salesforce.
  • Habilita la configuración de OAuth con la siguiente configuración:
    • Selecciona la casilla de verificación Habilitar configuración de OAuth.
    • En el campo URL, ingresa lo siguiente:
      • Para un entorno de producción, ingresa https://login.salesforce.com/services/oauth2/token.
      • Para un entorno de zona de pruebas, ingresa https://test.salesforce.com/services/oauth2/token.
  • En la sección Permisos de OAuth seleccionados, selecciona Gestionar datos de usuario mediante APIs (api).
  • Desmarca la casilla de verificación Extensión obligatoria de clave de prueba para el intercambio de código (PKCE) para flujos de autorización compatibles.
  • Selecciona Habilitar flujo de credenciales de cliente y, luego, haz clic en Aceptar en el aviso que aparece.

Una vez que hayas configurado la app conectada con los parámetros de configuración necesarios, haz clic en Guardar. Se te redireccionará a la página de detalles de la app conectada que acabas de crear.

Una vez que hayas creado la app conectada, también debes configurar el flujo de credenciales del cliente. Para ello, sigue estos pasos:

  1. Haz clic en Configuración.
  2. En la barra de búsqueda, busca Apps conectadas.
  3. Haz clic en Administrar apps > Apps conectadas. Si usas Salesforce Lightning Experience, haz clic en Administrar apps conectadas.
  4. En la app conectada que creaste, haz clic en Editar.
  5. Aparecerá la página Detalles de la app. En la sección Flujo de credenciales del cliente, ingresa tu nombre de usuario en el campo Ejecutar como. Puedes usar la herramienta de búsqueda en este campo para asegurarte de haber seleccionado el usuario correcto.
  6. Haz clic en Guardar.

Información obligatoria de Salesforce

Cuando crees una transferencia de datos de Salesforce, debes tener la siguiente información de Salesforce:

Nombre del parámetro Descripción
myDomain Tu Mi dominio en Salesforce.
clientId 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.

Para obtener los valores de myDomain, clientID y clientSecret, selecciona una de las siguientes opciones:

Salesforce Classic

Recupera los detalles de myDomain

Para encontrar tu myDomain, haz lo siguiente:

  1. Accede a la plataforma de Salesforce.
  2. Haz clic en Configuración.
  3. En la barra de búsqueda, busca Mi dominio.
  4. En los resultados de la búsqueda, haz clic en Administración de dominios > Mi dominio.

En la sección Detalles de mi dominio, tu myDomain aparece como el prefijo en URL actual de mi dominio. Por ejemplo, si la URL de Mi dominio es example.my.salesforce.com, el valor de myDomain que se debe usar es example.

Recupera detalles de ClientId y ClientSecret

Para encontrar los valores de ClientId y ClientSecret, haz lo siguiente:

  1. Accede a la plataforma de Salesforce.
  2. Haz clic en Configuración.
  3. En la barra de búsqueda, busca Apps.
  4. En la sección Compilar de los resultados de la búsqueda, haz clic en Crear > Apps.
  5. Haz clic en un Nombre de la app conectada.
  6. En la página de detalles Apps conectadas, haz clic en Administrar detalles del consumidor.
  7. Verifica tu identidad con uno de los métodos registrados. Puedes ver la página de detalles del consumidor durante un máximo de cinco minutos antes de que se te solicite que vuelvas a verificar tu identidad.
  8. En la página Detalles del consumidor, la clave de consumidor es tu valor ClientId. El Secreto del cliente es tu valor ClientSecret.

Experiencia de Salesforce Lightning

Recupera los detalles de myDomain

Para encontrar tu myDomain, haz lo siguiente:

  1. Accede a la plataforma de Salesforce.
  2. Haz clic en Configuración.

Abre la página Configuración en la plataforma de Salesforce.

  1. En la barra de búsqueda, busca Mi dominio.
  2. En los resultados de la búsqueda, haz clic en Configuración de la empresa > Mi dominio.

En la sección Detalles de mi dominio, tu myDomain aparece como el prefijo en URL actual de mi dominio. Por ejemplo, si la URL de Mi dominio es example.my.salesforce.com, el valor de myDomain que se debe usar es example.

Recupera detalles de ClientId y ClientSecret

  1. Accede a la plataforma de Salesforce.
  2. Haz clic en Configuración.
  3. En la barra de búsqueda, busca Apps.
  4. En los resultados de la búsqueda, haz clic en Apps > Administrador de apps.
  5. Busca una app conectada y, luego, haz clic en Ver.
  6. Haz clic en Administrar detalles del consumidor.
  7. Verifica tu identidad con uno de los métodos registrados. Puedes ver la página de detalles del consumidor durante un máximo de cinco minutos antes de que se te solicite que vuelvas a verificar tu identidad.
  8. En la página Detalles del consumidor, la clave de consumidor es tu valor ClientId. El Secreto del cliente es tu valor ClientSecret.

Requisitos previos 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 a proyectos, carpetas y organizaciones.

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

  1. Ve a la página Transferencia de datos en la consola de Google Cloud.

    Ir a Transferencias de datos

  2. Haz clic en Crear transferencia.

  3. En la sección Tipo de fuente, en Fuente, elige Salesforce.

  4. En la sección Detalles de fuente de datos, haz lo siguiente:

    • En Mi dominio, ingresa tu Mi dominio 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 de datos en este campo.

      Establece una configuración de transferencia de Salesforce

  5. 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.

  6. En la sección Nombre de configuración de la transferencia (Transfer config name), en Nombre visible (Display name), ingresa el nombre de la transferencia de datos.

  7. 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 de datos. 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.

  8. 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 de datos.

    Si accediste con una identidad federada, se requiere una cuenta de servicio para crear una transferencia de datos. 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.

  9. 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.
  10. 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'

Donde:

  • 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: el nombre visible de la configuración de transferencia de datos. 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 datos de Salesforce:

    • connector.authentication.oauth.clientId: La 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.authentication.oauth.myDomain: Mi dominio de Salesforce. Por ejemplo, si la URL de tu dominio es example.my.salesforce.com, el valor es example.
    • 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 datos 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.authentication.oauth.myDomain":"MyDomainName",}'

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 de datos, consulta Problemas de transferencia de Salesforce.

¿Qué sigue?