説明
データソース情報
例
{
"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
}
}構造
| フィールド | 型 | 説明 |
|---|---|---|
tableName | String | ソースシステム内のテーブルの名前。 |
type | String | データソースのタイプ。有効値:rds、odps、opensearch、polardb。この値によって、parameters で必須となるフィールドが決まります。 |
fields[] | Object | ソーステーブルと宛先テーブル間のフィールドマッピング。各エントリは {key: value} のペアで、key はソースフィールド名、value は宛先フィールド名です。 |
plugins | Object | インデックス作成前に特定のフィールドに適用されるデータ処理プラグイン。各キーは宛先フィールド名で、各値は Plugin オブジェクトです。 |
plugins.* | Object | プラグインの詳細。詳細については、後述の「Plugin」をご参照ください。*: フィールド名。 |
keyField | String | データソーステーブルのプライマリキー。 |
parameters | Object | データソースの接続および同期パラメーター。必須フィールドは type の値によって異なります。rds、odps、opensearch、polardb をご参照ください。 |
Plugin
例
{
"name": "HTMLTagRemover",
"parameters": {}
}構造
| フィールド | 型 | 説明 |
|---|---|---|
name | String | 適用するプラグイン。有効値:JsonKeyValueExtractor、MultiValueSpliter、KeyValueExtractor、StringCatenateExtractor、HTMLTagRemover。 |
parameters | Object | プラグインの構成。必須フィールドは name の値によって異なります。後述の各プラグインのセクションをご参照ください。 |
JsonKeyValueExtractor
JSON を含むソースフィールドから指定されたキーの値を抽出します。抽出された値は宛先フィールドに書き込まれます。プラグインインスタンスごとに抽出できるキーは 1 つだけです。
例
{
"key": "my_field"
}構造
| フィールド | 型 | 説明 |
|---|---|---|
key | String | JSON ソースフィールドから抽出するキー。 |
MultiValueSpliter
デリミタを使用してソースフィールドの値を複数の値に分割します。結果の値は、配列要素として宛先フィールドに書き込まれます。
宛先フィールドはARRAY型である必要があります。印刷不可文字をデリミタとして使用するには、Unicode エスケープシーケンス (例:\u001D) として指定します。
例
{
"seperator": "|"
}構造
| フィールド | 型 | 説明 |
|---|---|---|
seperator | String | ソースフィールドの値を分割するために使用されるデリミタ。 |
KeyValueExtractor
キーと値のペアを含むソースフィールドから、指定されたキーの値を抽出します。抽出された値は宛先フィールドに書き込まれます。デリミタはオプションです。
例
{
"key": "my_field",
"fieldSep": ";",
"kvSep": ":"
}構造
| フィールド | 型 | 説明 |
|---|---|---|
key | String | 値を抽出するキー。 |
fieldSep | String | 複数のキーと値のペアを区切るデリミタ。 |
kvSep | String | キーとその値を区切るデリミタ。 |
StringCatenateExtractor
指定されたコネクタを使用して複数の宛先フィールドの値を単一の文字列に連結し、その結果をターゲットフィールドに書き込みます。
このプラグインは整数型のフィールドを連結できません。リテラル型のフィールドを使用することを推奨します。sources にリストされているすべてのフィールドは、宛先フィールドである必要があります。例
{
"connector": "-",
"sources": "id,title"
}構造
| フィールド | 型 | 説明 |
|---|---|---|
connector | String | 連結されたフィールド値の間に挿入される文字列。 |
sources | String | 連結する宛先フィールド名をコンマ区切りで指定したリスト。 |
HTMLTagRemover
ソースフィールドの値から HTML タグを削除し、プレーンテキストの結果を宛先フィールドに書き込みます。追加のパラメーターは必要ありません。
rds
ApsaraDB RDS インスタンスに接続します。
例
{
"instanceId": "rds-instance-id",
"dbName": "my_db",
"dbTableName": "my_table",
"dbUser": "my_user",
"dbPassword": "my_passwd",
"filter": "",
"autoSync": true
}構造
| フィールド | 型 | 説明 |
|---|---|---|
instanceId | String | RDS インスタンスの ID。 |
dbName | String | データベースの名前。 |
dbTableName | String | データベース内のテーブルの名前。 |
dbUser | String | データベースへの接続に使用するアカウント。 |
dbPassword | String | データベースへの接続に使用するパスワード。 |
filter | String | 同期する行を制限するフィルター条件。サポートされている演算子:<、>、=、!=、>=、<=。複数の条件はコンマ (,) で区切ります。 |
autoSync | Boolean | 自動データ同期を有効にするかどうかを指定します。有効値:true、false。 |
odps
MaxCompute (ODPS) テーブルに接続します。
例
{
"projectName": "my_project",
"tableName": "my_table",
"partition": "",
"done": "no",
"donePrefix": "",
"timestamp": ""
}構造
| フィールド | 型 | 説明 |
|---|---|---|
projectName | String | MaxCompute プロジェクトの名前。 |
tableName | String | テーブルの名前。 |
partition | String | 読み取り元のパーティション。パーティションの構文については、「MaxCompute データソースの設定」をご参照ください。 |
done | String | データエクスポートが完了したことを示すために DONE ファイルを使用するかどうかを指定します。有効値:no、yes。 |
donePrefix | String | DONE ファイルのプレフィックス。done が yes に設定されている場合に必須です。 |
timestamp | String | 完全データインポートのタイムスタンプ。 |
opensearch
別の Open Search アプリケーションをデータソースとして使用します。
例
{
"appId": "12345678",
"tableName": "my_table",
"appType": "standard",
"filter": ""
}構造
| フィールド | 型 | 説明 |
|---|---|---|
appId | String | ソース Open Search アプリケーションの ID。 |
tableName | String | ソースアプリケーション内のテーブルの名前。 |
appType | String | ソースアプリケーションのタイプ。有効値:standard、advance、enhanced。standard は標準アプリケーションを示します。advance は旧世代の拡張アプリケーションを示します。enhanced は現行世代の拡張アプリケーションを示します。新しいアプリケーションでは advance タイプは使用できません。 |
filter | String | 同期するレコードを制限するフィルター条件。サポートされている演算子:<、>、=、!=、>=、<=。複数の条件はコンマ (,) で区切ります。 |
polardb
PolarDB クラスターに接続します。
例
{
"clusterId": "my_cluster_id",
"dbName": "my_db",
"dbTableName": "my_table",
"aliyunUserId": "123455789",
"dbUser": "my_user",
"dbPassword": "my_passwd",
"autoSync": true,
"filter": "id>100"
}構造
| フィールド | 型 | 説明 |
|---|---|---|
clusterId | String | PolarDB クラスターの ID。 |
dbName | String | データベースの名前。 |
dbTableName | String | テーブルの名前。 |
aliyunUserId | String | Alibaba Cloud アカウントの ID。 |
dbUser | String | データベースへの接続に使用するアカウント。 |
dbPassword | String | データベースへの接続に使用するパスワード。 |
autoSync | Boolean | 自動データ同期を有効にするかどうかを指定します。有効値:true、false。 |
filter | String | 同期する行を制限するフィルター条件。サポートされている演算子:<、>、=、!=、>=、<=。複数の条件はコンマ (,) で区切ります。 |