Description
Informations sur la source de données.
Exemple
{
"tableName": "news",
"type": "rds",
"fields": [
{ "id": "id" },
{ "caption": "caption" },
{ "content": "content" },
{ "categoryId": "category_id" }
],
"plugins": {
"caption": {
"name": "HTMLTagRemover",
"parameters": {}
},
"content": {
"name": "HTMLTagRemover",
"parameters": {}
}
},
"keyField": "id",
"parameters": {
"filter": "",
"instanceId": "rm-abc",
"dbName": "my_db",
"dbTableName": "my_table",
"dbUser": "my_user",
"dbPassword": "my-password",
"autoSync": true
}
}
Structure
| Champ | Type | Description |
|---|---|---|
tableName |
String | Nom de la table dans le système source. |
type |
String | Type de la source de données. Valeurs valides : rds, odps, opensearch et polardb. La valeur détermine les champs requis dans parameters. |
fields[] |
Object | Mappages de champs entre la table source et la table de destination. Chaque entrée est une paire {key: value} où key correspond au nom du champ source et value au nom du champ de destination. |
plugins |
Object | Plug-ins de traitement des données appliqués à des champs spécifiques avant l'indexation. Chaque clé représente un nom de champ de destination ; chaque valeur est un objet Plugin. |
plugins.* |
Object | Détails du plug-in. Pour plus d'informations, consultez la section Plugin ci-dessous. * : nom du champ. |
keyField |
String | Clé primaire de la table de la source de données. |
parameters |
Object | Paramètres de connexion et de synchronisation pour la source de données. Les champs requis dépendent de la valeur de type. Consultez les sections rds, odps, opensearch et polardb. |
Plugin
Exemple
{
"name": "HTMLTagRemover",
"parameters": {}
}
Structure
| Champ | Type | Description |
|---|---|---|
name |
String | Plug-in à appliquer. Valeurs valides : JsonKeyValueExtractor, MultiValueSpliter, KeyValueExtractor, StringCatenateExtractor et HTMLTagRemover. |
parameters |
Object | Configuration du plug-in. Les champs requis dépendent de la valeur de name. Consultez les sections relatives aux plug-ins ci-dessous. |
JsonKeyValueExtractor
Extrait la valeur d'une clé spécifiée depuis un champ source contenant du JSON. La valeur extraite est écrite dans le champ de destination. Une seule clé peut être extraite par instance de plug-in.
Exemple
{
"key": "my_field"
}
Structure
| Champ | Type | Description |
|---|---|---|
key |
String | Clé à extraire du champ source JSON. |
MultiValueSpliter
Divise la valeur d'un champ source en plusieurs valeurs à l'aide d'un délimiteur. Les valeurs résultantes sont écrites sous forme d'éléments de tableau dans le champ de destination.
Le champ de destination doit être de typeARRAY. Pour utiliser un caractère non imprimable comme délimiteur, spécifiez-le sous forme de séquence d'échappement Unicode (par exemple,\u001D).
Exemple
{
"seperator": "|"
}
Structure
| Champ | Type | Description |
|---|---|---|
seperator |
String | Délimiteur utilisé pour diviser la valeur du champ source. |
KeyValueExtractor
Extrait la valeur d'une clé spécifiée depuis un champ source contenant des paires clé-valeur. La valeur extraite est écrite dans le champ de destination. Les délimiteurs sont facultatifs.
Exemple
{
"key": "my_field",
"fieldSep": ";",
"kvSep": ":"
}
Structure
| Champ | Type | Description |
|---|---|---|
key |
String | Clé dont la valeur doit être extraite. |
fieldSep |
String | Délimiteur séparant plusieurs paires clé-valeur. |
kvSep |
String | Délimiteur séparant une clé de sa valeur. |
StringCatenateExtractor
Concatène les valeurs de plusieurs champs de destination en une seule chaîne à l'aide d'un connecteur spécifié, et écrit le résultat dans le champ cible.
Ce plug-in ne peut pas concaténer des champs de types entiers. Nous vous recommandons d'utiliser des champs de types littéraux. Tous les champs répertoriés dans sources doivent être des champs de destination.
Exemple
{
"connector": "-",
"sources": "id,title"
}
Structure
| Champ | Type | Description |
|---|---|---|
connector |
String | Chaîne insérée entre les valeurs de champs concaténées. |
sources |
String | Liste séparée par des virgules des noms de champs de destination à concaténer. |
HTMLTagRemover
Supprime les balises HTML de la valeur d'un champ source et écrit le résultat en texte brut dans le champ de destination. Aucun paramètre supplémentaire n'est requis.
rds
Se connecte à une instance ApsaraDB RDS.
Exemple
{
"instanceId": "rds-instance-id",
"dbName": "my_db",
"dbTableName": "my_table",
"dbUser": "my_user",
"dbPassword": "my_passwd",
"filter": "",
"autoSync": true
}
Structure
| Champ | Type | Description |
|---|---|---|
instanceId |
String | ID de l'instance RDS. |
dbName |
String | Nom de la base de données. |
dbTableName |
String | Nom de la table dans la base de données. |
dbUser |
String | Compte utilisé pour se connecter à la base de données. |
dbPassword |
String | Mot de passe utilisé pour se connecter à la base de données. |
filter |
String | Conditions de filtrage limitant les lignes synchronisées. Opérateurs pris en charge : <, >, =, !=, >= et <=. Séparez plusieurs conditions par des virgules (,). |
autoSync |
Boolean | Indique si la synchronisation automatique des données est activée. Valeurs valides : true et false. |
odps
Se connecte à une table MaxCompute (ODPS).
Exemple
{
"projectName": "my_project",
"tableName": "my_table",
"partition": "",
"done": "no",
"donePrefix": "",
"timestamp": ""
}
Structure
| Champ | Type | Description |
|---|---|---|
projectName |
String | Nom du projet MaxCompute. |
tableName |
String | Nom de la table. |
partition |
String | Partition à lire. Pour la syntaxe des partitions, consultez Configurer une source de données MaxCompute. |
done |
String | Indique s'il faut utiliser un fichier DONE pour signaler qu'une exportation de données est terminée. Valeurs valides : no et yes. |
donePrefix |
String | Préfixe du fichier DONE. Requis lorsque done est défini sur yes. |
timestamp |
String | Horodatage de l'importation complète des données. |
opensearch
Utilise une autre application Open Search comme source de données.
Exemple
{
"appId": "12345678",
"tableName": "my_table",
"appType": "standard",
"filter": ""
}
Structure
| Champ | Type | Description |
|---|---|---|
appId |
String | ID de l'application Open Search source. |
tableName |
String | Nom de la table dans l'application source. |
appType |
String | Type de l'application source. Valeurs valides : standard, advance et enhanced. standard indique une application standard. advance indique une application avancée d'une génération précédente. enhanced indique une application avancée de la génération actuelle. Les nouvelles applications ne peuvent pas utiliser le type advance. |
filter |
String | Conditions de filtrage limitant les enregistrements synchronisés. Opérateurs pris en charge : <, >, =, !=, >= et <=. Séparez plusieurs conditions par des virgules (,). |
polardb
Se connecte à un cluster PolarDB.
Exemple
{
"clusterId": "my_cluster_id",
"dbName": "my_db",
"dbTableName": "my_table",
"aliyunUserId": "123455789",
"dbUser": "my_user",
"dbPassword": "my_passwd",
"autoSync": true,
"filter": "id>100"
}
Structure
| Champ | Type | Description |
|---|---|---|
clusterId |
String | ID du cluster PolarDB. |
dbName |
String | Nom de la base de données. |
dbTableName |
String | Nom de la table. |
aliyunUserId |
String | ID du compte Alibaba Cloud. |
dbUser |
String | Compte utilisé pour se connecter à la base de données. |
dbPassword |
String | Mot de passe utilisé pour se connecter à la base de données. |
autoSync |
Boolean | Indique si la synchronisation automatique des données est activée. Valeurs valides : true et false. |
filter |
String | Conditions de filtrage limitant les lignes synchronisées. Opérateurs pris en charge : <, >, =, !=, >= et <=. Séparez plusieurs conditions par des virgules (,). |