Origen por lotes de Salesforce

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

El complemento de fuente por lotes de Salesforce admite la lectura de datos con consultas de Salesforce Object Query Language (SOQL) y filtros de fecha incrementales o de rango.

Antes de comenzar

Configura el complemento

  1. Ve a la interfaz web de Cloud Data Fusion y haz clic en Studio.
  2. Verifica que esté seleccionada la opción Data Pipeline - Batch (no Realtime).
  3. En el menú Source, haz clic en Salesforce. El nodo de Salesforce aparecerá en tu canalización. Si no ves la fuente de Salesforce en la página Studio, implementa los complementos de Salesforce desde el centro de Cloud Data Fusion.
  4. Para configurar la fuente, ve al nodo de Salesforce y haz clic en Properties.
  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 del linaje, por ejemplo, Salesforce tables.
    3. Ingresa los detalles de la conexión. Puedes configurar una conexión nueva y única, o una conexión existente y reutilizable.

      Nueva conexión

      Para agregar una conexión única a Salesforce, sigue estos pasos:

      1. Mantén desactivada la opción Usar conexión.
      2. En la sección Connection, 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 conexión reutilizable, haz clic en Agregar conexión y consulta los pasos que se indican en la pestaña Nueva conexión.

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

    5. Opcional: Si seleccionas el nombre de la sObject, puedes filtrar los datos con los siguientes campos:

      • Última modificación después: Solo incluye los registros que se modificaron por última vez después de un momento determinado.
      • Última modificación antes: Solo incluye los registros que se modificaron por última vez antes de una fecha determinada.
      • Duración: Incluye solo los registros que se modificaron por última vez dentro de un período del tamaño especificado.
      • Desfase: Incluye solo los registros en los que la fecha de la última modificación sea inferior a la hora de inicio lógica de la canalización, menos el desfase determinado.
    6. Opcional: Para mejorar el rendimiento de una canalización de sObjects compatibles, activa Habilitar el fragmento de PK. Para obtener más información, consulta Cómo mejorar el rendimiento con el fragmentación de PK.

    7. Opcional: En lugar de especificar el nombre del objeto s, puedes ingresar una consulta de SOQL, como SELECT LastName from Contact. Para obtener más información, consulta 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 de la tabla enumerada (técnicamente, un sObject).

Propiedades

Propiedad Macro habilitada Propiedad obligatoria Descripción
Reference name No Se usa para identificar de forma única esta fuente para tareas, como el linaje, la anotación de metadatos.
Cómo usar la conexión No No Usa una conexión existente. Si se usa una conexión, no necesitas proporcionar las credenciales.
Explorar conexiones No Es el nombre de la conexión que se usará.
Nombre de usuario Nombre de usuario de Salesforce.
Contraseña 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 lo agrega antes de autenticarse con Salesforce.
Clave de consumidor Clave de consumidor de la aplicación. También se lo conoce como 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 lo conoce como secreto del cliente de OAuth. Para obtener un secreto de cliente, crea una aplicación conectada de Salesforce.
URL de acceso URL de acceso de OAuth2 de Salesforce.
El valor predeterminado es https://login.salesforce.com/services/oauth2/token.
Tiempo de espera de la conexión No Es el tiempo máximo, en milisegundos, que se debe esperar para que se inicialice la conexión antes de que se agote el tiempo de espera.
La configuración predeterminada es de 30,000 milisegundos.
URL de proxy No URL del proxy, que contiene un protocolo, una dirección y un puerto
SOQL No Una consulta 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 del objeto de Salesforce No Es el nombre del objeto de Salesforce que se leerá. Si se proporciona un valor, el conector obtiene todos los campos de este objeto de Salesforce y genera una consulta SOQL, como select FIELD_1, FIELD_2 from ${sObjectName}. Se ignora si se proporciona una consulta de SOQL.
También hay sObjects que no son compatibles con la API masiva de Salesforce. Si creas un trabajo con un objeto no admitido, se producirá 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 de BULK: Cuando la longitud de la consulta envía la consulta a Salesforce para recibir el array de información por lotes, no se usa la API de Bulk en un caso. Si la consulta está dentro del límite, se 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 información de lotes para los IDs que se usarán más adelante 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 a la fecha especificada. Usa el formato de fecha de Salesforce (consulta los ejemplos). Si no se proporciona ningún valor, no se aplica ninguna fecha 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). Especificar este valor con la propiedad Last modified after te permite leer los datos que se modificaron dentro de un período. 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 dentro de 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. (excluyente). 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 o Última modificación antes, se ignora la duración.
Desplazamiento No Filtra los 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 la compensación determinada. Por ejemplo, si la duración es 6 hours, la compensación 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. (inclusive) y las 8 a.m. (exclusivo).
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 o Última modificación antes, 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 muestran todos los registros actuales y borrados.
La operación predeterminada es query.
Habilita la fragmentación de PK No El fragmentado de claves primarias (PK) divide una consulta en tablas grandes en fragmentos según los IDs de registro o las claves primarias de los registros consultados.
Salesforce recomienda que habilites el fragmentación de PK cuando consultes tablas con más de 10 millones de registros o cuando una consulta masiva se agote constantemente. Para obtener más información, consulta Fragmentación de PK. El fragmentación de PK solo funciona con consultas que no incluyen cláusulas SELECT ni condiciones que no sean WHERE. El almacenamiento en fragmentos es compatible con los objetos personalizados y con cualquier tabla de uso compartido y de historial que admita objetos estándar.
Tamaño del fragmento No Especifica el tamaño del fragmento. El tamaño máximo es de 250,000. El tamaño predeterminado es 100,000.
Nombre del objeto superior de SObject No Es el elemento superior del objeto de Salesforce. Se usa para habilitar el fragmentación para las tablas de historial o los objetos compartidos.

Ejemplos de formatos de fecha de Salesforce

Sintaxis de 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

La siguiente tabla es una lista de los tipos de datos de Salesforce con los tipos de CDAP correspondientes.

Tipo de datos de Salesforce Tipo de datos del 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 de la fuente por lotes de Salesforce:

Prácticas recomendadas

Para obtener más información sobre cómo mejorar el rendimiento en la fuente por lotes de Salesforce, consulta las prácticas recomendadas.

¿Qué sigue?