En esta página se describe cómo cargar datos de sObjects de Salesforce en Google Cloudcon 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 quieres 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 lenguaje de consulta de objetos de Salesforce (SOQL) y filtros de fecha incrementales o de intervalo.
Antes de empezar
- La fuente por lotes de Salesforce de Cloud Data Fusion usa la API Bulk V1 de Salesforce.
- Configura Salesforce antes de implementar y usar el complemento de Salesforce de Cloud Data Fusion. Para obtener más información, consulte Crear una aplicación conectada de Salesforce para Cloud Data Fusion.
Configurar el complemento
- Ve a la interfaz web de Cloud Data Fusion y haz clic en Studio.
- Comprueba que esté seleccionada la opción Flujo de procesamiento de datos - Lote (no En tiempo real).
- En el menú Fuente, haz clic en Salesforce. El nodo de Salesforce aparecerá en tu canalización. Si no ve la fuente de Salesforce en la página Studio, implemente los complementos de Salesforce desde el centro de Cloud Data Fusion.
- Para configurar la fuente, vaya al nodo de Salesforce y haga clic en Propiedades.
Introduce las siguientes propiedades. Para ver una lista completa, consulta Propiedades.
- Introduce una etiqueta para el nodo de Salesforce. Por ejemplo,
Salesforce tables
. - Introduce un Nombre de referencia para la fuente de Salesforce del linaje. Por ejemplo,
Salesforce tables
. Introduce los detalles de la conexión. Puedes configurar una conexión nueva y puntual o una conexión reutilizable que ya tengas.
Nueva conexión
Para añadir una conexión única a Salesforce, sigue estos pasos:
- Mantén desactivada la opción Usar conexión.
En la sección Conexión, introduce la siguiente información de la cuenta de Salesforce en estos campos:
- Username (Nombre de usuario)
- Password (Contraseña)
- Token de seguridad
- Clave de consumidor
- Secreto del consumidor
Para obtener las credenciales de Salesforce, consulta el artículo Obtener propiedades de Salesforce.
Conexión reutilizable
Para reutilizar una conexión, sigue estos pasos:
- Activa Usar conexión.
- Haz clic en Ver conexiones.
Haz clic en el nombre de la conexión.
.Opcional: Si no hay ninguna conexión y quieres crear una nueva que se pueda reutilizar, haz clic en Añadir conexión y sigue los pasos de la pestaña Nueva conexión.
Introduce el nombre de SObject para cargar todas las columnas del objeto.
Opcional: Si selecciona el nombre del sObject, puede filtrar los datos con los siguientes campos:
- Modificado por última vez después de: incluye solo los registros que se modificaron por última vez después de una hora determinada.
- Last modified before (Modificado por última vez antes de): solo incluye los registros que se modificaron por última vez antes de una hora determinada.
- Duración: solo se incluyen los registros que se modificaron por última vez en un periodo de tiempo del tamaño especificado.
- Desplazamiento: solo se incluyen los registros en los que la fecha de última modificación sea anterior a la hora de inicio lógica de la canalización menos el desplazamiento indicado.
Opcional: En los sObjects admitidos, para mejorar el rendimiento de una pipeline, activa Habilitar la fragmentación de claves primarias. Para obtener más información, consulta Mejorar el rendimiento con la fragmentación de claves principales.
Opcional: En lugar de especificar el nombre del sObject, puedes introducir una consulta SOQL, como
SELECT LastName from Contact
. Para obtener más información, consulta Consultas SOQL para la fuente de Salesforce.Para probar la conectividad, haga clic en Obtener el esquema. Cloud Data Fusion se conecta a Salesforce y extrae el esquema de la tabla indicada (técnicamente, un sObject).
- Introduce una etiqueta para el nodo de Salesforce. Por ejemplo,
Propiedades
Propiedad | Compatible con macros | Propiedad obligatoria | Descripción |
---|---|---|---|
Nombre de referencia | No | Sí | Se usa para identificar de forma única esta fuente para tareas como el linaje o la anotación de metadatos. |
Usar conexión | No | No | Usa una conexión ya creada. Si se usa una conexión, no es necesario que proporcione las credenciales. |
Ver conexiones | Sí | No | Nombre de la conexión que se va a 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, la aplicación Cloud Data Fusion añade el token antes de autenticarse en Salesforce. |
Clave del cliente | Sí | Sí | Clave de consumidor de la aplicación. También se denomina "ID de cliente de OAuth". Para obtener una clave de consumidor, cree una aplicación conectada de Salesforce. |
Secreto de consumidor | Sí | Sí | Secreto de consumidor de la aplicación. También se denomina "secreto de cliente de OAuth". Para obtener un secreto de cliente, cree una aplicación conectada de Salesforce. |
URL de inicio de sesión | Sí | Sí | URL de inicio de sesión de OAuth2 de Salesforce. El valor predeterminado es https://login.salesforce.com/services/oauth2/token |
Tiempo de espera agotado | Sí | No | 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. El valor predeterminado es 30.000 milisegundos. |
URL de proxy | Sí | No | URL de proxy, que contiene un protocolo, una dirección y un puerto. |
SOQL | Sí | No | Una consulta SOQL para obtener datos de la fuente. Ejemplos:
|
Nombre de SObject | Sí | No | Nombre del objeto de Salesforce que se va a 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 SOQL.También hay sObjects que no se admiten en la API Bulk de Salesforce. Si se crea un trabajo con un objeto no admitido, se produce el siguiente error: Entity is not supported by the Bulk
API . Estos objetos tampoco son compatibles con Einstein Analytics, que usa la API 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 la matriz de información de lote, la API Bulk no se usa en un caso. Si la consulta está dentro del límite, se ejecuta la consulta original. De lo contrario, se cambia a la lógica de objetos anchos. Por ejemplo, genera una consulta de ID que solo obtiene información de lotes para los IDs que se usarán más adelante para obtener datos a través de la API SOAP. |
Última modificación posterior al | Sí | No | Filtra los datos para que solo se incluyan los registros en los que el campo del sistema,
LastModifiedDate , sea mayor o igual que la fecha
especificada. Usa el formato de fecha de Salesforce (consulta los ejemplos). Si no se proporciona ningún valor, no se aplicará ninguna fecha límite inferior. |
Última modificación anterior al | Sí | No | Filtra los datos para incluir solo los registros en los que el campo de sistema,
LastModifiedDate , sea anterior a la fecha especificada. Usa el
formato de fecha de Salesforce
(consulta los ejemplos). Si especifica este valor junto con la propiedad Last modified after (Modificado por última vez después de), podrá leer los datos que se hayan modificado en un periodo determinado. Si no se proporciona ningún valor, no se aplicará ninguna fecha límite. |
Duración | Sí | No | Filtra los datos para leer solo los registros que se hayan modificado por última vez en un periodo de tiempo del tamaño especificado. Por ejemplo, si la duración es 6 hours y la canalización se ejecuta a las 9:00, leerá los datos que se actualizaron por última vez entre las 3:00 (incluida) y las 9:00 (sin incluir).
Especifica la duración con números y las siguientes unidades de tiempo:
2 days, 1 hours, 30 minutes . Si ya se ha especificado un valor para Última modificación posterior a o Última modificación anterior a, se ignorará la duración. |
Desplazamiento | Sí | No | Filtra los datos para leer solo los registros en los que el campo de sistema LastModifiedDate sea anterior a la hora de inicio lógica de la canalización menos el desfase indicado. Por ejemplo, si la duración es 6 hours , el desfase es 1 hours y la canalización se ejecuta a las 9:00, se leen los datos que se modificaron por última vez entre las 2:00 (incluida) y las 8:00 (sin incluir).Especifica la duración con números y las siguientes unidades de tiempo:
2 days, 1 hours, 30 minutes . Si ya se ha especificado un valor para Modificado después del o Modificado antes del, se ignora el desfase. |
Tipo de operación SOQL | No | No | Especifica la operación de consulta que se va a ejecutar en la tabla. Si se selecciona una consulta,
solo se devuelven los registros actuales. Si seleccionas queryAll
, se devolverán todos los registros actuales y eliminados.La operación predeterminada es query . |
Habilitar la fragmentación de PK | Sí | No | La fragmentación de claves principales (PK) divide una consulta en tablas grandes en partes o fragmentos, en función de los IDs de registro o las claves principales de los registros consultados. Salesforce recomienda habilitar la fragmentación de claves principales al consultar tablas con más de 10 millones de registros o cuando una consulta masiva agota el tiempo de espera constantemente. Para obtener más información, consulta Fragmentación de PK. La fragmentación de clave principal solo funciona con consultas que no incluyen cláusulas SELECT ni condiciones que no sean WHERE .
La fragmentación se admite en objetos personalizados y en cualquier tabla de Sharing y History 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 de elemento superior de SObject | Sí | No | Elemento superior del objeto de Salesforce. Se usa para habilitar la fragmentación de tablas de historial u 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
En la siguiente tabla se muestra una lista de 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 prácticos
Consulta los siguientes casos prácticos de la fuente de lote de Salesforce:
Prácticas recomendadas
Para obtener más información sobre cómo mejorar el rendimiento de la fuente de lote de Salesforce, consulta las prácticas recomendadas.
Notas de la versión
Siguientes pasos
- Consulta un tutorial sobre el complemento de Salesforce.