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
- La fuente por lotes de Salesforce de Cloud Data Fusion usa la API de Salesforce Bulk v1.
- Configura Salesforce antes de implementar y usar el complemento de Salesforce para Cloud Data Fusion. Para obtener más información, consulta Cómo crear una app conectada de Salesforce para Cloud Data Fusion.
Configura el complemento
- Ve a la interfaz web de Cloud Data Fusion y haz clic en Studio.
- Verifica que esté seleccionada la opción Data Pipeline - Batch (no Realtime).
- 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.
- Para configurar la fuente, ve al nodo de Salesforce y haz clic en Properties.
Ingresa las siguientes propiedades. Para obtener una lista completa, consulta Propiedades.
- Ingresa una Etiqueta para el nodo de Salesforce, por ejemplo,
Salesforce tables
. - Ingresa un Nombre de referencia para la fuente de Salesforce del linaje, por ejemplo,
Salesforce tables
. 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:
- Mantén desactivada la opción Usar conexión.
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:
- Activa Usar conexión.
- Haz clic en Browse connections.
Haz clic en el nombre de la conexión.
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.
Ingresa el nombre del objeto SObject para cargar todas las columnas del objeto.
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.
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.
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.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).
- Ingresa una Etiqueta para el nodo de Salesforce, por ejemplo,
Propiedades
Propiedad | Macro habilitada | Propiedad obligatoria | Descripción |
---|---|---|---|
Reference name | No | Sí | 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 | Sí | No | Es el nombre de la conexión que se usará. |
Nombre de usuario | Sí | Sí | Nombre de usuario de Salesforce. |
Contraseña | Sí | Sí | Contraseña de Salesforce. |
Token de seguridad | Sí | 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 | Sí | Sí | 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 | Sí | Sí | 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 | Sí | Sí | 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 | Sí | 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 | Sí | No | URL del proxy, que contiene un protocolo, una dirección y un puerto |
SOQL | Sí | No | Una consulta SOQL para recuperar datos en la fuente. Ejemplos:
|
Nombre del objeto de Salesforce | Sí | 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 | Sí | 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 | Sí | 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 | Sí | 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:
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 | Sí | 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:
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 | Sí | 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 | Sí | 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 | Sí | 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.
Notas de la versión
¿Qué sigue?
- Consulta un instructivo sobre complementos de Salesforce.