フェデレーティッドデータベースインスタンスの配置
このページでは、フェデレーティッドデータベースインスタンスを配置して Azure Blob Storage コンテナ内のデータにアクセスする方法について説明します。
前提条件
始める前に、次の前提条件を完了してください。
MongoDB Atlasアカウントがまだない場合は、作成し 。
Azure PowerShell のインストール または Azure CLI 。これらのツールの詳細については、 「 適切な Azure コマンドライン ツールを選択する 」を参照してください。
Azure PowerShell の 構成 または Azure CLI 。
手順
Atlas CLI を使用して新しい Data Federation データベースを作成するには、次のコマンドを実行します。
atlas dataFederation create <name> [options]
コマンド構文とパラメーターの詳細については、 Atlas CLIドキュメントのAtlas dataFederation create を参照してください。
Atlas Data Federation がフェデレーティッドデータベースインスタンスに対してクエリを処理するクラウドプロバイダーを選択します。
Amazon Web ServicesAzure[0}Google Cloud Platform Amazon Web Services ] 、 Azure 、またはGoogle Cloud Platformを選択できます。フェデレーティッドデータベースインスタンスが作成された後は、Atlas Data Federation がクエリを処理するクラウドプロバイダーを変更することはできません。
Azure Blog Storage コンテナ内のデータ用にフェデレーティッドデータベースインスタンスを構成している場合、データをホストしているクラウドプロバイダーと異なるクラウドプロバイダーを選択することはできません。 つまり、 Azureを選択する必要があります。
Azure Blob Storage データ ストアを指定し、データ ストアにマップするフェデレーティッドデータベースインスタンスと仮想コレクションを構成します。
Data Sourcesセクションからフェデレーティッドデータベースインスタンスのデータセットを選択します。
データストアを選択するには、 Add Data Sourcesをクリックします。
データストアを指定します。
Azure Blog Storage コンテナ内のデータ用にフェデレーティッドデータベースインスタンスを構成するには、 Azureを選択します。
stores.[n].provider
JSON構成設定に対応します。Atlas のAzureサービス プリンシパルを選択します。
[ サービス プリンシパル ] ドロップダウンから、Atlas が認可する既存のAzureサービス プリンシパルを選択するか、 Authorize an Azure Service Principalを選択して新しいサービス プリンシパルを認可できます。
Atlas が認可する既存のサービスプリンシパルを選択した場合は、次の手順に進みます。
既存のサービス プリンシパルに対して Atlas を認可する場合、または新しいサービス プリンシパルを作成する場合は、次の手順に進む前に以下の手順を完了します。
新規または既存のサービス プリンシパルを認可するにはAuthorize an Azure Service Principalを選択し、 Continueをクリックします。
Add Atlas to your Azure Service PrincipalセクションでAzure Service Principal AppIdを使用して、既存または新規のAzure Service Principal を介して Atlas にアクセスできるようにします。
PowerShellAzureCLIAtlas UI の タブまたは タブの手順に従って、新しいサービス プリンシパルを作成するか、既存のサービス プリンシパルを変更します。
Atlas UI の手順を完了したら、それぞれのフィールドにテナント ID とサービスプリンシパル ID を入力します。
次のステップに進むには、 Validate and Finishをクリックします。
Azure Blog ストレージへのアクセスを構成します。
Configure Azure Blob Storageページでは、 Azure Storage アカウントの認証情報の削除とストレージ コンテナへのアクセスを構成する必要があります。 これらを行うには、次の手順に従います。
Storage Account Credential Delegationフィールドにストレージ アカウント リソース ID を入力します。
Azure PowerShell のStorage Account Credential Delegationステップから コマンドをコピーして実行し、認証情報の削除を設定します。
ストレージ コンテナでRead only操作またはRead and write操作のどちらが許可されているかを指定します。
Atlas はRead-onlyコンテナのみをクエリできます。 Azure Blob Storage コンテナにクエリを実行してクエリ結果を保存する場合は、 Read and writeを選択します。
Atlas Data Federation では、
$out
を使用した Azure Blog ストレージ コンテナへの書込み (write) がサポートされていません。ストレージ コンテナの名前を入力します。
Azure PowerShell のStorage Container Accessステップに表示されるコマンドをコピーして実行し、Blob コンテナへのアクセスを設定します。
[Continue] をクリックします。
Azure Blob Storage コンテナ内のファイルのパス構造を定義し、 Nextをクリックします。
Azure Blog ストレージ コンテナへのストレージ パスを入力します。
以下に例を挙げます。
https://<storage-account>.blob.core.windows.net/<container>/<file-name> Azure Blob Storage コンテナ上のデータへの追加パスを追加するには、[ Add Data Source ] をクリックしてパスを入力します。 パスの詳細については、「 S 3データのパスの定義 」を参照してください。
databases.[n].collections.[n].dataSources.[n].path
JSON構成設定に対応します。任意。 Azure Blog Storage コンテナ内のファイルを検索するときに Data Federation が使用するパーティション フィールドと、 フィールド値の型を指定します。
省略した場合、Data Federation は Azure Blog Storage コンテナのルートからすべてのファイルを再帰的に検索します。 特定のフィールド値のタイプを選択しない場合、Data Federation はすべてのクエリのそのパスに任意の値を追加します。
stores.[n].prefix
とdatabases.[n].collections.[n].dataSources.[n].path
のJSON構成設定に対応します。
仮想データベース、コレクション、ビューを作成し、データベース、コレクション、ビューをデータ ストアにマッピングします。
(任意)クリックのために
データベース名を編集するデータベース。 デフォルトは
VirtualDatabase[n]
です。databases.[n].name
JSON構成設定に対応します。コレクション名を編集するためのコレクション。 デフォルトは
VirtualCollection[n]
です。databases.[n].collections.[n].name
JSON構成設定に対応します。を使用してビュー名を編集します。
次のコマンドをクリックできます。
Add Database : データベースとコレクションを追加します。
データベースにコレクションを追加するために関連付けられています。
コレクションにビューを追加するコレクションに関連付けられている ビューを作成するには、以下を指定する必要があります。
ビューの名前。
ビューに適用するパイプライン。
ビュー定義パイプラインには、
$out
または$merge
ステージを含めることはできません。 ビュー定義に、$lookup
や$facet
などのネストされたパイプライン ステージが含まれている場合、この制限はそれらのネストされたパイプラインにも適用されます。
ビューの詳細については、以下を参照してください。
関連付けられているデータベース、コレクション、またはビューを削除します。
Data SourcesセクションのドロップダウンからAzure Blob Storageを選択します。
データ ストアをドラッグして削除し、コレクションとマッピングします。
databases.[n].collections.[n].dataSources
JSON構成設定に対応します。
Azure Blog Storage データ ストアの構成は次のようになります。
{ "stores" : [ { "name" : "<string>", "provider": "<string>", "region" : "<string>", "serviceURL" : "<string>", "containerName" : "<string>", "delimiter" : "<string>", "prefix": "<string>", "public": <boolean> } ], "databases" : [ { "name" : "<string>", "collections" : [ { "name" : "<string>", "dataSources" : [ { "storeName" : "<string>", "path" : "<string>", "defaultFormat" : "<string>", "provenanceFieldName": "<string>", "omitAttributes": <boolean> } ] } ], "maxWildcardCollections" : <integer>, "views" : [ { "name" : "<string>", "source" : "<string>", "pipeline" : "<string>" } ] } ] }
構成設定の詳細については、「フェデレーティッドデータベースインスタンス用のデータストアの定義 」を参照してください。
Azure Blog Storage データ ストアを定義します。
stores
の UI に表示されるJSON構成設定を編集します。stores
の構成設定は次のようになります。"stores" : [ { "name" : "<string>", "provider" : "<string>", "region" : "<string>", "serviceURL" : "<string>", "containerName" : "<string>", "delimiter": "<string", "prefix" : "<string>", "public": <boolean> } ] これらの構成設定の詳細については、
stores
を参照してください。フェデレーティッドデータベースインスタンスの仮想データベース、コレクション、ビューを定義します。
databases
の UI に表示されるJSON構成設定を編集します。databases
の構成設定は次のようになります。"databases" : [ { "name" : "<string>", "collections" : [ { "name" : "<string>", "dataSources" : [ { "storeName" : "<string>", "defaultFormat" : "<string>", "path" : "<string>", "provenanceFieldName": "<string>", "omitAttributes": <boolean> } ] } ], "maxWildcardCollections" : <integer>, "views" : [ { "name" : "<string>", "source" : "<string>", "pipeline" : "<string>" } ] } ] これらの構成設定の詳細については、
databases
を参照してください。
任意: 上記の Visual エディターまたはJSONエディタータブで手順を繰り返し、追加のAzure Blob ストレージ データ ストアを定義します。
フェデレーティッドクエリの他のデータ ストアを追加するには、次を参照してください。
注意
複数のクラウドプロバイダー間で フェデレーティッドクエリを実行Amazon Web Services するための データストアを作成することはできません。