Docs 菜单
Docs 主页
/ /
Atlas App Services
/

导出应用

在此页面上

  • Overview
  • 开始之前
  • 步骤
  • 输出

您可以通过导出应用的配置文件来下载其目录。这允许您将应用的配置保存在源代码控制中,并在本地使用 App Services CLI 和您首选的文本编辑器。

导出的目录包含应用大多数组件的配置文件,包括数据源、函数、Atlas Triggers和其他服务。有关导出的应用内容的更多信息,请参阅应用配置。

导出不包含任何密钥。 如果您基于导出的配置文件创建新应用,则必须手动为新应用添加密钥。 有关更多信息,请参阅复制应用。

要在 Atlas 用户界面中导出应用,您需要满足以下条件:

  • 具有项目所有者权限的MongoDB Atlas帐户。 要学习;了解如何注册免费帐户,请参阅 Atlas入门。

要在 CLI 中导出应用,您需要满足以下条件:

  • 具有项目所有者权限的 MongoDB Atlas 帐户。要了解如何注册免费帐户,请参阅开始使用 Atlas

  • MongoDB Atlas Admin API 公钥/私钥对。API 密钥必须具有项目所有者权限才能使用 App Services Admin API。

  • 已安装 App Services CLI 副本,并将其添加到本地系统 PATH 中。要了解操作方法,请参阅安装 App Services CLI

  • 您的应用程序的客户端App ID。 这是包含应用名称的唯一string ,例如 "myapp-abcde" 。 要学习;了解如何查找 App ID,请参阅获取应用元数据。

要使用 Admin API导出应用,您需要满足以下条件:

  • 具有项目所有者权限的 MongoDB Atlas 帐户。要了解如何注册免费帐户,请参阅开始使用 Atlas

  • MongoDB Atlas Admin API 公钥/私钥对。API 密钥必须具有项目所有者权限才能使用 App Services Admin API。

  • 您的应用的内部ObjectId 十六进制string 以及包含您的应用的ID 项目的项目Atlas 。要学习;了解如何查找这些元数据,请参阅获取应用元数据。

1

在Atlas用户界面中,单击 App Services标签页。 然后,单击要导出的应用的图块。

2

单击左侧导航栏中的 Deployment

在这里,有两种方法可以导出您的应用:

  • 要导出应用程序的当前配置,请单击
    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>

提示

--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的访问权限。 您必须将其作为持有者令牌包含在所有 Admin API请求的Authorization标头中。

提示

另请参阅:

2

要导出应用,请向导出应用端点发送请求。

确保包括您的 Admin API access_token、包含您的应用的Atlas项目的 groupId 以及应用的内部 appId 十六进制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

您可以通过将部署_id指定为URL查询参数来导出特定部署的配置:

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

后退

复原部署