Cassandra Studio 設定

Anypoint Studio で Cassandra 用 Anypoint Connector (Cassandra Connector) を設定する手順は、次のとおりです。

  1. プロジェクトにコネクタを追加します。

  2. コネクタを設定します。

  3. コネクタの入力元を設定します。

Studio プロジェクトへのコネクタの追加

Anypoint Studio には、Studio プロジェクトにコネクタを追加する 2 つの方法があります。Studio タスクバーの Exchange ボタンから追加するか、[Mule Palette (Mule パレット)] ビューから追加します。

Exchange を使用してコネクタを追加する

  1. Studio で Mule プロジェクトを作成します。

  2. Studio タスクバーの左上にある Exchange アイコン ​(X)​ をクリックします。

  3. Exchange で、​[Login (ログイン)]​ をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。

  4. Exchange で、「Cassandra」を検索します。

  5. コネクタを選択して ​[Add to project (プロジェクトに追加)]​ をクリックします。

  6. 画面の指示に従ってコネクタをインストールします。

Studio でコネクタに追加する

  1. Studio で Mule プロジェクトを作成します。

  2. [Mule Palette (Mule パレット)] ビューで、​[(X) Search in Exchange ((X) Exchange 内を検索)]​ をクリックします。

  3. [Add Modules to Project (モジュールをプロジェクトに追加)]​ で、検索項目に「Cassandra」と入力します。

  4. [Available modules (使用可能なモジュール)]​ で、このコネクタの名前をクリックします。

  5. [Add (追加)]​ をクリックします。

  6. [Finish (完了)]​ をクリックします。

Authentication (認証)

Cassandra データベースで認証が有効になっている場合、Cassandra Connector からアクセスするときにログイン情報を提供する必要があります。Cassandra では基本認証のみがサポートされています。Cassandra データベースにログイン情報を提供するには、Cassandra Connector のグローバル要素に対応する値を入力します。

Studio を使用した Cassandra キースペースの作成

この例では、列ファミリーをグループ化する Cassandra キースペースを作成した後、Cassandra テーブルを作成します。

キースペースを作成する

  1. Anypoint Studio で新しい Mule プロジェクトを作成し、​src/main/resources/mule-app.properties​ の Cassandra ログイン情報を入力します。

    config.host=<HOST>
    config.port=<PORT>
    config.keyspace=<KEY_SPACE>
    config.username=<USERNAME>
    config.password=<PASSWORD>
  2. HTTP Connector をキャンバスにドラッグし、[​Host​ (ホスト)] と [​Port​ (ポート)] はデフォルト値のままにして、パスを ​/test/createKeyspace​ に設定します。

  3. [Transform Message]​ コンポーネントを Mule パレットからフローの右 (プロセス) 側にドラッグし、コンポーネントを選択して、出力ペイロードを設定します。次に例を示します。

    %dw 2.0
    output application/java
    ---
    {
     "keyspaceName": payload.keyspaceName,
     "replicationFactor": payload.replicationFactor,
     "replicationStrategyClass": payload.replicationStrategyClass
    }
    as Object {
     class: "org.mule.modules.cassandradb.api.CreateKeyspaceInput"
    }
  4. Create Keyspace​ 用の Cassandra コンポーネントをキャンバスにドラッグします。

    項目 説明

    Host (ホスト)

    Cassandra ノードのホスト名または IP アドレスを入力します。

    Port (ポート)

    ポート番号を入力します。デフォルトポートは 9042 です。

    Keyspace (キースペース)

    Cassandra キースペースを入力します。キースペースは列ファミリーをグループ化します。

    Username (ユーザー名)

    Cassandra YAML ファイルで PasswordAuthenticator を有効にしている場合、Cassandra ユーザー名を入力します。​AllowAllAuthenticator​ を有効にしている場合、この値を空白のままにします。

    Password (パスワード)

    PasswordAuthenticator​ を有効にした場合、パスワードを入力します。有効にしていない場合、この値を空白のままにします。

  5. [Test Connection (接続をテスト)]​ オプションをクリックして、Mule が Cassandra インスタンスに接続できることを確認します。正常に接続できた場合は、​[OK]​ をクリックして設定を保存します。それ以外の場合、無効なパラメーターを確認および修正して、再度テストします。

  6. アプリケーションを実行します。ブラウザーで、次の URL を使用して、キースペース名 ​ks_name​、複製係数 ​rf​、および複製戦略クラス ​rs_class​ のクエリパラメーターを入力します。

    http://localhost:8081/simple?ks_name=simple_keyspace&rf=3&rs_class=SimpleStrategy

Cassandra テーブルを作成する

  1. Anypoint Studio で新しい Mule プロジェクトを作成し、​src/main/resources/mule-app.properties​ の Cassandra ログイン情報を入力します。

    config.host=<HOST>
    config.port=<PORT>
    config.keyspace=<KEY_SPACE>
    config.username=<USERNAME>
    config.password=<PASSWORD>
  2. HTTP Connector をキャンバスにドラッグし、[​Host​ (ホスト)] と [​Port​ (ポート)] はデフォルト値のままにして、パスを ​/test/createTable​ に設定します。

  3. [Transform Message]​ コンポーネントを Mule パレットからフローの右 (プロセス) 側にドラッグし、コンポーネントを選択して、出力ペイロードを設定します。次に例を示します。

    %dw 2.0
    output application/java
    ---
    {
      "columns": payload.columns,
      "tableName": payload.tableName,
      "keyspaceName": payload.keyspaceName
    } as Object {
      class : "org.mule.modules.cassandradb.api.CreateTableInput"
    }
  4. Create Table​ 操作用の Cassandra コンポーネントをキャンバスにドラッグします。

    項目 説明

    Host (ホスト)

    Cassandra ノードのホスト名または IP アドレスを入力します。

    Port (ポート)

    ポート番号を入力します。デフォルトポートは ​9042​ です。

    Keyspace (キースペース)

    Cassandra キースペースを入力します。キースペースは列ファミリーをグループ化します。

    Username (ユーザー名)

    Cassandra YAML ファイルで ​PasswordAuthenticator​ を有効にしている場合、Cassandra ユーザー名を入力します。​AllowAllAuthenticator​ を有効にしている場合、この値を空白のままにします。

    Password (パスワード)

    PasswordAuthenticator​ を有効にしている場合、パスワードを入力します。それ以外の場合、この値を空白のままにします。

  5. [Test Connection (接続をテスト)]​ をクリックして、Mule が Cassandra インスタンスに接続できることを確認します。クライアントテストに成功した場合は、​[OK]​ をクリックして設定を保存します。それ以外の場合、無効なパラメーターを確認および修正して、再度テストします。

  6. Mule アプリケーションを実行します。Postman で ​[POST]​ を選択します。​[Body (本文)] > [Raw (未加工)]​ を選択し、​JSON​ (application/json) MIME タイプを選択して、大文字のデータ型を使用して次のテーブル記述を入力します。

    {
      "tableName": "users",
      "keyspaceName": "Excelsior",
      "columns":
      [
        {
          "name": "id",
          "type": "INT",
          "primaryKey": "true"
        },
        {
          "name": "username",
          "type": "TEXT",
          "primaryKey": "true"
        },
        {
          "name": "name",
          "type": "TEXT",
          "primaryKey": "false"
        },
        {
          "name": "email",
          "type": "TEXT",
          "primaryKey": "false"
        }
      ]
    }
  7. Postman で ​[Send (送信)]​ をクリックし、[Status: 200 OK​ (状況: 200 OK​)] を探します。