AWS App Studio からOneNote に接続する方法:CData Connect AI

赤塚誠二
赤塚誠二
パートナーサクセスエンジニア
App Studio が提供している外部連携のためのコネクターの一つ「OpenAPI コネクター」を使ってOneNote と連携してみたいと思います。

みなさんこんにちは!今回のブログではAWS App Studio(以下App Studio)が提供している外部連携のためのコネクターの一つ「OpenAPI コネクター」を使ってOneNote と連携、してみたいと思います。

App Studio は、生成AI を利用したアプリケーション開発が可能なAWS の新しいサービスです。App Studio の利用料金は基本的に公開されたアプリケーションにのみ発生し、開発環境は無料で使用できるためじっくり検証も可能です。

App Studio の基本的な利用方法については公式ページにわかりやすくまとまっていますのでこちらもぜひご参照ください。

CData Connect AI 側の設定

CData Connect AI では、直感的なクリック操作ベースのインターフェースを使ってデータソースに接続できます。

  1. Connect AI にログインし、 Add Connection をクリックします。 コネクションの追加
  2. 「Add Connection」パネルから「OneNote」を選択します。 データソースの選択
  3. 必要な認証プロパティを入力し、OneNote に接続します。

    Microsoft OneNote データ ソースへの接続には、次の 2 つの認証方法があります。

    • OAuth 2.0 ベースの方法: Microsoft OneNote は、Azure AD を介してOAuth 2.0 ベースの認証を提供します。Azure AD 認証の場合は、AuthScheme をAzureAD に設定します。
    • マネージド サービス ID (MSI) 認証。この方法を使用するには、AuthScheme をAzureMSI に設定します。
    詳細はヘルプドキュメントを参照してください。

    コネクションを設定
  4. Create & Tast をクリックします。
  5. 「Add OneNote Connection」ページの「Permissions」タブに移動し、ユーザーベースのアクセス許可を更新します。 権限を更新

コネクションの設定が完了したら、 からOneNote のデータへの接続準備は完了です。

データソースとなるOneNote との接続を追加し、Virtual Dataset を作成すると、AWS App Studio から接続するためのインターフェースが自動で生成されます。

Virtual Datasets の作成

つぎにVirtual Datasets を作成します。

CData Connect AI の左側のメニューから「Virtual Datasets」を選択後、「Add」ボタンにてWorkspace (今回は AppStudioDemo) を追加

connectcloud-appstudio2spreadsheet

作成したWorkspace に移動後、「Add」ボタンをクリックして表示される「Add Asset」内の「Tables & Views」を選択

connectcloud-appstudio2spreadsheet

先ほど作成したOneNote の接続を選択

connectcloud-appstudio2spreadsheet

Workspace に追加したOneNote の接続をクリックし、「Preview」タブでOneNote のデータが表示されていることを確認

connectcloud-appstudio2spreadsheet

Workspace のページに戻り、View Endpoints をクリック

connectcloud-appstudio2spreadsheet

OpenAPIのSpecification ファイルをVersion 3.0 形式でダウンロード

connectcloud-appstudio2spreadsheet

以上でCData Connect AI 側の準備ができました。

App Studio 側の設定

OpenAPI Connector の作成

OpenAPI Connector を作成するためにあらかじめ管理者権限でログインしておきましょう。

App Studio が外部のリソースと接続するためのコネクター には、Amazon Aurora、Amazon DynamoDB などのDB と連携するためのデータコネクターと、API などデータベース以外と連携するオートメーションコネクターの二種類が用意されています。

connectcloud-appstudio2spreadsheet
今回は後者のオートメーションコネクターのうち、API コネクターに分類される「OpenAPI Connector」を使用します。
API コネクターとして現在提供されているのは以下の三種類です。

connectcloud-appstudio2spreadsheet

App Studio のAdnin hub ダッシュボードにて、「Create Connector」をクリック

connectcloud-appstudio2spreadsheet

「Select a connector」ページにて「OpenAPI Connector」を選択

connectcloud-appstudio2spreadsheet

「OpenAPI Connector Configuration」ページにて必要な項目を設定して保存

  • General
    • Name : 任意の名前 (今回はAkatsuka_AppStudio_Demo)
    • Deslription : 説明 (今回は空白)
  • Credentials
    • Base URL : OpenAPIのSpecificationファイルにて確認
    • Authentication method : Basic
  • HTTP basic credentials
    • Username : CData Connect AI へのログインユーザー名 (メールアドレス)
    • Password : 事前準備で作成したCData Connect AI のアクセストークン
  • OpenAPI Spec File
    • CData Connect AI のダウンロードしたOpenAPIのSpecificationファイルをドラッグ&ドロップで追加

以上でコネクターの作成は完了です。

アプリケーションの新規作成

つぎにアプリケーションを新規します。

Builder hub にて「Create app」をクリック

connectcloud-appstudio2spreadsheet

「App name」 を設定し、今回はCRAD のフル機能ではなくシンプルな一覧ページのみ作成するため「Start from scratch」を選択

コネクタの選択画面スキップしてアプリケーションを作成します。

connectcloud-appstudio2spreadsheet

「Your app has been created」が表示されたら「Edit app」をクリック

それではさっそくアプリケーションの設定に進みましょう。

connectcloud-appstudio2spreadsheet

Automation の設定

データコネクターはDB とApp Studio 側のオプジェクトを自動でマッピングしてくれますが、オートメーションコネクターは手動で行う必要があるため、Automation でAPI リクエストの実行処理を設定し、表示を行うフロントエンド側でマッピングを行います。

アプリケーションの設定ページにある「Autonation」タブを開いたら、「Add automation」をクリック

connectcloud-appstudio2spreadsheet

右側メニューの「Actions」タブの中にある「Invoke API」をドラッグ&ドロップして処理のフローに追加

connectcloud-appstudio2spreadsheet

右側メニューの「Properties」タブを開き、「Connector」の項目で先に作成しておいたコネクター (今回は Akatsuka_AppStudio_Demo) を選択

connectcloud-appstudio2spreadsheet

「Operation」の項目でGet メソッドなど呼び出したい処理が表示されないケースがあるようなので、次の「Configure API request」の設定で対応します。
確認したところ今回の設定ではコネクターの設定時点でOpenAPIのSpecification ファイルの内容が保存されていなかったため、原因が分かりましたらこちらに追記いたします。

参考までに、「Operation」の項目が表示される場合は以下のようになります。

connectcloud-appstudio2spreadsheet

Configure API request の設定

「Operation」の項目が選択可能な場合はあらかじめこちらの項目が設定済みになっていますが、今回は手動で入力しました。

connectcloud-appstudio2spreadsheet

OpenAPIのSpecificationファイルの内容を確認し、OneNote の内容を一覧で取得するためのリクエストを設定します。

  • Method : Get
  • Path : Get に対応したパス (今回は/Akatsuka_AppStudio_Demo_Sheet1)

OpenAPIのSpecification ファイルの内容の例

connectcloud-appstudio2spreadsheet

プレビューで使用するモックデータを登録

connectcloud-appstudio2spreadsheet

プレビューでは実際のAPI リクエストは行われないため、モックデータを使って表示の確認を行います。
今回はMocked output に表示れているスケルトンに合わせてbody 要素配下にvalue 要素としてプレビュー用のデータを追加しています。

モックデータのサンプル

    {
"body":
{
  "value": [
        {
            "id": 2,
            "month": 1,
            "amount": 500000
        },
        {
            "id": 3,
            "month": 2,
            "amount": 500000
        },
        {
            "id": 4,
            "month": 3,
            "amount": 500000
        }
    ],
   },
  /*
   * Checkout the HTTP RFC for more info:
   * https://www.rfc-editor.org/rfc/rfc9110#name-status-codes
   */
  statusCode: 200,
}

Output の設定

右側メニューで「Automation」の設定に移動し、API リクエストで取得したデータを出力するための設定を追加します。

connectcloud-appstudio2spreadsheet

今回はbody 要素配下のvalue に格納されたデータを取得したいので、以下のように設定しています。

  • フォーマット:{{results.API アクションの名前.body 要素?value 配下のデータ一式}}
  • 今回の設定:{{results.InvokeAPI1.body?.value}}

どのような構造でデータが取得できるかはPostman などで実際にリクエストしてみて確認するのが良さそうです。

以上でAPI リクエスト関連の設定が完了しました。

Pages の設定

最後にフロントエンド側の実装として、一覧表示を行うテーブルに対して列ごとの項目を設定していきます。

Pages タブを表示し、右側の「Conponents」から「Table」を選択

connectcloud-appstudio2spreadsheet

右側の「Properties」タブにて「Navigation label」を任意の名前で設定 (今回はgoogle sheets)

connectcloud-appstudio2spreadsheet

左側のメニューで「table1」を表示し、右側の「Content」の内容を設定

connectcloud-appstudio2spreadsheet

  • Content
    • Source : Automation
    • Automation : Automation1(先ほど作成したもの)
    • Clumns : カラムごとに APIからのレスポンスを追加
      Columns の設定内容Value は「currentRow:表示したい要素名」 のフォーマットになります。
      connectcloud-appstudio2spreadsheet

プレビューでの動作確認

プレビューでは実際のAPI リクエストは行わず、先ほど作成したモックデータを使ってテストを行います。

左上の「Preview」をクリック

connectcloud-appstudio2spreadsheet

問題なく表示できることを確認

connectcloud-appstudio2spreadsheet

テスト環境での動作確認

プレビューでの動作確認ができたらテスト環境にデプロイしてみます。

右上の「Publish」メニューから「Publish Center」を選択

connectcloud-appstudio2spreadsheet

パイプラインの表示に従いテスト環境への「Publish」をクリック

しばらく待つとビルドが完了し、テスト環境のURL が表示されます。

connectcloud-appstudio2spreadsheet

テスト環境用のURL にアクセス

OneNote のデータが表示されていることを確認できました!

connectcloud-appstudio2spreadsheet

Amount の表示がテキスト型になっているので、数値型に変換しても良いかもしれません。

connectcloud-appstudio2spreadsheet

以上でCData Connect AI を使ってApp Studio からOneNote に接続できました。

App Studio からOneNote のデータにリアルタイム連携

これでOneNote への接続は完了です。あとは、OneNote から自在にデータを取得して、App Studio でのアプリ構築に活用できます。

クラウドアプリケーションから170を超えるSaaS、ビッグデータ、NoSQL データソースへのリアルタイムデータ連携の実現には、CData Connect AI の14日間無償トライアルをぜひお試しください。

はじめる準備はできましたか?

CData Connect AI の詳細、または無料トライアルにお申し込みください:

無料トライアル お問い合わせ