データハブサービス
自分で環境を構築する代わりに、データハブプロジェクトをクラウドにデプロイできます。データハブサービス(DHS)は、事前設定されたMarkLogicクラスタを提供するクラウドベースのソリューションです。ここでフローを実行し、ハーモナイズされたデータを提供できます。
MarkLogicデータハブを使用して、プロジェクトをローカル(開発環境)で開発およびテストし、それをDHSクラスタ(本番環境)に導入します。
ヒント: 複数のサービスで同じデータハブプロジェクトファイルを流用できます。例えば、あるDHSプロジェクトをテスト環境として、また別のDHSプロジェクトを本番環境としてセットアップできます。
DHS環境では、データベース、アプリケーションサーバー、およびセキュリティロールが自動的に設定されます。管理者はユーザーアカウントを作成できます。
データハブプロジェクトとDHSプロジェクトでは、以下の設定が若干異なる可能性があります。
アプリケーションサーバー用のポートおよびロードバランサーの設定は、データハブプロジェクトとDHSプロジェクトで同じです。詳細は、クラウドサービスドキュメント内のエンドポイントとポート番号を参照してください。
エンドポイントがプライベートの場合は、MarkLogic VPCにアクセスできる踏み台ホストが仮想プライベートクラウド(VPC)内に必要です。エンドポイントが公開されている場合は、任意のマシンを使用できます。
重要: データハブのQuickStartツールは、DHSでは使用できません。
データハブサービス(DHS)の詳細については、「データハブサービス」および「DHSのドキュメント」を参照してください。
始める前に
- ローカルでセットアップおよびテストされたデータハブプロジェクト
- プロビジョニングされたMarkLogicデータハブサービス環境
重要: データハブ v5.0を使用するには、お使いのDHS環境をアップグレードする必要があります。必ず
サポートへのコンタクトサポートにお問い合わせください。
- プライベートエンドポイントの場合のみ:仮想プライベートクラウド(VPC)内の踏み台ホスト
- DHS管理者からの情報:
- DHSホスト名(通常はキュレーションエンドポイント)
- テスト用のRESTキュレーションエンドポイントURL(ポート番号を含む)
- 次の各ロールに関連付けられているユーザーアカウントのユーザー名とパスワード(詳細は、「DHSインスタンスのユーザーアカウントを作成する」を参照してください)
endpointDeveloper
endpointUser
flowDeveloper
flowOperator
手順
-
データハブのプロジェクトディレクトリ全体を、エンドポイントにアクセスするマシンにコピーし、そのマシンで以下の手順を実行します。
重要: エンドポイントがプライベートの場合、このマシンは踏み台ホストでなければなりません。
- コマンドラインウィンドウを開き、データハブプロジェクトのルートディレクトリに移動します。
-
gradle-dhs.properties
ファイルを設定します。
- データハブサービスインスタンスからGradleの構成ファイルをダウンロードします(プロジェクトのルートに置きます)。
注: デフォルトでは、ダウンロードされたファイルの名前は
gradle-dhs.properties
となっています。別のファイル名を使用したい場合は、以下のようにします。
- ファイル名の形式を
gradle-{env}.properties
にする必要があります。ここで、{env}は環境を表す任意の文字列です。例えば、開発環境の設定をgradle-dev.properties
に保存できます。
- 以下のGradleコマンドの手順においては、-PenvironmentNameパラーメータの{env}部分を適宜更新することを忘れないでください。
- 構成ファイルで示されているようにユーザー名とパスワードを設定します。
-
モジュールおよび他のリソース(インデックスを含む)をデプロイします。
ユーザーアカウントに割り当てられたロールに基づき、適切なhubDeployタスクを使ってさまざまなアセットをデプロイできます。
ロール: |
以下のGradleタスクを使用する |
デプロイするもの |
data-hub-developer |
./gradlew hubDeployAsDeveloper -PenvironmentName=dhs -igradlew.bat hubDeployAsDeveloper -PenvironmentName=dhs -i |
- ユーザーモジュールおよびアーティファクト(エンティティ、フロー、マッピング、ステップ定義)
- アラートの設定、ルール、アクション。
- ステージング、ファイナル、ジョブデータベースのインデックス
- スケジュール化されたタスク
- スキーマ
- 時間に関する軸およびコレクション
- トリガー
- 保護パスおよびクエリロールセット
|
data-hub-security-admin |
./gradlew hubDeployAsSecurityAdmin -PenvironmentName=dhs -igradlew.bat hubDeployAsSecurityAdmin -PenvironmentName=dhs -i |
- カスタムのロールおよび権限の定義です。以下の制約があります。
- カスタムロールは、他のどのようなロールからも継承できません。
- カスタムロールが継承できるのは、これを作成しているユーザーに与えられている権限に限られます。
- カスタムの
execute 権限は、http://datahub.marklogic.com/custom/で始まるアクションに割り当てる必要があります。
|
data-hub-developerおよびdata-hub-security-adminの両方 |
./gradlew hubDeploy -PenvironmentName=dhs -igradlew.bat hubDeploy -PenvironmentName=dhs -i |
|
詳細は、ユーザーとロールを参照してください。
-
読み込みステップを含む新しいフローを実行します。
-
マッピングステップまたはマスタリングステップのいずれか、あるいは両方を含むフローを実行します
./gradlew hubRunFlow -PflowName=your-flow-name -PentityName=your-entity-name -PenvironmentName=dhs -igradlew.bat hubRunFlow -PflowName=your-flow-name -PentityName=your-entity-name -PenvironmentName=dhs -i
重要: Gradleパラメータの値に空白が含まれている場合は、その値を二重引用符で囲む必要があります。値に空白が含まれていない場合は、値を引用符で囲んではいけません。
-
ドキュメントがデータベース内にあることを確認します。
-
以下のURLでは、
OPERATIONS-REST-ENDPOINT-URL
およびCURATION-REST-ENDPOINT-URL
部分を、DHS管理者から教えてもらった適切なエンドポイントURLで置き換えてください。
ファイナルデータベース | http://OPERATIONS-REST-ENDPOINT-URL:8011/v1/search |
ステージングデータベース | http://CURATION-REST-ENDPOINT-URL:8010/v1/search |
例:http://internal-mlaas-xxx-xxx-xxx.us-west-2.elb.amazonaws.com:8011/v1/search
-
Webブラウザで、いずれかのURLに移動します。
この結果は、データベース内のすべてのドキュメントのXML形式のリストです。このリスト内の項目として、ドキュメントのURI、パス、その他のメタデータ、コンテンツのプレビューが含まれます。
次のタスク
プロジェクトの初回アップロード後にフローを更新する場合、ロールに適したhubDeploy*
Gradleタスクを再度実行してからこのフローを実行することで、フローを再デプロイできます。