Overview
Puedes descargar un directorio de los archivos de configuración de tu aplicación exportándolos. Esto te permite guardar la configuración de tu aplicación en el control de versiones y trabajar localmente con App Services CLI y tu editor de texto preferido.
El directorio exportado contiene archivos de configuración para la mayoría de los componentes de tu aplicación, incluidos fuentes de datos, Funciones, activadores y otros servicios. Para obtener más información sobre el contenido de una aplicación exportada, consulta la sección Configuración de la Aplicación.
La exportación no incluye ningún secreto. Si crea una nueva aplicación basada en archivos de configuración exportados, deberá agregarle manualmente los secretos. Para obtener más información,consulte Copiar una aplicación.
Antes de comenzar
Necesitará lo siguiente para exportar una aplicación en la interfaz de usuario de Atlas:
Una cuenta de MongoDB Atlas con permisos de propietario del proyecto. Para saber cómo crear una cuenta gratuita, consulte Comienza con Atlas.
Necesitará lo siguiente para exportar una aplicación en la CLI:
Una cuenta de MongoDB Atlas con permisos de propietario del proyecto. Para aprender cómo registrarte para obtener una cuenta gratuita, consulta Comienza en Atlas.
Un par de claves pública/llave privada de la API de administración de MongoDB Atlas. La clave de la API debe tener permisos de Propietario del proyecto para trabajar con la API de administración de App Services.
Una copia de la CLI de App Services instalada y agregada a su sistema local
PATHPara saber cómo hacerlo,consulte Instalar la CLI de App Services.El ID de la aplicación cliente de tu aplicación. Esta es la cadena única que contiene el nombre de tu aplicación, p. ej.,.
"myapp-abcde"Para saber cómo encontrar el ID de tu aplicación, consulta Obtener metadatos de la aplicación.
Necesitarás lo siguiente para exportar una aplicación con la API de administración:
Una cuenta de MongoDB Atlas con permisos de propietario del proyecto. Para aprender cómo registrarte para obtener una cuenta gratuita, consulta Comienza en Atlas.
Un par de claves pública/llave privada de la API de administración de MongoDB Atlas. La clave de la API debe tener permisos de Propietario del proyecto para trabajar con la API de administración de App Services.
La cadena hexadecimal ObjectId interna de tu aplicación y el ID del proyecto Atlas que contiene tu aplicación. Para saber cómo encontrarlos, consulta Obtener metadatos de la aplicación.
Procedimiento
Exportar la aplicación
Haz clic en Deployment en la barra de navegación izquierda.
Desde aquí, hay dos formas de exportar tu aplicación:
- Para exportar la configuración actual de su aplicación, haga clic en el icono
- Export App pestaña y, a continuación, haga clic en el botón Export App.
- Para exportar la configuración de su aplicación desde una versión anterior
implementación, haz clic en la pestaña History y busca la implementación que deseas exportar.
Una vez que haya encontrado la implementación, haga clic en el botón Export al final de la fila.
Ejecute el Comando de Exportación de Aplicaciones
El comando pull descarga los archivos de configuración de una aplicación a un directorio local. Para elegir qué aplicación exportar, especifique su ID de aplicación cliente con el indicador --remote.
appservices pull --remote=<Client App ID>
De forma predeterminada, el comando extrae los archivos al directorio de trabajo actual. Puede configurar el comando para crear un nuevo directorio especificando la ruta del directorio con el indicador --local.
appservices pull --remote=<App ID> --local=<Output Directory Path>
Tip
El directorio especificado por --local no debe existir; de lo contrario, la CLI genera un error y no extrae los archivos de configuración.
El comando también admite indicadores adicionales que puedes incluir opcionalmente para personalizar tu aplicación. La siguiente tabla muestra indicadores comunes que puedes usar:
| Si se especifica, las dependencias externas se exportan como un archivo |
| Si se especifica, los activos estáticos alojados se exportan en el directorio |
Autenticar a un usuario de MongoDB Atlas
Call the admin user authentication endpoint with your MongoDB Atlas API key pair:
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>" }'
If authentication succeeds, the response body contains a JSON object with an access_token value:
{ "access_token": "<access_token>", "refresh_token": "<refresh_token>", "user_id": "<user_id>", "device_id": "<device_id>" }
El access_token concede acceso a la API de Administración de App Services. Debe incluirlo como un token Bearer en el encabezado Authorization para todas las solicitudes a la API de administración.
Export Your App
Para exportar su aplicación, envíe una solicitud al punto final Exportar una aplicación.
Asegúrese de incluir su API de administración access_token, el groupId del proyecto Atlas que contiene su aplicación y la cadena hexadecimal interna appId de la aplicación:
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
Puede exportar la configuración para una implementación específica especificando la implementación _id como un parámetro de consulta de URL:
https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/export?deployment={deploymentId}
Si la solicitud es exitosa, el punto final devuelve una respuesta 200 que contiene un directorio .zip de los archivos de configuración actuales de su aplicación.
Salida
Una aplicación exportada contiene archivos de configuración para todos los componentes de la aplicación. Para obtener información detallada sobre cada tipo de archivo de configuración, consulta Configuración de la aplicación.
An exported configuration directory has the following structure:
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 │ └── <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