CloverDX(旧CloverETL)で Amazon S3 のデータ に接続

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
CloverDX データ統合ツールのビジュアルワークフローを使って Amazon S3 のデータ を転送。

CData JDBC Driver for Amazon S3 を使用すると、CloverDX(旧CloverETL)のデータ変換コンポーネントで Amazon S3 をソースとして扱えます。この記事では、JDBC Driver for Amazon S3 を使用して、フラットファイルへのシンプルな転送を設定する方法を説明します。

JDBC データソースとして Amazon S3 に接続

  1. Amazon S3 のデータ への接続を作成します。新規のCloverDX グラフで、Outline ペインの「Connections」ノードを右クリックし、「Connections」->「Create Connection」をクリックします。Database Connection ウィザードが表示されます。
  2. プラスアイコンをクリックし、JAR からドライバーをロードします。インストールディレクトリのlib サブフォルダを参照し、cdata.jdbc.amazons3.jar ファイルを選択します。
  3. JDBC URL を入力します。

    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 認証情報を送信します。

    組み込みの接続文字列デザイナー

    JDBC URL の構築には、Amazon S3 JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルをダブルクリックするか、コマンドラインから実行します。

    java -jar cdata.jdbc.amazons3.jar
    

    接続プロパティを入力し、接続文字列をクリップボードにコピーします。

    一般的なJDBC URL は次のようになります:

    jdbc:amazons3:AccessKey=a123;SecretKey=s123;

DBInputTable コンポーネントで Amazon S3 のデータ をクエリ

  1. Palette の「Readers」から「DBInputTable」をジョブフローにドラッグし、ダブルクリックして設定エディターを開きます。
  2. 「DB connection」プロパティで、ドロップダウンメニューから Amazon S3 JDBC データソースを選択します。
  3. SQL クエリを入力します。例:
    SELECT Name, OwnerId FROM ObjectsACL WHERE Name = 'TestBucket'

クエリの出力をUniversalDataWriter に書き込む

  1. 「Writers」から「UniversalDataWriter」をジョブフローにドラッグします。
  2. UniversalDataWriter をダブルクリックして設定エディターを開き、ファイルURL を追加します。
  3. DBInputTable を右クリックし、「Extract Metadata」をクリックします。
  4. DBInputTable の出力ポートをUniversalDataWriter に接続します。
  5. UniversalDataWriter の「Select Metadata」メニューで、ObjectsACL テーブルを選択します。(このメニューはUniversalDataWriter の入力ポートを右クリックしても開けます。)
  6. 「Run」をクリックして、ファイルに書き込みます。

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

Amazon S3 Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Amazon S3 Icon Amazon S3 JDBC Driver お問い合わせ

Amazon S3 ファイルストレージデータに連携するJava アプリケーションを素早く、簡単に開発できる便利なドライバー。