Fuente de lotes de Salesforce

En esta página, se describe cómo cargar datos de sObjects de Salesforce en Google Cloud con Cloud Data Fusion. El complemento de fuente por lotes de Salesforce lee sObjects de Salesforce. Los sObjects son las tablas de Salesforce de las que planeas extraer. Algunos ejemplos de sObjects incluyen oportunidades, contactos, cuentas, clientes potenciales y objetos personalizados.

El complemento de fuente por lotes de Salesforce admite la lectura de datos con consultas del lenguaje de consulta de objetos de Salesforce (SOQL) y filtros de fecha incremental o de rango.

Antes de comenzar

Cómo configurar el complemento

  1. Ve a la interfaz web de Cloud Data Fusion y haz clic en Studio.
  2. Comprueba que la opción Data Pipeline - Batch esté seleccionada (no Realtime).
  3. En el menú Fuente, haz clic en Salesforce. El nodo de Salesforce aparece en la canalización. Si no ves la fuente de Salesforce en la página Studio, implementa los complementos de Salesforce desde Cloud Data Fusion Hub.
  4. Para configurar la fuente, ve al nodo de Salesforce y haz clic en Propiedades.
  5. Ingresa las siguientes propiedades. Para obtener una lista completa, consulta Propiedades.

    1. Ingresa una Etiqueta para el nodo de Salesforce, por ejemplo, Salesforce tables.
    2. Ingresa un Nombre de referencia para la fuente de Salesforce para el linaje, por ejemplo, Salesforce tables.
    3. Ingresa los detalles de la conexión. Puedes configurar una conexión nueva de un solo uso, o una existente y reutilizable.

      Nueva conexión

      Para agregar una conexión de un solo uso a Salesforce, sigue estos pasos:

      1. Mantén desactivada la opción Usar conexión.
      2. En la sección Conexión, ingresa la siguiente información de la cuenta de Salesforce en estos campos:

        • Nombre de usuario
        • Contraseña
        • Token de seguridad
        • Clave de consumidor
        • Secreto de consumidor

        Para obtener las credenciales de Salesforce, consulta cómo obtener propiedades de Salesforce.

      Conexión reutilizable

      Para volver a usar una conexión existente, sigue estos pasos:

      1. Activa Usar conexión.
      2. Haz clic en Browse connections.
      3. Haz clic en el nombre de la conexión.

      4. Opcional: Si no existe una conexión y deseas crear una nueva y reutilizable, haz clic en Agregar conexión y consulta los pasos de la pestaña Conexión nueva.

    4. Ingresa el SObject name para cargar todas las columnas del objeto.

    5. Si seleccionas el nombre de sObject, puedes filtrar los datos con los siguientes campos (opcional):

      • Última modificación después de: Incluye solo los registros que se modificaron por última vez después de un momento determinado.
      • Última modificación antes: Incluye solo los registros que se modificaron por última vez antes de un momento determinado.
      • Duración: Incluye solo los registros que se modificaron por última vez en un período del tamaño especificado.
      • Desfase: Incluye solo los registros en los que la fecha de la última modificación es menor que la hora de inicio lógica de la canalización, menos el desplazamiento determinado.
    6. Opcional: Para mejorar el rendimiento de una canalización, activa Habilitar fragmentación de PK (opcional). Para obtener más información, consulta Mejora el rendimiento con la fragmentación de PK.

    7. Opcional: En lugar de especificar el nombre de sObject, puedes ingresar una consulta de SOQL, como SELECT LastName from Contact. Si deseas obtener más información, visita Consultas de SOQL para la fuente de Salesforce.

    8. Para probar la conectividad, haz clic en Obtener esquema. Cloud Data Fusion se conecta a Salesforce y extrae el esquema para la tabla enumerada (técnicamente, un sObject).

Propiedades

Propiedad Macro habilitado Propiedad obligatoria Descripción
Reference name No Se usa para identificar esta fuente de forma única en tareas como el linaje y la anotación de metadatos.
Usar conexión No No Usa una conexión existente. Si se usa una conexión, no necesitas proporcionar las credenciales.
Explorar conexiones No Nombre de la conexión que se usará.
Nombre de usuario Nombre de usuario de Salesforce.
Contraseña (Password) Contraseña de Salesforce.
Token de seguridad No Token de seguridad de Salesforce. Si la contraseña no contiene el token de seguridad, Cloud Data Fusion adjunta el token antes de autenticarse con Salesforce.
Clave de consumidor Clave de consumidor de la aplicación. También se denomina ID de cliente de OAuth. Para obtener una clave de consumidor, crea una aplicación conectada de Salesforce.
Secreto de consumidor Secreto de consumidor de la aplicación También se denomina secreto del cliente de OAuth. Para obtener un secreto del cliente, crea una aplicación conectada de Salesforce.
URL de acceso URL de acceso de OAuth2 para Salesforce.
El valor predeterminado es https://login.salesforce.com/services/oauth2/token
Tiempo de espera de la conexión No El tiempo máximo, en milisegundos, que se debe esperar a que se inicie la conexión antes de que se agote el tiempo de espera.
El valor predeterminado es 30,000 milisegundos.
URL de proxy No URL de proxy, que contiene un protocolo, una dirección y un puerto.
SOQL No Una consulta de SOQL para recuperar datos en la fuente.
Ejemplos:
  • SELECT Id, Name, BillingCity FROM Account
  • SELECT Id FROM Contact WHERE Name LIKE 'A%' AND MailingCity = 'California'
Nombre de SObject No Es el nombre del objeto de Salesforce que se leerá. Si se proporciona un valor, el conector obtiene todos los campos para este objeto de Salesforce y genera una consulta de SOQL, como select FIELD_1, FIELD_2 from ${sObjectName}. Se ignora si se proporciona una consulta en SOQL.
También hay sObjects que no se admiten en la API Bulk de Salesforce. Crear un trabajo con un objeto no compatible genera el siguiente error: Entity is not supported by the Bulk API. Estos objetos tampoco son compatibles con Einstein Analytics, que usa la API de Bulk para consultar datos.
Casos en los que no se usa la API BULK: Cuando la longitud de la consulta envía la consulta a Salesforce para recibir el array de información del lote, la API de Bulk no se usa en un caso. Si la consulta está dentro del límite, ejecuta la consulta original. De lo contrario, cambia a la lógica de objetos amplios. Por ejemplo, genera una consulta de ID que solo recupera la información del lote para los ID que se usarán después para recuperar datos a través de la API de SOAP.
Última modificación después del No Filtra los datos para incluir solo los registros en los que el campo del sistema, LastModifiedDate, sea mayor o igual que la fecha especificada. Utiliza el formato de fecha de Salesforce (consulta los ejemplos). Si no se proporciona ningún valor, no se aplica ninguna fecha de límite inferior.
Última modificación antes del No Filtra los datos para incluir solo los registros en los que el campo del sistema, LastModifiedDate, sea menor que la fecha especificada. Usa el formato de fecha de Salesforce (consulta los ejemplos). Si especificas este valor con la propiedad Last modified after, podrás leer los datos que se modificaron en un período determinado. Si no se proporciona ningún valor, no se aplica ninguna fecha límite superior.
Duración No Filtra los datos para leer solo los registros que se modificaron por última vez en un período del tamaño especificado. Por ejemplo, si la duración es 6 hours y la canalización se ejecuta a las 9 a.m., leerá los datos que se actualizaron por última vez desde las 3 a.m. (inclusive) hasta las 9 a.m. (exclusivamente). Especifica la duración con números y las siguientes unidades de tiempo:
  • seconds
  • minutes
  • hours
  • days
  • months
  • years
Se pueden especificar varias unidades, pero cada una solo se puede usar una vez. Por ejemplo, 2 days, 1 hours, 30 minutes. Si ya se especificó un valor para Última modificación después de o Última modificación antes de, se ignora la duración.
Desplazamiento No Filtra datos para leer solo los registros en los que el campo del sistema, LastModifiedDate, sea menor que la hora de inicio lógica de la canalización, menos el desplazamiento determinado. Por ejemplo, si la duración es 6 hours, el desplazamiento es 1 hours y la canalización se ejecuta a las 9 a.m., se leen los datos que se modificaron por última vez entre las 2 a.m. (incluida) y las 8 a.m. (exclusiva).
Especifica la duración con números y las siguientes unidades de tiempo:
  • seconds
  • minutes
  • hours
  • days
  • months
  • years
Se pueden especificar varias unidades, pero cada una solo se puede usar una vez. Por ejemplo, 2 days, 1 hours, 30 minutes. Si ya se especificó un valor para Última modificación después de o Última modificación antes de, se ignora el desplazamiento.
Tipo de operación de SOQL No No Especifica la operación de consulta que se ejecutará en la tabla. Si se selecciona una consulta, solo se muestran los registros actuales. Si seleccionas queryAll, se mostrarán todos los registros actuales y borrados.
La operación predeterminada es query.
Habilitar la fragmentación de PK No La fragmentación de clave primaria (PK) divide una consulta en tablas grandes en partes (o en fragmentos) según los IDs de registro o claves primarias de los registros consultados.
Salesforce recomienda que habilites la fragmentación de PK cuando se consultan tablas con más de 10 millones de registros o cuando se agota el tiempo de espera de una consulta masiva de forma constante. Para obtener más información, consulta Fragmentación de PK. La fragmentación de PK solo funciona con consultas que no incluyen cláusulas SELECT o condiciones distintas de WHERE. La fragmentación es compatible con los objetos personalizados y cualquier tabla de historial y uso compartido que admita objetos estándar.
Tamaño de los fragmentos No Especifica el tamaño del bloque. El tamaño máximo es de 250,000. El tamaño predeterminado es 100,000.
Nombre del elemento superior de SObject No Elemento superior del objeto de Salesforce. Se usa para habilitar la fragmentación en objetos compartidos o tablas del historial.

Ejemplos de formatos de fecha de Salesforce

Sintaxis del formato Ejemplo
YYYY-MM-DDThh:mm:ss+hh:mm 1999-01-01T23:01:01+01:00
YYYY-MM-DDThh:mm:ss-hh:mm 1999-01-01T23:01:01-08:00
YYYY-MM-DDThh:mm:ssZ 1999-01-01T23:01:01Z

Asignaciones de tipos de datos

En la siguiente tabla, se muestra una lista de los tipos de datos de Salesforce con los tipos de CDAP correspondientes.

Tipo de datos de Salesforce Tipo de datos de esquema de CDAP
_bool boolean
_int int
_long long
_double, currency, percent, geolocation (latitud), geolocation (longitud) double
date date
datetime timestamp (microsegundos)
time time (microsegundos)
picklist string
multipicklist string
combobox string
reference string
base64 string
textarea string
phone string
id string
url string
email string
encryptedstring string
datacategorygroupreference string
location string
address string
anyType string
json string
complexvalue string

Casos de uso

Consulta los siguientes casos de uso para la fuente de lotes de Salesforce:

prácticas recomendadas

Si deseas obtener más información para mejorar el rendimiento en la fuente por lotes de Salesforce, consulta las prácticas recomendadas.

¿Qué sigue?