コレクション内の情報をエクスポートする
collectionの内容をエクスポートしてほかのコレクションに適用したりコレクションの情報を別で保存しておきたいときがあると思います。(私があったので記事を書いているのですが…)
ということで、コレクションの情報をエクスポートするプログラムをTypescriptで作りました。
エクスポートする情報は以下です。
- コンフィグ
- ドキュメント
- トレーニングデータ
- エクスパンション(同義語)
ソースはgitにあります。
Qiitaの記事ではプログラムの仕様や概要を説明します。利用方法はgitをご覧ください。
ご利用は自己責任でお願いいたします。
改善点や不明点等ございましたら連絡いただけますと嬉しいです。
環境
- Windows10
- Node v14.17.0
- npm 7.15.1
仕様
- 資格情報はプログラム実行前に
Authentication.yaml
に記載しておく - ドキュメントのエクスポートは1万件まで
#フォルダ構成
ibmcloud-discovery-export/(root)
├─ dist/
├─ node_modules/
├─ src/
│ ├─ api/
│ │ └─ Discovery.ts
| ├─ interface/
│ │ └─ index.ts
│ ├─ ConfigurationDetails.ts
│ ├─ ExpansionList.ts
│ ├─ Loading.ts
│ ├─ QueryCollection.ts
│ ├─ TrainingList.ts
│ └─ UserInput.ts
├─ .gitignore
├─ app.ts
├─ Authentication.yaml
├─ package-lock.json
├─ package.json
├─ RRADME.md
└─ tsconfig.json
dist/
tsをコンパイルした後のjsファイルが格納されている。プログラム実行時はdist/app.jsを実行する。
Discovery.ts
DiscoveryへのAPIコール処理を行うtsファイル
**ConfigurationDetails.ts
**コンフィグの取得を行うtsファイル
ExpansionList.ts
エクスパンション(同義語)の取得を行うtsファイル
TrainingList.ts
トレーニングの取得を行うtsファイル
QueryCollection.ts
ドキュメントの取得を行うtsファイル
UserInput.ts
プログラム実行後の入力を促す処理を行うtsファイル
app.ts
メインのTypeScriptファイル
Authentication.yaml
Discoveryの資格情報と出力名を入力しておくyamlファイル
#フローチャート
大まかな流れをフローチャートで書きました。
綺麗なものではないですがご勘弁ください。
終わりに
エクスポートをしてもインポートができなければあまり意味がありません。。。。
大丈夫です!!インポートプログラムも近々で作成予定です。
2021年10月13日追記
Discoveryにて既存プランの廃止と新プランの発表がされました。
それに伴い上記のエクスポートで使用しているAPI(v1)は新プランでは
使用されなくなりました。(新プランではAPIはv2)
その為インポートプログラムの開発と中止しています。申し訳ございません。