Docs Menu
Docs Home
/
MongoDB Atlas
/ / /

createStore

項目一覧

  • 構文
  • パラメーター
  • 出力
  • エラーのトラブルシューティング

createStoreコマンドは、フェデレーティッドデータベースインスタンス ストレージ構成にストアを作成します。 データソース用のフェデレーティッドデータベースインスタンス ストアの作成の詳細については、以下のタブをクリックしてください。

このタブには、 Amazon Web Services S3バケットのデータ用にフェデレーティッドデータベースインスタンス ストアを作成するための構文とパラメータが含まれています。

重要

Amazon Web Services S3バケットとAzure Blob ストレージ コンテナの両方にマッピングするフェデレーティッドデータベースインスタンスは作成できません。 Atlas Data Federation は、異なるクラウドプロバイダーにわたるフェデレーティッドクエリをサポートしていません。

このタブには、Azure Blog Storage コンテナ内のデータ用にフェデレーティッドデータベースインスタンス ストアを作成するための構文とパラメータが含まれています。

注意

Azure Blog Storage コンテナとAmazon Web Services S3バケットの両方にマップするフェデレーティッドデータベースインスタンスは作成できません。 Atlas Data Federation は、異なるクラウドプロバイダーにわたるフェデレーティッドクエリをサポートしていません。

このタブには、Atlas クラスター内のデータ用にフェデレーティッドデータベースインスタンス ストアを作成するための構文とパラメーターが含まれています。

このタブには、一般にアクセス可能な URL でホストされているファイル内のデータ用に HTTP フェデレーティッドデータベースインスタンス ストアを作成するための構文とパラメータが含まれています。

注意

プレビュー

HTTP データ ストア のサポートはプレビュー機能として利用できます。 機能および関連するドキュメントは、プレビュー ステージ中にいつでも変更される可能性があります。

このタブには、Atlas Online Archive 用のフェデレーティッドデータベースインスタンス ストアを作成するための構文とパラメーターが含まれています。

db.runCommand({ createStore: <store-name>, provider: <storage-provider>, region: <region-name>, bucket: <bucket-name>, additionalStorageClasses: [ <storage-classes> ], delimiter: <delimiter>, public: true|false })
db.runCommand({ createStore: <store-name>, provider: <storage-provider>, region: <region-name>, serviceURL: <service-account-URL>, containerName: <storage-container-name>, delimiter: <delimiter>, public: true|false })
db.runCommand({ createStore: <store-name>, provider: <storage-provider>, clusterName: <cluster-name>, projectId: <project-id>, readPreference: {mode: <read-preference-mode>, tagSets: [[{name: <name>, value: <value>},...],...], maxStalenessSeconds: <number-of-seconds>}, readConcern: {level: <level>} })
db.runCommand({ createStore: <store-name>, provider: <storage-provider>, allowInsecure: true|false, urls: [ <url> ], defaultFormat: <file-extension> })
db.runCommand({ createStore: <store-name>, provider: "dls:aws", region: <online-archive-region> })
Parameter
タイプ
説明
必須
createStore
string
新しいフェデレーティッドデータベースインスタンス ストアの名前。 フェデレーティッドデータベースインスタンスのストア名は一意である必要があります。
はい
provider
string

データが保存されるサービスの名前。 値は次のいずれかになります。

  • s3Amazon Web Services S3バケット用)。

  • azure Azure Blog ストレージ コンテナ用。

  • atlas Atlas クラスター用。

  • http は、一般にアクセス可能なURLでホストされているファイルの 。

  • dls:<subtype> オンライン アーカイブ用。 Atlas Data Federation は次のサブタイプをサポートしています。

    • aws - Amazon Web Servicesに保存されているデータの場合。 値はdls:awsである必要があります。

    • azure - Azureに保存されているデータの場合。 値はdls:azureである必要があります。

はい
region
string
bucketがホストされているリージョン。 有効なリージョン名のリストについては、「 Amazon Web Services ( Amazon Web Services ) 」を参照してください。
はい
bucket
string
データが保存されるバケットの名前。 構成されたAmazon Web Services IAM 認証情報を提供して、 がアクセスできる S3 バケットの名前と完全に一致する必要があります。Data Federation
はい
additionalStorageClasses
文字列の配列

AWS S3 ストレージクラスの配列。Atlas Data Federation は、これらのストレージ クラスのファイルをクエリ結果に含めます。有効な値は以下のとおりです。

標準ストレージ クラス内のファイルはデフォルトでサポートされています。

no
delimiter
string
フェデレーティッドデータベースインスタンス ストア内のパス セグメントを区切るために使用される文字。 省略した場合、デフォルトは"/"になります。
no
public
ブール値

バケットがパブリックかどうかを示すフラグ。 有効な値は以下のとおりです。

  • true バケットにアクセスするためにAmazon Web Services IAMロールを使用しない

  • false にアクセスするにはAmazon Web Services IAMロールが必要です

省略した場合、デフォルトは false になります。

no
Parameter
タイプ
説明
必須
createStore
string
新しいフェデレーティッドデータベースインスタンス ストアの名前。 フェデレーティッドデータベースインスタンスのストア名は一意である必要があります。
はい
provider
string

データが保存されるサービスの名前。 値は次のいずれかになります。

  • s3Amazon Web Services S3バケット用)。

  • azure Azure Blog ストレージ コンテナ用。

  • atlas Atlas クラスター用。

  • http は、一般にアクセス可能なURLでホストされているファイルの 。

  • dls:<subtype> オンライン アーカイブ用。 Atlas Data Federation は次のサブタイプをサポートしています。

    • aws - Amazon Web Servicesに保存されているデータの場合。 値はdls:awsである必要があります。

    • azure - Azureに保存されているデータの場合。 値はdls:azureである必要があります。

はい
region
string
コンテナがホストされているリージョン。 有効なリージョン名のリストについては、「 Microsoft Azure 」を参照してください。
はい
serviceURL
string

Blob コンテナを含む Azure Blog ストレージ アカウントのURL 。 例:

https://<azure-storage-account-name>.blob.core.windows.net/
はい
containerName
string
Name of the Azure Blob Storage container that contains the files. 詳細については、 Azure ドキュメントの「 コンテナの名前付けと参照 」を参照してください。
はい
delimiter
string
フェデレーティッドデータベースインスタンス ストア内のパス セグメントを区切るために使用される文字。 省略した場合、デフォルトは"/"になります。
no
public
ブール値

Azure Blob Storage コンテナがパブリックかどうかを示すフラグ。 有効な値は以下のとおりです。

  • true バケットにアクセスするためにAzure Service Principal を使用しない

  • false : Azure Service Principal で バケットにアクセスする必要があります。

省略した場合、デフォルトは false になります。

no
Parameter
タイプ
説明
必須
createStore
string
新しいフェデレーティッドデータベースインスタンス ストアの名前。 フェデレーティッドデータベースインスタンスのストア名は一意である必要があります。
はい
provider
string

データが保存されるサービスの名前。 値は次のいずれかになります。

  • s3Amazon Web Services S3バケット用)。

  • azure Azure Blog ストレージ コンテナ用。

  • atlas Atlas クラスター用。

  • http は、一般にアクセス可能なURLでホストされているファイルの 。

  • dls:<subtype> オンライン アーカイブ用。 Atlas Data Federation は次のサブタイプをサポートしています。

    • aws - Amazon Web Servicesに保存されているデータの場合。 値はdls:awsである必要があります。

    • azure - Azureに保存されているデータの場合。 値はdls:azureである必要があります。

はい
clusterName
string
ストアの基となる Atlas クラスターの名前。
はい
projectId
string
Atlas クラスターを含むプロジェクトの一意の識別子。 指定しない場合、Atlas Data Federation では、クラスターがフェデレーティッドデータベースインスタンスと同じプロジェクトにあると想定されます。
no
readPreference
ドキュメント
クラスターの読み込み設定 ( read preference ) では、読み取りリクエストをクラスターにルーティングする方法について説明します。
no
readPreference
.mode
string

読み取りリクエストをルーティングするレプリカセット メンバーを指定する 読み込み設定 ( read preference) モード 値は次のいずれかになります。

  • primary - すべての読み取りリクエストをレプリカセットのプライマリにルーティングします

  • primaryPreferred - primaryが使用できない場合にのみ、すべての読み取りリクエストをレプリカセットのプライマリセカンダリノードにルーティングします

  • secondary - すべての読み取りリクエストをレプリカセットのセカンダリノードにルーティングします

  • secondaryPreferred - secondaryノードが使用できない場合にのみ、すべての読み取りリクエストをレプリカセットのセカンダリノードとシャーディングされたクラスター上のプライマリにルーティングします

  • nearest - メンバーがプライマリであるか、セカンダリであるかに関係なく、すべての読み取りリクエストを、ランダムに選択された適格なレプリカセット メンバーにルーティングします。

no
readPreference
.tagSets
文字列の配列

レプリカセットの名前と値のペアを含む、タグセットまたはタグ仕様ドキュメントの配列。 指定すると、Atlas Data Federation は読み取りリクエストを、指定されたタグに関連付けられているレプリカセット ノードまたはノードにルーティングします。 詳しくは、「読み込み設定(read preference)タグセット 」を参照してください。

Atlas Data Federation は、シャーディングされたクラスターに対してこのパラメーターをサポートしていません。

no
readPreference
.maxStalenessSeconds
整数
セカンダリからの読み取りの最大レプリケーションラグ、または「古い」 maxStalenessSecondsの詳細については、「読み込み設定(read preference) maxStalenessSeconds 」を参照してください。
no
Parameter
タイプ
説明
必須
createStore
string
新しいフェデレーティッドデータベースインスタンス ストアの名前。 フェデレーティッドデータベースインスタンスのストア名は一意である必要があります。
はい
provider
string

データが保存されるサービスの名前。 値は次のいずれかになります。

  • s3Amazon Web Services S3バケット用)。

  • azure Azure Blog ストレージ コンテナ用。

  • atlas Atlas クラスター用。

  • http は、一般にアクセス可能なURLでホストされているファイルの 。

  • dls:<subtype> オンライン アーカイブ用。 Atlas Data Federation は次のサブタイプをサポートしています。

    • aws - Amazon Web Servicesに保存されているデータの場合。 値はdls:awsである必要があります。

    • azure - Azureに保存されているデータの場合。 値はdls:azureである必要があります。

はい
allowInsecure
ブール値

指定されたURLのスキームを検証します。 値は次のいずれかになります。

  • true 安全でないHTTPスキームを許可する

  • false 安全なHTTPSスキームのみを許可します(デフォルト)

true の場合、Atlas Data Federation は次のように動作します。

  • サーバーの証明書チェーンとホスト名を検証しません。

  • サーバーによって提示されたホスト名を持つ任意の証明書を受け入れます。

警告:これをtrueに設定すると、データが中間者攻撃(man-in-the-middle attack)に対して脆弱になり、データの機密性と整合性が損なわれる可能性があります。 Atlas Data Federation のテストと使用を開始する場合のみ、これをtrueに設定します。

省略した場合、デフォルトは false になります。

no
urls
文字列または空の配列の配列
1 つ以上の一般にアクセス可能なURL 。 認証が必要なURLは指定できません。
no
defaultFormat
string

フェデレーティッドデータベースインスタンス ストアのクエリ中に拡張子のないファイルを検出した場合に Atlas Data Federation がデフォルトで設定する形式。 次の値が有効です。

.json, .json.gz, .bson, .bson.gz, .avro, .avro.gz, .orc, .tsv, .tsv.gz, .csv, .csv.gz, .parquet

省略した場合、Atlas Data Federation はファイルの数バイトを処理することでファイル タイプの検出を試みます。

含まれている場合、指定された形式はストア内のURLにのみ適用されます。

no
Parameter
タイプ
説明
必須
createStore
string
新しいフェデレーティッドデータベースインスタンス ストアの名前。 フェデレーティッドデータベースインスタンスのストア名は一意である必要があります。
はい
provider
string

データが保存されるサービスの名前。 値は次のいずれかになります。

  • s3Amazon Web Services S3バケット用)。

  • azure Azure Blog ストレージ コンテナ用。

  • atlas Atlas クラスター用。

  • http は、一般にアクセス可能なURLでホストされているファイルの 。

  • dls:<subtype> オンライン アーカイブ用。 Atlas Data Federation は次のサブタイプをサポートしています。

    • aws - Amazon Web Servicesに保存されているデータの場合。 値はdls:awsである必要があります。

    • azure - Azureに保存されているデータの場合。 値はdls:azureである必要があります。

はい
region
string
オンライン アーカイブのリージョン。 異なるリージョンに複数のアーカイブがある場合は、各リージョンのストアを追加して、そのリージョンのデータをフェデレーティッドデータベースインスタンス内の仮想データベースとコレクションにマッピングする必要があります。
はい

コマンドは成功した場合、次の出力を印刷します。 コマンドが失敗した場合、推奨される解決策については「 エラーのトラブルシューティング 」を参照してください。

{
"ok": 1,
"store": {
"name": "<store-name>",
"region": "<region-name>",
"bucket": "<bucket-name>",
"additionalStorageClasses": ["<storage-classes>"]
"delimiter": "<delimiter>",
"provider": "<storage-provider>"
}
}
{
"ok": 1,
"store": {
"name": "<store-name>",
"region": "<region-name>",
"serviceURL": "<service-account-URL>",
"containerName": "<storage-container-name>"
"delimiter": "<delimiter>",
"provider": "<storage-provider>"
}
}
{
"ok" : 1,
"store" : {
"name" : "<store-name>",
"provider" : "<storage-provider>",
"clusterName" : "<cluster-name>",
"projectId" : "<project-id>",
"readPreference" : {
"mode" : "<read-preference-mode>",
"tagSets" : [[{"name": "<name>", "value": "<value>"},...],...],
"maxStalenessSeconds" : <number-of-seconds>
}
}
}
{
"ok" : 1,
"store" : {
"name" : "<store-name>",
"provider" : "<storage-provider>",
"allowInsecure" : true|false,
"urls" : [
"<url>"
],
"defaultFormat: "<file-extension>"
}
}
{
ok: 1,
store: {
name: '<store-name>',
provider: 'dls:aws',
region: '<online-archive-region>'
}
}

次の例では、createStore myStoreコマンドを使用して、 という新しいフェデレーティッドデータベースインスタンス ストアを作成します。

use sample
db.runCommand({ createStore: "myStore", provider: "s3", region: "us-east-1", bucket: "my-bucket", "additionalStorageClasses" : ["STANDARD_IA","INTELLIGENT_TIERING"] })
{
"ok": 1,
"store": {
"name": "myStore",
"region": "us-east-1",
"bucket": "my-bucket",
"additionalStorageClasses" : [
"STANDARD_IA",
"INTELLIGENT_TIERING"
],
"delimiter": "/",
"provider": "s3"
}
}
use sample
db.runCommand({ createStore: "myStore", provider: "azure", region: "eastus2", serviceURL: "https://mystorage.blob.core.windows.net/", "containerName" : "my-data-container" })
{
"ok": 1,
"store": {
"name": "myStore",
"region": "eastus2",
"serviceURL": "https://mystorage.blob.core.windows.net/",
"containerName" : "my-data-container",
"delimiter": "/",
"provider": "azure"
}
}
use sample
db.runCommand({ createStore: "myStore", provider: "atlas", clusterName: "myTestCluster", projectId: "<project-id>", "readPreference": {"mode": "secondary", "tagSets": [[{"name": "provider", "value": "AWS" }, {"name": "region", "value": "US_EAST_1"}]], "maxStalenessSeconds": 120} })
{
"ok" : 1,
"store" : {
"name" : "myStore",
"provider" : "atlas",
"clusterName" : "myTestCluster",
"projectId" : "<project-id>",
"readPreference" : {
"mode" : "secondary",
"tagSets": [[{"name": "provider", "value": "AWS" }, {"name": "region", "value": "US_EAST_1"}]],
"maxStalenessSeconds" : 120
}
}
}
use sample
db.runCommand({ createStore: "myStore", provider: "http", urls: ["https://atlas-data-lake.s3.amazonaws.com/json/sample_airbnb/listingsAndReviews","http://example.mongodb.com/sampleData"], allowInsecure: true, defaultFormat: ".json" })
{
"ok" : 1,
"store" : {
"name" : "http-store",
"provider" : "http",
"urls" : [
"https://atlas-data-lake.s3.amazonaws.com/json/sample_airbnb/listingsAndReviews",
"http://example.mongodb.com/sampleData"
],
"defaultFormat" : ".json"
"allowInsecure" : true
}
}
use sample
db.runCommand({ createStore: "myStore", provider: "dls:aws", region: "us-east-1" })
{
ok: 1,
store: {
name: 'myStore',
provider: 'dls:aws',
region: 'us-east-1'
}
}

コマンドが失敗した場合は、次のいずれかのエラーが返されます。

理由: createStoreで指定された名前のフェデレーティッドデータベースインスタンス ストアはすでに存在します。

{
"ok": 0,
"errmsg": "store <store-name> already exists",
"code": 2,
"codeName": "BadValue"
}

解決法:フェデレーティッドデータベースインスタンス ストアの一意の名前を指定します。

理由:指定されたproviderは認識されません。

{
"ok": 0,
"errmsg": "unrecognized store provider <storage-provider>",
"code": 2,
"codeName": "BadValue"
}

解決策:有効なストレージプロバイダーを指定していることを確認します。

理由: 1 つ以上の指定されたURLに安全でないHTTPスキームが含まれています。

{
"ok" : 0,
"errmsg" : "store 'httpStore': the insecure HTTP scheme is not supported by default - please add a 'allowInsecure: true' flag to the store or datasource to query from such URLs, correlationID = 16332c6eddf7b32776fde638",
"code" : 72,
"codeName" : "InvalidOptions"
}

解決策: 安全な HTTPS スキームを使用して URL を指定します。指定されたURLHTTPスキームが安全でない場合は、 allowInsecureフラグをtrueに設定します。 allowInsecureフラグをtrueに設定すると、データは中間者攻撃(man-in-the-middle attack)に対して脆弱なままになることに注意してください。

戻る

構成を管理する