Table of Contents

Search

  1. Preface
  2. Introduction to Cloud Integration Hub
  3. Hub administration
  4. Project and Asset Management
  5. Applications
  6. Topics
  7. Data Integration tasks
  8. File ingestion tasks
  9. Publications
  10. Subscriptions
  11. Tracking and monitoring
  12. Cloud Integration Hub REST APIs
  13. Glossary

Cloud Integration Hub

Cloud Integration Hub

Using metadata files to create topic tables in a relational database

Using metadata files to create topic tables in a relational database

You can load a metadata file to
Cloud Integration Hub
and create a topic table in a relational database that is based on the structure of the file.
When you use a metadata file to create a topic table, you can define table attributes in the file before you load it to
Cloud Integration Hub
. For example, define column data type and precision, or define a column as a filter accelerator that is not encrypted.
You can use JSON, XML, XLS, and XLSX metadata files to create topic tables.
The metadata file must contain the following fields, and must not contain any other fields:
columnName
Mandatory.
Name of the table column.
The name must begin with an alphabetic character or underscore and can contain only alphanumeric characters or underscores.
filterAccelerator
Optional.
Indicates that the column will be used in subscription queries and requires performance-related handling by
Cloud Integration Hub
. Use this indicator with topics that you plan to use for unbound subscriptions.
By default, false.
When you use filter accelerators, consider the following guidelines:
  • Filter accelerators slow down the writing of publication data to the
    Cloud Integration Hub
    publication repository.
  • Filter accelerators have no impact on subscriptions that do not use filters.
  • You can enable encryption for a new topic data on a hosted
    Cloud Integration Hub
    publication repository. To use a column as a filter accelerator, you must define the value of the column's
    encryption
    field to
    false
    .
datatype
Optional. Data type of the field. By default, string.
The file can contain fields of the following data types:
  • String
  • Decimal
  • Double
  • Int32
  • Int64
  • Date_time
  • Text
precision
Optional. Applies to data types that support precision. The default precision value depends on the data type of the field:
  • String: 255
  • Decimal: 15
  • Text: 10000
scale
Optional. Applies to data types that support data scaling. The default scale value depends on the data type of the field:
  • Decimal: 0. If the decimal field isn't encrypted and the published value is less than the topic decimal scale value,
    Cloud Integration Hub
    adds zeros to the decimal value. For example, if you define a scale of 4 for a decimal of 15.4,
    Cloud Integration Hub
    publishes and consumes the data with a decimal of 15.4000.
  • Date_time: 0. For example, if you define a scale of 2 for a date_time of
    2022-02-04 00:40:23.946
    ,
    Cloud Integration Hub
    rounds the date_time to
    2022-02-04 00:40:23.950
    . Applies to a hosted publication repository.
  • All other data types: empty
encryption
Optional. Applies to a hosted publication repository.
required
Optional. Applies to a relational topic table. If this option is set to true, ensure that the data is published to the required fields. If the published data doesn't meet the required mandatory fields criteria, the event fails.
If a file doesn't contain all the mandatory fields, loading the file to
Cloud Integration Hub
fails.
If a file contains identical rows,
Cloud Integration Hub
adds only the first row to the topic table.
Example table in a JSON file
[ {"columnName":"id", "filterAccelerator": "false", "dataType": "int32", "encryption":false, "required":true}, {"columnName":"name", "filterAccelerator": "false", "dataType": "string", "precision" : 100, "encryption":false, "required":true}, {"columnName":"age", "filterAccelerator": "true", "dataType": "decimal", "precision" : 3, "encryption":"true", "required":true}, {"columnName":"city", "filterAccelerator": "True", "dataType": "string", "precision" : 50, "encryption":"FALSE", "required":true}, {"columnName":"salary", "filterAccelerator": false, "dataType": "decimal", "precision" : 15, "scale":2, "encryption":true, "required":true} ]
Example table in an XML file
<table> <column> <columnName>id</columnName> <dataType>int32</dataType> <encryption>false</encryption> <required>false</required> <filterAccelerator>true</filterAccelerator> </column> <column> <columnName>name</columnName> <dataType>String</dataType> <encryption>true</encryption> <required>true</required> <precision>100</precision> <filterAccelerator>false</filterAccelerator> </column> </table>
Example table in an XLS or XLSX file
columnName
filterAccelerator
dataType
precision
scale
encryption
required
id
TRUE
Int32
FALSE
true
name
FALSE
String
255
FALSE
true

0 COMMENTS

We’d like to hear from you!