製品をチェック

製品の詳細・30日間の無償トライアルはコチラ

CData API Server

Monaca アプリで使えるAmazon S3 データ連携用のバックエンドAPI をノーコードで開発

ハイブリッドアプリ開発プラットフォームMonaca から Amazon S3 データに接続するためのバックエンドAPI サーバーをCData API Server で構築

宮本航太
プロダクトスペシャリスト

最終更新日:2022-05-15
amazons3 ロゴ

CData

apiserver ロゴ画像
Monaca ロゴ

こんにちは!プロダクトスペシャリストの宮本です。

CData API Server と ADO.NET Provider for AmazonS3 を使って、Monaca ハイブリッドアプリ開発プラットフォーム(https://ja.monaca.io/) から Amazon S3 に接続してデータを取得する方法を説明します。

API Server の設定

次のステップに従い、セキュアな REST API サービスを立ち上げます

デプロイ

API Server はサーバー上で稼働します。Windows 版は、製品に組み込まれているスタンドアロンのサーバーかIIS に配置して稼働させることができます。Java 版では、Java servlet コンテナにAPI Server のWAR ファイルを配置します。 デプロイの詳細は製品ヘルプを参照してください。API Server を Microsoft AzureAmazon EC2Heroku にデプロイする方法はKB に記事があります。

Amazon S3 への接続

API Server の管理コンソールで[設定]→[接続]から新しい接続を追加してAmazon S3 を追加します。

Amazon S3 のアイコンがデフォルトのAPI Server の接続先にない場合には、API Server がJava 版の場合はJDBC Drivers、API Server がWindows 版の場合はADO.NET Data ProvidersからAmazon S3 ドライバーをAPI Server と同じマシンにインストールして、API Server を再起動します。

Amazon S3 への接続に必要な認証情報を入力します。接続のテストを行い、接続を確認して、設定を保存します。

Amazon S3 リクエストを認可するには、管理者アカウントまたはカスタム権限を持つIAM ユーザーの認証情報を入力します。AccessKey をアクセスキーID に設定します。SecretKey をシークレットアクセスキーに設定します。

Note: AWS アカウント管理者として接続できますが、AWS サービスにアクセスするにはIAM ユーザー認証情報を使用することをお勧めします。

尚、CData 製品はAmazon S3 のファイルの一覧表示やユーザー管理情報の取得用です。S3 に保管されているExcel、CSV、JSON などのファイル内のデータを読み込みたい場合には、Excel DriverCSV DriverJSON Driver をご利用ください。

アクセスキーの取得

IAM ユーザーの資格情報を取得するには:

  1. IAM コンソールにサインインします。
  2. ナビゲーションペインで「ユーザー」を選択します。
  3. ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してから「セキュリティ認証情報」タブを選択します。

AWS ルートアカウントの資格情報を取得するには:

  1. ルートアカウントの資格情報を使用してAWS 管理コンソールにサインインします。
  2. アカウント名または番号を選択し、表示されたメニューで「My Security Credentials」を選択します。
  3. 「Continue to Security Credentials」をクリックし、「Access Keys」セクションを展開して、ルートアカウントのアクセスキーを管理または作成します。

AWS ロールとして認証

多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。RoleARN を指定することでAWS ロールを代わりに使用できます。これにより、CData 製品は指定されたロールの資格情報を取得しようと試みます。

(すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、ロールを引き受けるIAM ユーザーのAccessKey とSecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey および SecretKey を指定する場合、ロールは使用できません。

SSO 認証

SSO 認証を必要とするユーザーおよびロールには、RoleARN およびPrincipalArn 接続プロパティを指定してください。各Identity Provider に固有のSSOProperties を指定し、AccessKey とSecretKey を空のままにする必要があります。これにより、CData 製品は一時的な認証資格情報を取得するために、リクエストでSSO 認証情報を送信します。

  • 接続を確立後、[設定]→[リソース]の画面でテーブル一覧からREST API として公開するエンティティを選択します。
  • API Server のユーザー設定

    [設定]→[ユーザー]からAPI にアクセスできるユーザーの認証設定を行います。API Server はトークンでの認証を行うことができます。 IP アドレスでAPI へのアクセスを制限することも可能です。デフォルトではローカルマシンからのアクセスのみが許可されています。SSL の設定も可能です。

    オンプレミスDB やファイルからのAPI Server 使用(オプション)

    オンプレミスRDB やExcel/CSV などのファイルのデータを使用する場合には、API Server のCloug Gateway / SSH ポートフォワーディングが便利です。是非、Cloud Gatway の設定方法 記事を参考にしてください。

    Monaca で作成したモバイルアプリでの Amazon S3 データ取得

    Monacaではクラウド上にあるIDEが用意されていますので、まずはアカウント作成します。そこからCData API Server のデータをMonaca アプリ使う設定を作成していきます。

    1. ブラウザより Monaca のダッシュボードを開き、「新しいプロジェクトを作る」をクリックします。
    2. Monaca
    3. まずはテンプレートの種類は、フレームワークテンプレートを選択します。
    4. Monaca
    5. 今回は JavaScript を選択します。
    6. Monaca
    7. テンプレートは「Onsen UI V2 JS Navigation」を選択します。テンプレの画面構成は、「Push page」ボタンをクリックすると、画面遷移するものとなっています。
    8. Monaca
    9. 任意のプロジェクト名を設定し、「作成」ボタンをクリックします。
    10. Monaca
    11. 作成したプロジェクトを選択した状態で、「クラウドIDEで開く」をクリックします。
    12. Monaca
    13. 検索ボタンがクリックされたら、先ほど作成した API を Ajax で呼び出すようにしています。
      Monaca
      API Server で作成したエンドポイントをURL に設定し、ヘッダーにAPI Server のアクセストークンを設定します。
      Monaca
    14. レスポンスが返ってきた後、処理が成功していればリストにname だけを1データずつ加えています。

    デバッグ実行してみる

    Monaca でデバッグを行う際は、Monacaデバッガーアプリを実機にインストールすることで、MonacaのクラウドIDE と実機で動かしているMonacaデバッガーアプリが連動するようです。そのため、いちいちコードを修正してからのビルドが不要になるため、素早く検証を行うことができます。

    また、Monaca Localkit を使うことで、ローカルの開発環境でも利用することができます。今回はこのLocalkit を使って vscode 上でコードを修正し、アプリ内容を確認していきました。

    Monaca Localkit を起動し、プレビューを押すとすぐにアプリ画面が表示されます。

    Monaca

    初期画面→検索→画面遷移まで確認することができました。

    Monaca

    このように Amazon S3 内のデータをMonaca アプリで利用することができるようになります。

    トライアル・お問い合わせ

    30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。