Integra y sincroniza los productos de datos de SAP Business Data Cloud con Cortex Framework mediante el catálogo de tiempo de ejecución de Lakehouse
En este documento, se describe cómo conectar Cortex Framework a SAP Business Data Cloud con la integración del catálogo de tiempo de ejecución de Lakehouse.
Si se combina Google Cloud SAP Delta Sharing con la conexión de federación del catálogo de tiempo de ejecución de BigQuery Lakehouse, Cortex Framework puede consultar cualquier producto de datos administrado dentro de SAP BDC directamente en BigQuery sin sobrecarga de copia y hacer referencia a ellos en productos de datos analíticos personalizados de nivel inferior. Los componentes clave de esta integración son los siguientes:
- Consultas federadas: Los productos de datos publicados en SAP BDC se exponen mediante extremos seguros de Delta Sharing. BigQuery federa las consultas a estos extremos con la conexión del catálogo de tiempo de ejecución de Lakehouse. Google Cloud
- Registro de catálogo: En Cortex Framework, registras el catálogo de SAP BDC con un módulo de tipo
delta_shareendata.modules.catalogsenconfig/config.yaml. - Vinculaciones de productos de datos de Google Cloud Cortex Framework: Los productos de datos personalizados de nivel inferior hacen referencia a las tablas del catálogo de BDC vinculando sus dependencias de entrada a los IDs de tabla y uso compartido de Delta Sharing específicos en el formato
{catalog_id}.{share_id}.{table_name}.
Requisitos previos para SAP BDC
Antes de configurar la conexión en Cortex Framework, debes completar los siguientes pasos en Google Cloud SAP:
- Configura Google Cloud el catálogo de tiempo de ejecución de Lakehouse: Configura la conexión del catálogo de tiempo de ejecución de BigQuery Lakehouse en tu Google Cloud proyecto con Google Cloud Delta Sharing para SAP Business Data Cloud.
- Recupera los IDs de uso compartido: Ubica y enumera los valores
shareIdde Delta Sharing (por ejemplo,customer_v1_he2_100_p8123osalesorder_v1_he2_100_p8124) publicados por el tenant de SAP BDC conectado.
Ejemplo de configuración
En la siguiente configuración de ejemplo, se registra un catálogo de SAP BDC y se usan sus recursos compartidos para calcular un producto de datos personalizado de rendimiento de ventas:
buildEnvironment:
buildProjectId: YOUR_BUILD_PROJECT_ID
data:
bigQueryLocation: europe-west3
namespaces:
- name: cortex
path: ../src/data_modules/cortex
- name: cortex_samples
path: ../src/data_modules/cortex_samples
datasets:
- id: sap_bdc_data_products
projectId: YOUR_TARGET_PROJECT_ID
datasetId: sap_bdc_data_products
modules:
# 1. Register the SAP BDC Lakehouse runtime catalog connection (using lakehouse_delta_share type)
catalogs:
- id: sap_bdc_catalog
type: lakehouse_delta_share
enabled: true
bindsNamespaces: [sap_bdc]
connectionSettings:
catalogId: sap_bdc_catalog
projectId: YOUR_CATALOG_PROJECT_ID
location: europe-west3
shares:
- shareId: customer_v1_he2_100_p8123
- shareId: salesorder_v1_he2_100_p8124
# 2. Reference the catalog shares in downstream products
products:
- moduleId: sap_bdc_sales_performance
modulePath: cortex_samples.sap_bdc.products.sales_performance
dependencyBindings:
# Bind logical dependencies directly to the catalog shares and tables
sapBdcCustomer: sap_bdc_catalog.customer_v1_he2_100_p8123.customer
sapBdcSalesOrder: sap_bdc_catalog.salesorder_v1_he2_100_p8124.salesorder
dataTargetId: sap_bdc_data_products
Para obtener información de referencia sobre los parámetros, consulta la sección Configuración de implementación para el tipo de módulo de catálogo de datos.
Cuando un producto de datos personalizado depende de las tablas del catálogo de tiempo de ejecución de Lakehouse, configura sus dependencias de entrada en config/config.yaml con la sintaxis de la ruta de acceso del catálogo:
dependencyBindings:
{logical_input_name}: {catalog_id}.{share_id}.{table_name}
Aquí:
{catalog_id}coincide con la propiedadiddel catálogo endata.modules.catalogs.{share_id}coincide con una de las cadenasshareIddel catálogo declaradas.{table_name}coincide con el nombre de la tabla física expuesta dentro de ese recurso compartido.
Vinculación de dependencias de Dataform de nivel inferior
Durante la compilación (cortex-build), Cortex Framework lee los metadatos del catálogo y traduce automáticamente las vinculaciones de dependencias a nombres de tablas federadas de BigQuery completamente calificados.
En las definiciones de productos de datos personalizados (por ejemplo, archivos .js o .sqlx), haz referencia a las fuentes conformadas de SAP BDC:
// Example JS definition referencing SAP BDC inputs
const moduleConfig = config.product[moduleContext.moduleId];
const customerSource = moduleConfig.sources.sapBdcCustomer;
const salesOrderSource = moduleConfig.sources.sapBdcSalesOrder;
publish("custom_sales_performance", {
type: "table",
}).query(
(ctx) => `
SELECT
cust.customer_id,
orders.sales_order_id,
orders.amount
FROM ${ctx.ref(customerSource.datasetId, customerSource.tableName)} AS cust
JOIN ${ctx.ref(salesOrderSource.datasetId, salesOrderSource.tableName)} AS orders
ON cust.customer_id = orders.customer_id
`
);