Docs Menu
Docs Home
/ /
Atlas App Services
/

アプリをエクスポートする

項目一覧

  • Overview
  • 始める前に
  • 手順
  • 出力

アプリの構成ファイルをエクスポートすることで、そのディレクトリをダウンロードできます。 これにより、アプリの構成をソース管理に保存し、App Services CLI や希望のテキスト エディターをローカルで操作できるようになります。

エクスポートされたディレクトリには、データソース、関数、trigger、その他のサービスなど、アプリのほとんどのコンポーネントの構成ファイルが含まれます。 エクスポートされるアプリの内容の詳細については、「アプリ構成 」を参照してください。

エクスポートにはシークレットは含まれません。 エクスポートされた構成ファイルに基づいて新しいアプリを作成する場合は、新しいアプリに シークレット を手動で追加する必要があります。 詳しくは、「アプリをコピーする 」を参照してください。

Atlas UI でアプリをエクスポートするには、次のものが必要です。

  • プロジェクト所有者の権限を持つ MongoDB Atlas アカウント。 無料アカウントの登録方法については、「 Atlasを使い始める 」を参照してください。

CLI でアプリをエクスポートするには、次のものが必要です。

  • プロジェクト所有者の権限を持つ MongoDB Atlas アカウント。 無料アカウントのサインアップ方法については、「 Atlas の使用 」を参照してください。

  • MongoDB Atlas Admin APIの公開キーと秘密キーのペア。 App Services Admin API を操作するには、API キーにプロジェクト オーナーの権限が必要です。

  • ローカル システム PATHにインストールおよび追加された App Services CLI のコピー。 詳しくは、「 App Services CLI のインストール 」を参照してください。

  • アプリのクライアント アプリ ID。 これは、アプリ名を含む一意の string です。例: "myapp-abcde" 。 アプリ ID を見つける方法については、 「 アプリのメタデータを取得する 」を参照してください。

Admin API を使用してアプリをエクスポートするには、次のものが必要です。

1

Atlas UI で、[ App Servicesタブをクリックします。 次に、エクスポートするアプリのタイルをクリックします。

2

左側のナビゲーションで [Deployment] をクリックします。

ここからアプリをエクスポートするには、次の 2 つの方法があります。

  • アプリの現在の構成をエクスポートするには、次をクリックします:
    Export App タブをクリックし、[ Export App ] ボタンをクリックします。
  • 以前のバージョンからアプリの構成をエクスポートするには

    配置で、[ History ] タブをクリックして、エクスポートする配置を見つけます。

    配置を見つけたら、行の最後にある [ Export ] ボタンをクリックします。

1

MongoDB Atlas Admin API キーを使用して CLI にログインします。

appservices login --api-key="<my api key>" --private-api-key="<my private api key>"
2

pullコマンドは、アプリケーションの構成ファイルをローカル ディレクトリにダウンロードします。 エクスポートするアプリを選択するには、 --remoteフラグでクライアント アプリ ID を指定します。

appservices pull --remote=<Client App ID>

デフォルトでは、コマンドは現在の作業ディレクトリにファイルをプルします。 代わりに、 --localフラグでディレクトリ パスを指定することで、コマンドが新しいディレクトリを作成するように構成できます。

appservices pull --remote=<App ID> --local=<Output Directory Path>

Tip

--localで指定されるディレクトリはまだ存在してはなりません。そうでない場合、CLI はエラーをスローし、構成ファイルをプルしません。

コマンドは、アプリをカスタマイズするために任意で含めることができる追加のフラグもサポートしています。 次の表は、使用できる一般的なフラグを示しています。

--include-dependencies
指定すると、外部依存関係は/functionsディレクトリにnode_modulesアーカイブとしてエクスポートされます。
--include-hosting
指定すると、ホストされている静的アセットは/hosting/filesディレクトリにエクスポートされます。
1

MongoDB Atlas API キー ペアを使用して、管理ユーザー認証エンドポイントを呼び出します。

curl -X POST \
https://services.cloud.mongodb.com/api/admin/v3.0/auth/providers/mongodb-cloud/login \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"username": "<Public API Key>",
"apiKey": "<Private API Key>"
}'

認証に成功すると、レスポンス本文にはaccess_token値を持つ JSON オブジェクトが含まれます。

{
"access_token": "<access_token>",
"refresh_token": "<refresh_token>",
"user_id": "<user_id>",
"device_id": "<device_id>"
}

access_tokenは App Services Admin API へのアクセスを許可します。 すべての管理 API リクエストのAuthorizationヘッダーに Bearer トークンとして含める必要があります。

Tip

以下も参照してください。

2

アプリをエクスポートするには、 アプリのエクスポートエンドポイントに リクエストを送信します。

管理API access_token、アプリを含むAtlasプロジェクトの groupId、およびアプリ内部の appId16 進stringを必ず含めます。

curl -X GET \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/export \
-H 'Authorization: Bearer <access_token>' \
-H 'Content-Type: application/json' \
--output ./exported-app.zip

URL クエリ パラメータとして配置_idを指定することで、特定の配置の構成をエクスポートできます。

https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/export?deployment={deploymentId}

リクエストが成功した場合、エンドポイントは200レスポンスを返します。このレスポンスには、アプリケーションの現在の構成ファイルの.zipディレクトリが含まれています。

エクスポートされたアプリには、アプリのすべてのコンポーネントの構成ファイルが含まれます。 各タイプの構成ファイルの詳細については、「アプリ構成 」を参照してください。

エクスポートされた構成ディレクトリの構造は、次のとおりです。

app/
├── root_config.json
├── auth/
│ ├── providers.json
│ └── custom_user_data.json
├── data_sources/
│ └── <service name>/
│ ├── config.json
│ └── <database>/
│ └── <collection>/
│ ├── schema.json
│ └── rules.json
├── environments/
│ ├── no-environment.json
│ ├── development.json
│ ├── testing.json
│ ├── qa.json
│ └── production.json
├── functions/
│ ├── config.json
│ ├── <function>.js
│ └── <directory>/
│ └── <function>.js
├── graphql/
│ ├── config.json
│ └── custom_resolvers
│ └── <resolver name>.json
├── hosting/
│ ├── config.json
│ ├── metadata.json
│ └── files/
│ └── <files to host>
├── http_endpoints/
│ ├── config.json
│ ├── data_api_config.json
│ └── [Deprecated] <service name>/
│ ├── config.json
│ └── incoming_webhooks/
│ ├── config.json
│ └── source.js
├── log_forwarders/
│ └── <name>.json
├── sync/
│ └── config.json
├── triggers/
│ └── <trigger name>.json
└── values/
└── <value name>.json

戻る

配置のロールバック