HDI - HANA Deployment Infrastructure
SAP HANA Deployment Infrastructure (HDI) is a service that enables you to deploy database development artifacts to so-called containers. HDI is supported in XSK via the *.hdi
and *.hdiconfig
files.
SAP Help Portal
For more information, see SAP HANA Deployment Infrastructure Reference (SAP HANA Cloud).
Overview
To support the deployment of database development artifacts via HDI, create *.hdi
and *.hdiconfig
files in your project:
{
"configuration": "/hdi-ext/config.hdiconfig",
"users": ["XSK_SAMPLES_HDI_EXT"],
"group": "XSK_HDI_EXT_GROUP",
"container": "XSK_HDI_EXT",
"deploy": [
"/hdi-ext/Customers.hdbsynonym",
"/hdi-ext/CustomersCalcView.hdbcalculationview"
],
"undeploy": []
}
{
"file_suffixes":{
"hdbsynonym":{
"plugin_name":"com.sap.hana.di.synonym"
},
"hdbpublicsynonym":{
"plugin_name":"com.sap.hana.di.publicsynonym"
},
"hdbcalculationview":{
"plugin_name":"com.sap.hana.di.calculationview"
}
}
}
Maintenance
CREATE LOCAL TEMPORARY COLUMN TABLE #DROP_CONTAINER_PARAMETERS LIKE _SYS_DI.TT_PARAMETERS;
INSERT INTO #DROP_CONTAINER_PARAMETERS (KEY, VALUE) VALUES ('ignore_work', 'true');
INSERT INTO #DROP_CONTAINER_PARAMETERS (KEY, VALUE) VALUES ('ignore_deployed', 'true');
CALL _SYS_DI#<HDI-Container-Group>.DROP_CONTAINER('<HDI-Container-Name>', #DROP_CONTAINER_PARAMETERS, ?, ?, ?);
DROP TABLE #DROP_CONTAINER_PARAMETERS;
Note
Replace the following placeholders:
<HDI-Container-Group>
- the HDI Container Group<HDI-Container-Name>
- the HDI Container Name
For more information, see: Drop a Container
To grant HDI priviliges to HANA database user, execute the following script:
CREATE LOCAL TEMPORARY TABLE #PRIVILEGES LIKE _SYS_DI.TT_API_PRIVILEGES;
INSERT INTO #PRIVILEGES (PRINCIPAL_NAME, PRIVILEGE_NAME, OBJECT_NAME)
SELECT '<HANA-Username>', PRIVILEGE_NAME, OBJECT_NAME FROM _SYS_DI.T_DEFAULT_DI_ADMIN_PRIVILEGES;
CALL _SYS_DI.GRANT_CONTAINER_GROUP_API_PRIVILEGES('_SYS_DI', #PRIVILEGES, _SYS_DI.T_NO_PARAMETERS, ?, ?, ?);
DROP TABLE #PRIVILEGES;
Note
Replace the <HANA-Username>
placeholder with the HANA database user, used for the migration.
HDI Plugins
List of HDI supported database development artifacts:
Application Time-Period Table Plug-in (.hdbapplicationtime)
"hdbapplicationtime" : {
"plugin_name" : "com.sap.hana.di.applicationtime"
}
Analytic Privileges (.hdbanalyticprivilege)
"hdbanalyticprivilege" : {
"plugin_name" : "com.sap.hana.di.analyticprivilege"
}
Calculation Views (.hdbcalculationview)
"hdbcalculationview" : {
"plugin_name" : "com.sap.hana.di.calculationview"
}
Constraints (.hdbconstraint)
"hdbconstraint" : {
"plugin_name" : "com.sap.hana.di.constraint"
}
Copy Only (.txt)
"txt" : {
"plugin_name" : "com.sap.hana.di.copyonly"
}
Document Store Collections (.hdbcollection)
"hdbcollection" : {
"plugin_name" : "com.sap.hana.di.collection"
}
Document Store Collection Index (.hdbcollectionindex)
Flowgraph (.hdbflowgraph)
"hdbflowgraph" : {
"plugin_name" : "com.sap.hana.di.flowgraph"
}
Functions (.hdbfunction)
"hdbfunction" : {
"plugin_name" : "com.sap.hana.di.function"
}
Graph Workspaces (.hdbgraphworkspace)
"hdbgraphworkspace" : {
"plugin_name" : "com.sap.hana.di.graphworkspace"
}
Indexes (.hdbindex)
"hdbindex" : {
"plugin_name" : "com.sap.hana.di.index"
}
Libraries (.hdblibrary)
"hdblibrary" : {
"plugin_name" : "com.sap.hana.di.library"
}
Logical Schema Definition (.hdblogicalschema)
"hdblogicalschema" : {
"plugin_name" : "com.sap.hana.di.logicalschema"
}
Migration Tables (.hdbmigrationtable)
"hdbmigrationtable" : {
"plugin_name" : "com.sap.hana.di.table.migration"
}
Procedures (.hdbprocedure)
"hdbprocedure" : {
"plugin_name" : "com.sap.hana.di.procedure"
}
Projection Views (.hdbprojectionview)
"hdbprojectionview" : {
"plugin_name" : "com.sap.hana.di.projectionview"
},
"hdbprojectionviewconfig" : {
"plugin_name" : "com.sap.hana.di.projectionview.config"
}
Public Synonym (.hdbpublicsynonym)
"hdbpublicsynonym": {
"plugin_name" : "com.sap.hana.di.publicsynonym"
}
Replication Task (.hdbreptask)
"hdbreptask" : {
"plugin_name" : "com.sap.hana.di.reptask"
}
Result Cache (.hdbresultcache)
"hdbresultcache": {
"plugin_name" : "com.sap.hana.di.resultcache"
}
Roles (.hdbrole)
"hdbrole" : {
"plugin_name" : "com.sap.hana.di.role"
},
"hdbroleconfig" : {
"plugin_name" : "com.sap.hana.di.role.config"
}
Search Rule Set (.hdbsearchruleset)
"hdbsearchruleset" : {
"plugin_name" : "com.sap.hana.di.searchruleset"
}
Sequence (.hdbsequence)
"hdbsequence" : {
"plugin_name" : "com.sap.hana.di.sequence"
}
SQL Views (.hdbview)
"hdbview" : {
"plugin_name" : "com.sap.hana.di.view"
}
Statistics (.hdbstatistics)
"hdbstatistics" : {
"plugin_name" : "com.sap.hana.di.statistics"
}
Structured Privilege (.hdbstructuredprivilege)
"hdbstructuredprivilege" : {
"plugin_name" : "com.sap.hana.di.structuredprivilege"
}
Synonyms (.hdbsynonym and .hdbsynonymconfig)
"hdbsynonym" : {
"plugin_name" : "com.sap.hana.di.synonym"
},
"hdbsynonymconfig" : {
"plugin_name" : "com.sap.hana.di.synonym.config"
}
System Versioning Table (.hdbsystemversioning)
"hdbsystemversioning" : {
"plugin_name" : "com.sap.hana.di.systemversioning"
}
Tables (.hdbtable and .hdbdropcreatetable)
"hdbtable" : {
"plugin_name" : "com.sap.hana.di.table"
},
"hdbdropcreatetable" : {
"plugin_name" : "com.sap.hana.di.dropcreatetable"
}
Table Data (.hdbtabledata)
"hdbtabledata" : {
"plugin_name" : "com.sap.hana.di.tabledata.properties"
},
"csv" : {
"plugin_name" : "com.sap.hana.di.tabledata.properties"
}
Table Data Properties (.properties)
"properties" : {
"plugin_name" : "com.sap.hana.di.tabledata.properties"
},
"tags" : {
"plugin_name" : "com.sap.hana.di.tabledata.properties"
}
Table Type (.hdbtabletype)
"hdbtabletype" : {
"plugin_name" : "com.sap.hana.di.tabletype"
}
Triggers (.hdbtrigger)
"hdbtrigger" : {
"plugin_name" : "com.sap.hana.di.trigger"
}
Virtual Functions (.hdbvirtualfunction)
"hdbvirtualfunction" : {
"plugin_name" : "com.sap.hana.di.virtualfunction"
}
"hdbvirtualfunctionconfig" : {
"plugin_name" : "com.sap.hana.di.virtualfunction.config"
}
Virtual Procedures (.hdbvirtualprocedure)
"hdbvirtualprocedure" : {
"plugin_name" : "com.sap.hana.di.virtualprocedure"
},
"hdbprojectionviewconfig" : {
"plugin_name" : "com.sap.hana.di.virtualprocedure.config"
}
Virtual Tables (.hdbvirtualtable)
"hdbvirtualtable" : {
"plugin_name" : "com.sap.hana.di.virtualtable"
},
"hdbvirtualtableconfig" : {
"plugin_name" : "com.sap.hana.di.virtualtable.config"
}
Virtual Packages (.hdbvirtualpackage)
"hdbvirtualpackagehadoop" : {
"plugin_name" : "com.sap.hana.di.virtualpackage.hadoop"
},
"hdbvirtualpackagesparksql" : {
"plugin_name" : "com.sap.hana.di.virtualpackage.sparksql"
}