メインコンテンツまでスキップ
バージョン: 2.1

Azure Cosmos DB データ ソース

概要

Azure Cosmos DB は、グローバルに分散されたデータに低遅延でアクセスできる Azure 上のフルマネージド データベース サービスです。このトピックでは、Reveal アプリケーションで Azure Cosmos DB データ ソースに接続して、データを視覚化および分析する方法について説明します。

サーバーの構成

インストール

手順 1 - Reveal Azure Cosmos DB コネクタ パッケージをインストールします。

ASP.NET アプリケーションの場合、Azure Cosmos DB サポートを有効にするには、別の NuGet パッケージをインストールする必要があります。

dotnet add package Reveal.Sdk.Data.AzureCosmosDB

手順 2 - アプリケーションに Azure Cosmos DB データ ソースを登録します。

builder.Services.AddControllers().AddReveal( builder =>
{
builder.DataSources.RegisterAzureCosmosDB();
});

接続の構成

// Create a data source provider
public class DataSourceProvider : IRVDataSourceProvider
{
public async Task<RVDataSourceItem> ChangeDataSourceItemAsync(IRVUserContext userContext, string dashboardId,
RVDataSourceItem dataSourceItem)
{
// Required: Update the underlying data source
await ChangeDataSourceAsync(userContext, dataSourceItem.DataSource);

if (dataSourceItem is RVAzureCosmosDBDataSourceItem cosmosItem)
{
// Configure specific item properties if needed
if (cosmosItem.Id == "azure_cosmos_orders")
{
cosmosItem.Container = "orders";
}
}

return dataSourceItem;
}

public Task<RVDashboardDataSource> ChangeDataSourceAsync(IRVUserContext userContext,
RVDashboardDataSource dataSource)
{
if (dataSource is RVAzureCosmosDBDataSource cosmosDataSource)
{
// Configure connection properties
cosmosDataSource.AccountEndpoint = "https://your-account.documents.azure.com:443/";
cosmosDataSource.Database = "Sales";
cosmosDataSource.ApplicationRegion = "East US";
cosmosDataSource.ConnectionMode = "Gateway";
cosmosDataSource.AcceptAnyServerCertificate = false;
}

return Task.FromResult(dataSource);
}
}
重要

ChangeDataSourceAsync メソッドでデータ ソースに加えた変更は、ChangeDataSourceItemAsync メソッドには引き継がれません。両方のメソッドでデータ ソース プロパティを更新する必要があります。上記の例に示すように、ChangeDataSourceItemAsync メソッド内で、データ ソース項目の基になるデータ ソースをパラメーターとして渡して ChangeDataSourceAsync メソッドを呼び出すことをお勧めします。

認証

Azure Cosmos DB の認証は、RVKeyPairDataSourceCredential を使用してサーバー側で処理されます。Azure Cosmos DB では、資格情報の key がアカウント キーに対応します。認証オプションの詳細については、認証 トピックを参照してください。

public class AuthenticationProvider: IRVAuthenticationProvider
{
public Task<IRVDataSourceCredential> ResolveCredentialsAsync(IRVUserContext userContext, RVDashboardDataSource dataSource)
{
IRVDataSourceCredential userCredential = null;
if (dataSource is RVAzureCosmosDBDataSource)
{
// Use account key
userCredential = new RVKeyPairDataSourceCredential(null, "your_account_key");
}
return Task.FromResult<IRVDataSourceCredential>(userCredential);
}
}

クライアント側の実装

クライアント側では、データ ソースの ID、タイトル、サブタイトルなどの基本プロパティのみを指定する必要があります。実際の接続構成はサーバー上で行われます。

データ ソースの作成

手順 1 - RevealView.onDataSourcesRequested イベントのイベント ハンドラーを追加します。

const revealView = new RevealView("#revealView");
revealView.onDataSourcesRequested = (callback) => {
// Add data source here
callback(new RevealDataSources([], [], false));
};

手順 2 - RevealView.onDataSourcesRequested イベント ハンドラーで、RVAzureCosmosDBDataSource オブジェクトの新しいインスタンスを作成します。titlesubtitle プロパティを設定します。RVAzureCosmosDBDataSource オブジェクトを作成したら、それをデータ ソース コレクションに追加します。

revealView.onDataSourcesRequested = (callback) => {
// Create the data source
const cosmosDS = new RVAzureCosmosDBDataSource();
cosmosDS.title = "My Azure Cosmos DB Datasource";
cosmosDS.subtitle = "Azure Cosmos DB";

callback(new RevealDataSources([cosmosDS], [], false));
};

アプリケーションが実行されたら、新しい可視化を作成すると、新しく作成された Azure Cosmos DB データ ソースが [データ ソースの選択] ダイアログに表示されます。

データ ソース項目の作成

データ ソース項目は、ユーザーが視覚化のために選択できる Azure Cosmos DB データ ソース内の特定のデータセットを表します。クライアント側では、ID、タイトル、サブタイトルのみを指定する必要があります。

revealView.onDataSourcesRequested = (callback) => {
// Create the data source
const cosmosDS = new RVAzureCosmosDBDataSource();
cosmosDS.title = "My Azure Cosmos DB Datasource";
cosmosDS.subtitle = "Azure Cosmos DB";

// Create a data source item
const cosmosDSI = new RVAzureCosmosDBDataSourceItem(cosmosDS);
cosmosDSI.title = "My Azure Cosmos DB Datasource Item";
cosmosDSI.subtitle = "Azure Cosmos DB";

callback(new RevealDataSources([cosmosDS], [cosmosDSI], false));
};

アプリケーションが実行されたら、新しい可視化を作成すると、新しく作成された Azure Cosmos DB データ ソース項目が [データ ソースの選択] ダイアログに表示されます。

その他のリソース

API リファレンス