Skip to main content

Definir Big Objects personalizados

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Crear un big object personalizado.
  • Construir un índice personalizado.
  • Implementar un Big Object personalizado.
  • Rellenar un Big Object.
Nota

Nota

¿Es su idioma de aprendizaje español (LATAM)? Comience el reto en un Trailhead Playground en español (LATAM) y utilice las traducciones entre paréntesis para navegar. Copie y pegue solo los valores en inglés, ya que las validaciones del reto dependen de los datos en ese idioma. Si no aprueba el reto en su organización en español (LATAM), recomendamos que (1) cambie la configuración local a Estados Unidos, (2) cambie el idioma a inglés (según estas instrucciones) y, luego, (3) haga clic en el botón “Check Challenge” (Comprobar el reto) nuevamente.

Consulte la insignia Trailhead en su idioma para obtener más información sobre cómo aprovechar la experiencia de Trailhead en otros idiomas.

Definición de Big Objects personalizados

Así que echó un vistazo a los casos de uso para Big Objects personalizados o elaboró uno propio. Ahora es el momento de construir uno.

Puede definir un Big Object personalizado en Configuración. También puede definir un Big Object personalizado con la API de metadatos, pero es mucho más sencillo en Configuración. Para comenzar, inicie sesión en su Trailhead Playground y vaya a Configuración. A un alto nivel, así es como define un Big Object.

  1. Haga clic en Engranaje de Configuración y seleccione Configuración.
  2. Ingrese Big Objects en el cuadro Búsqueda rápida y, a continuación, seleccione Big Objects.
  3. Cree un Big Object y agregue algunos detalles básicos.
  4. Agregue campos personalizados. Almacenan los datos en su Big Object.
  5. Agregue un índice. El índice define la clave principal compuesta para un Big Object y se utiliza para consultar y filtrar los datos del Big Object.
  6. Guarde el Big Object y cambie el estado a Implementado.

Ahora realicemos esos pasos de forma más detallada.

Aunque los Big Objects personalizados son similares a objetos estándar y personalizados, algunos parámetros son exclusivos de los Big Objects, y algunos parámetros no se aplican. Los nombres de los objetos deben ser exclusivos entre todos los big objects, los objetos personalizados y los externos de su organización.

Detalles de definición de Big Object

Cuando define un Big Object, primero rellene algunos detalles básicos acerca de él.

Nombre de campo

Descripción

Etiqueta

Este nombre se utiliza para hacer referencia al objeto en la interfaz de usuario.

Etiqueta en plural

El nombre en plural del objeto.

Empieza por un sonido de vocal

Si es apropiado para el idioma predeterminado de su organización (idioma inglés), indique si “an” o “a” precede la etiqueta.

Nombre de objeto

Nombre de API exclusivo del Big Object En paquetes gestionados, este nombre evita conflictos de nomenclatura con instalaciones de paquetes. Utilice únicamente caracteres alfanuméricos y guiones bajos. El nombre debe comenzar con una letra y no tener espacios. No puede finalizar con un guion bajo ni tener dos guiones bajos consecutivos.

Una vez guardado, el nombre de API de un Big Object se identifica por medio del sufijo “__b” frente al sufijo de los objetos personalizados “__c”.

Descripción

Una descripción con sentido lo ayuda a recordar las diferencias entre objetos cuando los está visualizando en una lista.

Configuración de ayuda contextual

Define la dirección URL que aparece cuando un usuario hace clic en Ayuda para esta página desde el inicio del registro de objetos (descripción general), páginas de detalles y modificación, vistas de lista y listas relacionadas. Esta configuración no afecta al vínculo Ayuda en la parte superior de una página. Ese vínculo siempre abre la ventana Ayuda.

Estado de implementación

Cuando crea un Big Object, el estado se establece como En desarrollo. No puede implementar un Big Object hasta que incluya un índice que contiene al menos un campo personalizado. Solo se permiten campos personalizados obligatorios en un índice. Tras crear un índice, verá un segundo estado de Implementado. Una vez esté listo para otorgar acceso a los usuarios, cambie el estado a Implementado.

Campos personalizados de Big Object

Una vez haya definido su Big Object, agregue campos personalizados. Los campos personalizados almacenan los datos exclusivos de su Big Object. También puede crear campos de relaciones personalizados para asociar su Big Object a otro objeto en Salesforce. Agregue campos personalizados a un Big Object del mismo modo que agregaría campos personalizados a cualquier objeto en Salesforce. Los Big Objects admiten estos tipos de campos:

  • Relación de búsqueda
  • Fecha/hora
  • Un email
  • Número
  • Teléfono
  • Texto
  • Área de texto (largo)
  • URL

Para crear un índice para su Big Object, al menos un campo personalizado debe estar marcado como obligatorio.

Definición del índice de Big Objects personalizados

¡Esto es importante! Como mencionamos anteriormente, el índice define la clave principal compuesta para un Big Object. Los campos definidos en el índice de un Big Object determinan la identidad y la capacidad de ser consultado. Los campos definidos en su índice deberían ser los campos que serán más relevantes para sus consultas, de modo que tendrá que ser previsor y hacer algo de planificación aquí. El orden en el que define los campos es también una gran consideración. Si está utilizando SOQL para consultar su Big Object, solo puede consultar los campos que conforman su índice, en el orden en que los definió. Asigne el campo que utilizará con mayor frecuencia en un filtro de consulta a la primera posición en su índice. También puede utilizar únicamente operadores de comparación específicos, dependiendo de la posición del campo en su consulta.

Tenga en cuenta estas consideraciones cuando defina el índice.

  • Un índice debe incluir al menos un campo personalizado y puede tener hasta un total de cinco campos personalizados.
  • Los campos personalizados incluidos en el índice deben marcarse como obligatorios.
  • Los campos Área de texto largo no pueden estar incluidos en el índice.
  • El número total de caracteres entre todos los campos de texto en un índice no puede superar 100.
  • Una vez haya creado un índice, no puede modificarlo o eliminarlo. Para cambiar el índice, cree otro Big Object con un nuevo índice.

Detalles de índice de Big Object

Define los campos que componen el índice de su Big Object personalizado y determina los campos y el orden de clasificación.

Nombre de campo

Descripción

Etiqueta

La etiqueta se utiliza para hacer referencia al índice en la interfaz de usuario.

Nombre

El nombre de API para el índice.

Campos de índice

Establezca la Posición de índice y Dirección de índice para cada campo personalizado incluido en el índice. El orden de los campos aquí determina su orden en el índice. Establezca la Posición de índice como 1 para el parámetro de filtro utilizado con mayor frecuencia. Los valores válidos para Dirección de índice son Ascendente y Descendente.

Ejemplo de big object personalizado

Ahora que conoce qué es necesario para crear un Big Object personalizado, pruebe a crear uno. Imaginemos que desarrolló este increíble juego nuevo, SFORCE-COM: U.F.B.O. Defense, donde los jugadores defienden la Tierra de la amenaza del Big Object volante no identificado. Quiere poder almacenar todas las interacciones que realizan sus jugadores en una única sesión de juego. En cada sesión de juego, se captura la siguiente información en el Big Object personalizado, Customer_Interaction__b:

  • La cantidad de cosas que el jugador compró en In_Game_Purchase__c
  • El nivel más alto que alcanzó en Level_Achieved__c
  • Cuántas vidas tuvo en Lives_This_Game__c
  • Su plataforma en Game_Platform__c
  • Su puntuaje en Score_This_Game__c
  • El nombre de su cuenta en Account__c
  • La fecha de la sesión de juego en Play_Date__c
  • El tiempo de juego en Play_Duration__c

Su juego es súper popular, de modo que para cada usuario obtiene varias interacciones cada día, que, multiplicadas por su base de jugador masivo, es un magnífico y sombroso número de registros. Sí... ¡el precio del éxito!

Usted define todos estos campos en el Big Object personalizado. Tras definir los campos, también define los campos que componen el índice. El nombre de la cuenta de cada jugador es exclusivo, de modo que eligió Account__c como el primer campo del índice. Los campos siguientes son la plataforma de juego del jugador (Game_Platform__c) y, luego, la fecha de la sesión (Play_Date__c). Este orden específico le permite crear consultas únicamente en cuentas, cuentas y plataformas de juego, o bien cuentas, plataformas de juego y fechas de juego.

Utilice los valores exactos en estos ejemplos para crear un Big Object personalizado con ocho campos personalizados y un índice. Si un campo y un valor no están enumerados en la tabla, ignórelo o déjelo como el valor predeterminado.

Detalles de definición de Big Object

Nombre de campo

Valor

Etiqueta

Interacción de cliente

Etiqueta en plural

Interacciones de cliente

Nombre de objeto

Customer_Interaction

Descripción

Dejar en blanco

Estado de implementación

En desarrollo

Campos personalizados de Big Object

  • Compra dentro del juego
    • Tipo de datos: Texto
    • Etiqueta de campo: Compra dentro del juego
    • Longitud: 16
    • Nombre de campo: In_Game_Purchase
    • Obligatorio: No
  • Nivel alcanzado
    • Tipo de datos: Texto
    • Etiqueta de campo: Nivel alcanzado
    • Longitud: 16
    • Nombre de campo: Level_Achieved
    • Obligatorio: No
  • Vidas gastadas en el juego
    • Tipo de datos: Número
    • Etiqueta de campo: Vidas gastadas en el juego
    • Longitud: 18
    • Número de decimales: 0
    • Nombre de campo: Lives_This_Game
    • Obligatorio: No
  • Plataforma
    • Tipo de datos: Texto
    • Etiqueta de campo: Plataforma
    • Longitud: 16
    • Nombre de campo: Game_Platform
    • Obligatorio: Sí
  • Puntuaje de este juego
    • Tipo de datos: Texto
    • Etiqueta de campo: Puntuaje de este juego
    • Longitud: 16
    • Nombre de campo: Score_This_Game
    • Obligatorio: No
  • Cuenta
    • Tipo de datos: Búsqueda
    • Relacionado con: Cuenta
    • Etiqueta de campo: Cuenta
    • Nombre de campo: Cuenta
    • Obligatorio: Sí
  • Fecha del juego
    • Tipo de datos: Fecha/hora
    • Etiqueta de campo: Fecha del juego
    • Nombre de campo: Play_Date
    • Obligatorio: Sí
  • Duración del juego
    • Tipo de datos: Número
    • Etiqueta de campo: Duración del juego
    • Longitud: 16
    • Número de decimales: 2
    • Nombre de campo: Play_Duration
    • Obligatorio: No

Ahora tiene ocho campos para seguir todas las interacciones de sus jugadores. ¡Bien hecho!

Campos personalizados de Big Object

Detalles de índice de Big Object

Nombre de campo

Valores.

Etiqueta

Índice de interacciones del cliente

Nombre

CustomerInteractionsIndex

Campos de índice

Posición de índice 1: Account__c, Descendente

Posición de índice 2: Game_Platform__c, Ascendente

Posición de índice 3: Play_Date__c, Descendente

Implementación de Big Objects

Ahora que definió su Big Object personalizado, está listo para implementarlo. Haga clic en Modificar en el Big Object y cambie el estado de implementación a Implementado.

Big objects como aparecen en Configuración.

Ahora está preparado parar empezar a utilizar su nuevo Big Object personalizado.

Un big object personalizado en Configuración.

Desde aquí, puede modificar las etiquetas y los nombres de su Big Object personalizado y sus campos, pero no puede modificar o eliminar el índice. Para cambiar el índice, empiece con un nuevo big object. También puede eliminar un big object personalizado desde Configuración. Los big objects eliminados se almacenan durante 15 días. Durante ese tiempo, puede restaurarlo o eliminarlo permanentemente, pero transcurridos esos 15 días, el big object se elimina de forma permanente.

Rellenar Big Objects

Hay dos maneras principales de rellenar un Big Object. Puede utilizar un archivo .csv con Cargador de datos o la API, o hacerlo completamente a través de Apex.

Al utilizar un archivo .csv, la primera fila en su archivo debe incluir las etiquetas de campo utilizadas para asignar los datos de .csv a su Big Object personalizado. Cargue los datos en el Big Object en Cargador de datos o cargue a través de la API masiva o la API de SOAP. Aquí se encuentra el archivo .csv que utilizamos para cargar en el Big Object Customer_Interaction__b. Un Big Object puede admitir muchos más datos que lo que proporcionamos aquí como un ejemplo.

Date of Play,In-Game Purchase,Level Achieved,Lives Used This Game,Platform,Play Duration,Score This Game,Account


2015-01-01T23:01:01Z,A12569,57,7,PC,25,55736,001R000000302D3


2015-01-03T13:22:01Z,B78945,58,7,PC,35,61209,001R000000302D3


2015-01-04T15:16:01Z,D12156,43,5,iOS,45,36148,001R000000302D3

Si desea utilizar Apex para rellenar Customer_Interaction__b, utilice el método insertImmediate.

// Define the record


Customer_Interaction__b bo = new Customer_Interaction__b();


bo.Account__c = '001R000000302D3';


bo.Game_Platform__c = 'PC';


bo.Play_Date__c = DateTime.newInstance(2018, 2, 5);


bo.In_Game_Purchase__c = 'A12569';


bo.Level_Achieved__c = '45';


bo.Lives_This_Game__c = 3;


bo.Score_This_Game__c = '5500';


bo.Play_Duration__c = 25;


// Insert the record, which creates a new record


database.insertImmediate(bo);


// Define the record


Customer_Interaction__b bo2 = new Customer_Interaction__b();


bo2.Account__c = '001R000000302D3';


bo2.Game_Platform__c = 'PC';


bo2.Play_Date__c = DateTime.newInstance(2018, 2, 5);


bo2.In_Game_Purchase__c = 'A12569';


bo2.Level_Achieved__c = '45';


bo2.Lives_This_Game__c = 3;


bo2.Score_This_Game__c = '5500';


bo2.Play_Duration__c = 25;


// Modify a field in the index


bo2.Game_Platform__c = 'Mac';


// Insert the record, creating a new record because the primary key has changed


database.insertImmediate(bo2);


// Define the record


Customer_Interaction__b bo3 = new Customer_Interaction__b();


bo3.Account__c = '001R000000302D3';


bo3.Game_Platform__c = 'PC';


bo3.Play_Date__c = DateTime.newInstance(2018, 2, 5);


bo3.In_Game_Purchase__c = 'A12569';


bo3.Level_Achieved__c = '45';


bo3.Lives_This_Game__c = 3;


bo3.Score_This_Game__c = '5500';


bo3.Play_Duration__c = 25;


// Modify a field not included in the index


bo3.Level_Achieved__c = '1';


// Insert the record, which updates the second record because the index is the same


database.insertImmediate(bo3);



Advertencia

Advertencia

Las pruebas de Apex que utilizan llamadas DML no se permiten y fallan. Si escribe únicamente en el Big Object, la prueba inserta datos erróneos en el big object de destino que tendrá que eliminar manualmente. Para contener llamadas DML de prueba al big object de destino, utilice un marco de trabajo simulado con la API de código auxiliar de Apex en su lugar.

Al volver a insertar un registro con el mismo índice pero con datos diferentes da como resultado un comportamiento similar a una operación de inserción y actualización. Si hay un registro con el índice, la inserción sobreescribe los valores del índice con los nuevos datos. La inserción es idempotente, de modo que la inserción de datos existentes no da como resultado duplicados. La reinserción es útil cuando se cargan millones de registros. Si se produce un error, la reinserción vuelve a cargar las cargas fallidas sin datos duplicados. Durante la reinserción, si no hay registros para el índice proporcionado, se inserta un nuevo registro.

Recursos

Comparta sus comentarios de Trailhead en la Ayuda de Salesforce.

Nos encantaría saber más sobre su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios en cualquier momento en el sitio de Ayuda de Salesforce.

Más información Continuar a Compartir comentarios