製品をチェック

Google Cloud Storage Driver の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

Google Cloud Storage アイコン Google Cloud Storage JDBC Driver 相談したい

Google Cloud Storage データを組み込んだパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。

ColdFusion でGoogle Cloud Storage データに連携する方法

ColdFusion の標準的なデータアクセスコードでGoogle Cloud Storage にデータ連携。

加藤龍彦
ウェブデベロッパー

最終更新日:2021-02-06

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。



CData JDBC Driver for GoogleCloudStorage は、ColdFusion のrapid development tools を使ってGoogle Cloud Storage への接続をシームレスに統合します。この記事では、ColdFusion でGoogle Cloud Storage に連携しGoogle Cloud Storage テーブルをクエリする方法を説明します。

ColdFusion にGoogle Cloud Storage のJDBC データソースを作成

下記の手順に従ってGoogle Cloud Storage データソースを作成し、ColdFusion アプリケーションへの連携を可能にします。

  1. ドライバーのJAR および.lic ファイルを、インストールディレクトリから C:\ColdFusion10\cfusion\wwwroot\WEB-INF\lib にコピーします。

    ドライバーのJAR およびlicense はインストールディレクトリの[lib]サブフォルダに配置されています。

  2. ドライバーをデータソースとして追加:

    ColdFusion Administrator インターフェースで[Data & Services]ノードを展開し、[Data Sources]>[Add New Data Source]をクリックします。ダイアログが表示されたら、以下のプロパティを入力します。

    • Data Source Name:データソースの名前を入力。名前はColdFusion 変数命名規則に一致する必要があります。
    • Driver:[Other]を選択。
    Adding a JDBC data source to ColdFusion. (Salesforce is shown.)
  3. JDBC Driver のプロパティ設定:

    • JDBC URL:JDBC URL に接続プロパティを入力。JDBC のURL は以下で始まり jdbc:googlecloudstorage: 次に、セミコロン区切りでname=value ペアの接続プロパティを入力します。以下は一般的なJDBC URL です:

      jdbc:googlecloudstorage:ProjectId='project1';

      ユーザーアカウントでの認証

      ユーザー資格情報の接続プロパティを設定することなく接続できます。InitiateOAuth をGETANDREFRESH に設定したら、接続の準備が完了です。

      接続すると、Google Cloud Storage OAuth エンドポイントがデフォルトブラウザで開きます。ログインして権限を付与すると、OAuth プロセスが完了します。

      サービスアカウントでの認証

      サービスアカウントには、ブラウザでユーザー認証を行わないサイレント認証があります。サービスアカウントを使用して、企業全体のアクセススコープを委任することもできます。

      このフローでは、OAuth アプリケーションを作成する必要があります。詳しくは、ヘルプドキュメントを参照してください。以下の接続プロパティを設定したら、接続の準備が完了です:

      • InitiateOAuth: GETANDREFRESH に設定。
      • OAuthJWTCertType: PFXFILE に設定。
      • OAuthJWTCert: 生成した.p12 ファイルへのパスに設定。
      • OAuthJWTCertPassword: .p12 ファイルのパスワードに設定。
      • OAuthJWTCertSubject: 証明書ストアの最初の証明書が選ばれるように"*" に設定。
      • OAuthJWTIssuer: 「サービスアカウント」セクションで「サービスアカウントの管理」をクリックし、このフィールドをサービスアカウントID フィールドに表示されているE メールアドレスに設定。
      • OAuthJWTSubject: サブジェクトタイプが"enterprise" に設定されている場合はエンタープライズID に設定し、"user" に設定されている場合はアプリユーザーID に設定。
      • ProjectId: 接続するプロジェクトのID に設定。

      これで、サービスアカウントのOAuth フローが完了します。

    • Driver Class:ドライバーのクラスを入力。ドライバークラスは、以下のとおりです。cdata.jdbc.googlecloudstorage.GoogleCloudStorageDriver
    • Driver Name:ユーザー定義のドライバー名を入力。ドライバー名はColdFusion Administrator コンソールでデータソースを認識するために使われます。
    • Username:認証するユーザーネームを入力。
    • Password:認証するパスワードを入力。
Required connection properties specified in the JDBC URL. (Salesforce is shown.)

[Actions] カラムのCData Google Cloud Storage データソースを有効にして、接続をテストできます。ステータスがOK になったら、Google Cloud Storage データソースを使うことができます。

Test the connection in the Actions column. (Salesforce is shown.)

クエリを実行

下記の手順に従って、Google Cloud Storage の基準に合ったレコードをクエリし、結果をHTML テーブルに出力する簡単なアプリケーションを作成します。

  1. 新規ColdFusion markup ファイルでクエリを定義:C:\ColdFusion10\cfusion\wwwroot directory for ColdFusion の.cfm ファイルに次のコードを入力:

    <cfquery name="GoogleCloudStorageQuery" dataSource="CDataGoogleCloudStorage"> SELECT * FROM Buckets </cfquery>

    Note:CData JDBC Drivers は、cfqueryparam エレメントを使ってパラメータ化されたクエリもサポートします。例:

    <cfquery name="GoogleCloudStorageQuery" dataSource="CDataGoogleCloudStorage"> SELECT * FROM Buckets WHERE Name = <cfqueryparam>TestBucket</cfqueryparam> </cfquery>
  2. CFTable を使ってHTML にテーブルを出力:

    <cftable query = "GoogleCloudStorageQuery" border = "1" colHeaders colSpacing = "2" headerLines = "2" HTMLTable maxRows = "500" startRow = "1"/> <cfcol header="<b>Name</b>" align="Left" width=4 text="#Name#"></cfcol> <cfcol header="<b>OwnerId</b>" align="Left" width=7 text="#OwnerId#"></cfcol> </cftable>
  3. コードを実行してグリッドを表示します。

    Query results in an HTML table. (Salesforce is shown.)

HTML 部分を含む以下のフルコードが利用できます。

<html> <head><title>Hello World</title></head> <body> <cfoutput>#ucase("hello world")#</cfoutput> <cfquery name="GoogleCloudStorageQuery" dataSource="CDataGoogleCloudStorage"> SELECT * FROM Buckets </cfquery> <cftable query = "GoogleCloudStorageQuery" border = "1" colHeaders colSpacing = "2" headerLines = "2" HTMLTable maxRows = "500" startRow = "1"> <cfcol header="<b>Name</b>" align="Left" width=4 text="#Name#"></cfcol> <cfcol header="<b>OwnerId</b>" align="Left" width=7 text="#OwnerId#"></cfcol> </cftable> </body> </html>

関連コンテンツ

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

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