Docs Menu
Docs Home
/ /
Atlas App Services
/ /

拡張を含むテンプレート構成の作成

項目一覧

  • Define a Template
  • 環境値を定義する
  • 展開置換の定義
  • 環境を指定する
  • 新しいテンプレート アプリの作成
  • 開発ワークフロー

Atlas App Services は、%() 構成ファイル 内の%%environment のように JSON 展開を動的に解決する置換演算子( をサポートしています。展開を含む構成ファイル( App Services CLIまたはGithubを通じて)を使用して新しいアプリを作成すると、App Services は展開を自動的に解決し、解決された構成ファイルを使用してアプリを作成します。

置換演算子を使用する構成ファイルはテンプレートです。 テンプレートからアプリを作成すると、そのアプリは、アプリが作成された時点で解決された値を反映する構成ファイルのコピーを使用します。 同じテンプレートを使用して、異なる構成を持つ複数のアプリを作成できます。

重要

置換演算子は現在、string 値を持つ構成フィールドでのみサポートされています。 ブール値、数値、オブジェクト、または配列値には展開を使用できません。

たとえば、 展開を使用してclusterNameフィールドをテンプレート化できます。

有効なテンプレート データソースの構成
{
"name": "mongodb-atlas",
"type": "mongodb-atlas",
"config": {
"clusterName": "%(%%environment.values.clusterName)",
"readPreference": "primaryPreferred",
"wireProtocolEnabled": false
}
}

ただし、 wireProtocolEnabledフィールドはブール値であるため、展開を使用してテンプレートを使用することはできません。

無効なテンプレート データソース構成
{
"name": "mongodb-atlas",
"type": "mongodb-atlas",
"config": {
"clusterName": "Cluster0",
"readPreference": "primaryPreferred",
"wireProtocolEnabled": %(%%environment.values.wireProtocolEnabled)
}
}
1

展開を使用して任意の環境をテンプレート化できます。 使用する環境ごとに、構成ファイルで参照する値を定義します。

次の環境では、異なる MongoDB Atlas クラスター名が構成されます。

environments/development.json
{
"values": {
"clusterName": "atlas-development"
}
}
environments/production.json
{
"values": {
"clusterName": "atlas-production"
}
}
2

%()置換演算子と%%environment展開を使用して、構成ファイルから任意の環境値を参照できます。 テンプレートを作成する構成ファイルごとに、展開を定義します。

mongodb-atlasデータソースの次のテンプレート構成ファイルは、展開を使用して環境に基づいてclusterNameを動的に解決します。

data_sources/mongodb-atlas/config.json
{
"name": "mongodb-atlas",
"type": "mongodb-atlas",
"config": {
"clusterName": "%(%%environment.values.clusterName)",
"readPreference": "primaryPreferred",
"wireProtocolEnabled": true
}
}
3

アプリを配置する環境を選択し、その環境名でアプリ構成を更新します。

root_config.json
{
"name": "MyApp",
"environment": "development",
"deployment_model": "LOCAL",
"location": "aws-us-east-1"
}

Tip

環境を指定しない場合、 %%environment展開はenvironments/no-environment.jsonの値に解決されます。

4

テンプレート化された構成ファイルを使用して、選択した環境に新しいアプリを作成できるようになりました。

Atlas App Services はテンプレート構成を使用して、インポート時に新しく解決された構成ファイルを生成します。

appservices push
data_sources/mongodb-atlas/config.json
{
"name": "mongodb-atlas",
"type": "mongodb-atlas",
"config": {
"clusterName": "atlas-development",
"readPreference": "primaryPreferred",
"wireProtocolEnabled": true
}
}

どのアプリでも構成展開を使用できますが、最も有用なケースは、 Githubのような外部バージョン管理システムに保存されているソースコード ファイルを使用して本番アプリケーションを開発するチームです。 機能を開発したり変更をテストしたりするために、独立したアプリを作成し、拡張機能を使用して環境に基づいてアプリをカスタマイズできます。

  1. 環境がdevelopmentに設定されている共通のテンプレートのコピーを作成します。 Github を使用している場合は、 Githubに新しいブランチを作成し、ローカル コピーをチェックアウトします。

  2. 変更を加え、開発アプリに対してローカルでテストします。 アプリに加えた変更は本番アプリには影響しませんが、代替手段を設定しない限り、本番環境のデータソースとサービスの読み取りとサービスの読み取りと書き込みは引き続き可能です。

  3. 変更をコミットし、本番環境にマージします。 変更を検証して本番ブランチにマージするために、 test環境にアプリを作成することもできます。

  4. 変更がマージされたら、開発アプリを安全に削除し、関連する他のサービスをクリーンアップできます。

戻る

Values