Docs Menu
Docs Home
/ /

埋め込み SDK を使い始める

埋め込み SDKを使用してチャートやダッシュボードをウェブ アプリケーションに埋め込むと、設定とレンダリングをより柔軟に調整できるようになります。

1

Dashboardsページから、埋め込み可能にするチャートを含むダッシュボードを選択します。ダッシュボードに移動する手順については、「ダッシュボード」を参照してください。

2

ダッシュボードから次をクリックします:埋め込み情報にアクセスするには、チャートの右上にある を参照してください。 ドロップダウン メニューからEmbed chartを選択します。

注意

埋め込みが有効になっているダッシュボード上のグラフは、 Embed Chartオプションが自動的に有効になります。 したがって、埋め込みが有効になっている ダッシュボード内のグラフに対してEmbed chartオプションを選択することはできません。

3

このチャートが使用するデータソースで外部共有をすでに有効にしている場合は、この手順をスキップします。 データソースへの埋め込みをまだ有効にしていない場合は、これで有効にできます。 Configure external sharingリンクをクリックします。

4
埋め込み非認証チャート
クリックして拡大します
5
6

チャート ビューアがデータをフィルタリングできるフィールドを指定します。 デフォルトでは、フィールドは指定されていません。つまり、少なくとも 1 つのフィールドを明示的に許可するまでチャートをフィルタリングできません。

または、 Allow all fields in the data source used in this chartを選択して、グラフ内のすべてのフィールドを指定することもできます。

フィルタ可能なフィールドの詳細については、「 フィルタ可能なフィールドの指定 」を参照してください。

7
8

Web アプリケーション コードでは、Charts base URL と Charts ID の値が必要です。

1

Dashboardsページから、埋め込むチャートを含むダッシュボードを選択します。ダッシュボードに移動する手順については、「ダッシュボード」を参照してください。

2

ダッシュボードから次をクリックします:埋め込み情報にアクセスするには、チャートの右上にある を参照してください。 ドロップダウン メニューからEmbed chartを選択します。

注意

埋め込みが有効になっているダッシュボード上のグラフは、 Embed Chartオプションが自動的に有効になります。 したがって、埋め込みが有効になっている ダッシュボード内のグラフに対してEmbed chartオプションを選択することはできません。

3

このチャートが使用するデータソースで外部共有をすでに有効にしている場合は、この手順をスキップします。 データソースへの埋め込みをまだ有効にしていない場合は、これで有効にできます。 Configure external sharingリンクをクリックします。

4
埋め込み認証チャート
クリックして拡大します
5
6

チャートを表示する各ユーザーに対して MongoDB フィルター ドキュメントを挿入する関数を指定できます。 これは、ユーザー固有のグラフをレンダリングするのに便利です。

次のフィルター関数は、ドキュメントの ownerIdフィールドが埋め込み認証プロバイダのトークンのsubフィールドの値と一致するデータのみをレンダリングします。

function getFilter(context) {
return { ownerId: context.token.sub };
}

Tip

ユーザーごとにフィルターを挿入する方法の詳細については、「ユーザー固有のフィルターを挿入 」を参照してください。

7

チャート ビューアがデータをフィルタリングできるフィールドを指定します。 デフォルトでは、フィールドは指定されていません。つまり、少なくとも 1 つのフィールドを明示的に許可するまでチャートをフィルタリングできません。

Tip

フィルタ可能なフィールドの詳細については、「 フィルタ可能なフィールドの指定 」を参照してください。

8

これらの値をアプリケーション コードで 埋め込み認証プロバイダの属性 とともに使用して、チャートを埋め込みます。

1

Atlas Charts がまだ表示されていない場合は、Atlas UIのサイドバーにある Services 見出しの下の Visualization をクリックします。

Atlas がプロジェクトにリンクされた Charts のインスタンスを起動します。

2

Visualization サイドバーの Services 見出しの下にある Embedded Visualizations をクリックします。

[ 埋め込み可視化] ページが表示されます。

3

注意

Authentication Settingsページにアクセスするには、プロジェクト オーナーである必要があります。 管理者以外のユーザーでも埋め込みチャートは引き続き使用できますが、プロジェクト オーナーからキーを取得する必要があります。

[Authentication Settings] タブをクリックします。

[ Authentication Settings(認証設定) ] タブが表示されます。

4
  1. Authentication providersセクションから [ Add ] をクリックします。

  2. Nameフィールドに、プロバイダーのわかりやすい名前を入力します。

  3. Providerリストから、追加するプロバイダーのタイプを選択します。

  4. プロバイダーからのトークンを検証するために Charts を設定します。

    入力する必要がある値は、選択したプロバイダーによって異なります。

    • Google

      Client IDフィールドに、アプリケーションの Google APIクライアントIDを次の形式で入力します。

      <prefix>.apps.googleusercontent.com
    • カスタム JWT

      次の値を指定します。

      フィールド

      署名アルゴリズム

      JSON web トークン署名がエンコードされる暗号化アルゴリズム。

      次のいずれかである必要があります。

      署名キー

      JSON web token署名を検証するために使用される秘密キーまたはキー。 トークンが署名されていない場合、Charts はそれらを無効と見なします。 誤ったキーを指定すると、Charts はトークン署名を検証できず、それらが無効であると見なします。

      指定する必要がある値は、 Signing Algorithmによって異なります。

      • HS256: JSON web tokenの署名に使用した秘密キーを入力します。

      • RS256: JWK or JWKS URLまたはPEM Public Keyのいずれかを選択します。

        JWK or JWKS URL を選択すると、Charts は指定されたURLの JWK または JWKSファイルからキーを検索します。次に、Charts はそのキーを使用してJSON web token を検証します。ファイルに複数のキーがある場合、Charts は一致するまで各キーを試行します。JWK または JWKSファイルを含むURLを入力します。

        PEM Public Key を選択した場合、Charts は指定された公開キーを使用してJSON web トークンを検証します。 JSON web token の署名に使用されたキーペアの公開キーを入力します。次の例に示すように、公開キーはPEM形式である必要があります。

        -----BEGIN CERTIFICATE-----
        MIIDfjCCAmagAwIBAgIBBzANBgkqhkiG9w0BAQUFADB0MRcwFQYDVQQDEw5LZXJu
        ZWwgVGVzdCBDQTEPMA0GA1UECxMGS2VybmVsMRAwDgYDVQQKEwdNb25nb0RCMRYw
        FAYDVQQHEw1OZXcgWW9yayBDaXR5MREwDwYDVQQIEwhOZXcgWW9yazELMAkGA1UE
        BhMCVVMwHhcNMTQwNzE3MTYwMDAwWhcNMjAwNzE3MTYwMDAwWjBsMQ8wDQYDVQQD
        EwZzZXJ2ZXIxDzANBgNVBAsTBktlcm5lbDEQMA4GA1UEChMHTW9uZ29EQjEWMBQG
        A1UEBxMNTmV3IFlvcmsgQ2l0eTERMA8GA1UECBMITmV3IFlvcmsxCzAJBgNVBAYT
        AlVTMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp76KJeDczBqjSPJj
        5f8DHdtrWpQDK9AWNDlslWpi6+pL8hMqwbX0D7hC2r3kAgccMyFoNIudPqIXfXVd
        1LOh6vyY+jveRvqjKW/UZVzZeiL4Gy4bhke6R8JRC3O5aMKIAbaiQUAI1Nd8LxIt
        LGvH+ia/DFza1whgB8ym/uzVQB6igOifJ1qHWJbTtIhDKaW8gvjOhv5R3jzjfLEb
        R9r5Q0ZyE0lrO27kTkqgBnHKPmu54GSzU/r0HM3B+Sc/6UN+xNhNbuR+LZ+EvJHm
        r4de8jhW8wivmjTIvte33jlLibQ5nYIHrlpDLEwlzvDGaIio+OfWcgs2WuPk98MU
        tht0IQIDAQABoyMwITAfBgNVHREEGDAWgglsb2NhbGhvc3SCCTEyNy4wLjAuMTAN
        BgkqhkiG9w0BAQUFAAOCAQEANoYxvVFsIol09BQA0fwryAye/Z4dYItvKhmwB9VS
        t99DsmJcyx0P5meB3Ed8SnwkD0NGCm5TkUY/YLacPP9uJ4SkbPkNZ1fRISyShCCn
        SGgQUJWHbCbcIEj+vssFb91c5RFJbvnenDkQokRvD2VJWspwioeLzuwtARUoMH3Y
        qg0k0Mn7Bx1bW1Y6xQJHeVlnZtzxfeueoFO55ZRkZ0ceAD/q7q1ohTXi0vMydYgu
        1CB6VkDuibGlv56NdjbttPJm2iQoPaez8tZGpBo76N/Z1ydan0ow2pVjDXVOR84Y
        2HSZgbHOGBiycNw2W3vfw7uK0OmiPRTFpJCmewDjYwZ/6w==
        -----END CERTIFICATE-----

      オーディエンス(任意

      Charts が有効と見なすためにJSON web token に存在する必要があるオーディエンス クレーム。

  5. [Save] をクリックします。

2

ダッシュボードから次をクリックします:埋め込み情報にアクセスするには、ダッシュボードの右上にある を参照してください。 ドロップダウン メニューからEmbedを選択します。

3

このダッシュボードが使用するデータソースですでに外部共有を有効にしている場合は、この手順をスキップします。 データソースへの埋め込みをまだ有効にしていない場合は、これで有効にできます。 Configureリンクをクリックします。

4
5
6

ダッシュボード ビューアがデータをフィルタリングできるフィールドを指定します。 デフォルトでは、フィールドは指定されていません。つまり、少なくとも 1 つのフィールドを明示的に許可するまで、ダッシュボードをフィルタリングできません。

または、 Allow all fields in the data source used in this dashboardを選択して、ダッシュボード内のすべてのフィールドを指定することもできます。

フィルタ可能なフィールドの詳細については、「 フィルタ可能なフィールドの指定 」を参照してください。

7
8
9
2

ダッシュボードから次をクリックします:埋め込み情報にアクセスするには、ダッシュボードの右上にある を参照してください。 ドロップダウン メニューからEmbedを選択します。

3

このダッシュボードが使用するデータソースですでに外部共有を有効にしている場合は、この手順をスキップします。 データソースへの埋め込みをまだ有効にしていない場合は、これで有効にできます。 Configureリンクをクリックします。

4
5
6

すでに認証プロバイダを設定している場合は、この手順をスキップします。 認証プロバイダをまだ設定していない場合は、ここで設定できます。

詳細については、「埋め込み認証プロバイダの構成 」を参照してください。

  1. [Add] をクリックします。

  2. 認証統合の名前を指定します。

  3. プロバイダーを選択し、プロバイダー設定を指定します。

  4. [Save] をクリックします。

  5. [Back to Embed Dashboard] をクリックします。

7

ダッシュボードを表示する各ユーザーに対して MongoDB フィルター ドキュメントを挿入する関数を指定できます。 これは、ユーザー固有のダッシュボードをレンダリングするのに役立ちます。

次のフィルター関数は、ドキュメントのownerIdフィールドが埋め込み認証プロバイダのトークンのsubフィールドの値と一致するデータのみをレンダリングします。

function getFilter(context) {
return { ownerId: context.token.sub };
}

Tip

ユーザーごとにフィルターを挿入する方法の詳細については、「ユーザー固有のフィルターを挿入 」を参照してください。

8

ダッシュボード ビューアがデータをフィルタリングできるフィールドを指定します。 デフォルトでは、フィールドは指定されていません。つまり、少なくとも 1 つのフィールドを明示的に許可するまで、ダッシュボードをフィルタリングできません。

または、 Allow all fields in the data source used in this dashboardを選択して、ダッシュボード内のすべてのフィールドを指定することもできます。

フィルタ可能なフィールドの詳細については、「 フィルタ可能なフィールドの指定 」を参照してください。

9
10

チャートを表示する新しいアプリを作成するには、残りの手順に進みます。

注意

MongoDB は、埋め込み SDK を使用して非認証の埋め込みチャートを表示する方法を示す事前構築済みの例アプリをGithubリポジトリに提供しています。

チャートを表示する新しいアプリを作成するには、残りの手順に進みます。

注意

MongoDB は、埋め込み SDK を使用して認証プロバイダチャートを認証する方法を示す事前構築済みの例をGithubリポジトリに提供しています。

ダッシュボードを表示する新しいアプリを作成するには、残りの手順に進みます。

注意

MongoDB は、 Githubリポジトリ で非認証の埋め込みダッシュボードの事前構築例を提供しています。この例では、埋め込み SDK を使用して非認証の埋め込みダッシュボードを表示する方法を示します。

ダッシュボードを表示する新しいアプリを作成するには、残りの手順に進みます。

注意

MongoDB は、 Githubリポジトリ に認証された埋め込みダッシュボードの例を提供します。これらの例では、埋め込み SDK を使用して、Google またはJSONウェブ トークン認証プロバイダーを使用して埋め込みダッシュボードを認証する方法を示します。

アプリに埋め込み SDK をインストールする方法については、「埋め込み SDK のインストール 」を参照してください。

次のコードをウェブアプリに追加して、チャートをレンダリングする場所を実行します。

注意

既存の Charts base URL とチャート ID を、表示するチャートの値に置き換えます。 Charts ベース URL とチャート ID は、埋め込みオプション モーダル ウィンドウに表示されます。

import ChartsEmbedSDK from "@mongodb-js/charts-embed-dom";
const sdk = new ChartsEmbedSDK({
baseUrl: "https://charts.mongodb.com/charts-embedding-examples-wgffp", // ~REPLACE~ with the Base URL from your Embed Chart dialog.
});
const chart = sdk.createChart({
chartId: "735cfa75-15b8-483a-bc2e-7c6659511c7c", // ~REPLACE~ with the Chart ID from your Embed Chart dialog.
height: "700px",
// Additional options go here
});
chart.render(document.getElementById("chart"));

次のコードをウェブアプリに追加して、チャートをレンダリングする場所を実行します。次の例では、Google トークンで認証しています。

import ChartsEmbedSDK from "@mongodb-js/charts-embed-dom";
const id_token = googleUser.getAuthResponse().id_token;
const ChartsEmbedSDK = window.ChartsEmbedSDK;
const sdk = new ChartsEmbedSDK({
baseUrl: "https://charts.mongodb.com/charts-embedding-examples-wgffp", // Optional: replace with your Charts URL
getUserToken: () => id_token,
});
const chart = sdk.createChart({
chartId: "8d4dff93-e7ca-4ccd-a622-e20e8a100197", // Optional: replace with your Chart ID
});
document.body.classList.toggle("logged-in", true);
chart.render(document.getElementById("chart"));

次のコードをウェブアプリに追加して、ダッシュボードをレンダリングする場所を実行します。

注意

既存のDashboards Base URLと ダッシュボード ID を、表示するダッシュボードの値に置き換えます。 Dashboards Base URLと ダッシュボード ID は埋め込みオプション モーダル ウィンドウに表示されます。

import ChartsEmbedSDK from "@mongodb-js/charts-embed-dom";
const sdk = new ChartsEmbedSDK({
baseUrl: "https://charts.mongodb.com/charts-embedding-examples-wgffp", // ~REPLACE~ with the Base URL from your Embed Dashboard dialog.
});
const dashboard = sdk.createDashboard({
dashboardId: "735cfa75-15b8-483a-bc2e-7c6659511c7c", // ~REPLACE~ with the Dashboard ID from your Embed Dashboard dialog.
height: "700px",
widthMode: "scale",
heightMode: "fixed"
// Additional options go here
});
dashboard.render(document.getElementById("dashboard"));

次のコードをウェブアプリに追加して、ダッシュボードをレンダリングする場所で実行します。次の例では、Google トークンで認証しています。

import ChartsEmbedSDK from "@mongodb-js/charts-embed-dom";
const id_token = googleUser.getAuthResponse().id_token;
const ChartsEmbedSDK = window.ChartsEmbedSDK;
const sdk = new ChartsEmbedSDK({
baseUrl: "https://charts.mongodb.com/charts-embedding-examples-wgffp", // Optional: ~REPLACE~ with your Base URL
getUserToken: () => id_token,
});
// Read https://dochub.mongodb.org/core/charts-dashboards-embedded-dashboard-options for more options
const dashboard = sdk.createDashboard({
// Optional: ~REPLACE~ with your Dashboard ID
dashboardId: "620c9847-fc5c-4199-865d-27b2ae20db07",
theme: "dark",
widthMode: "scale",
});
document.body.classList.toggle("logged-in", true);
dashboard.render(document.getElementById("dashboard"));

戻る

埋め込み SDK

項目一覧