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 Comience a utilizar Atlas.
Necesitará lo siguiente para exportar una aplicación en la CLI:
Una cuenta de MongoDB Atlas con permisos de propietario de proyecto. Para obtener información sobre cómo crear una cuenta gratuita, consulte Introducción a Atlas.
Un par de claves pública/privada de la API de administración de MongoDB Atlas. La clave de API debe tener permisos de propietario del proyecto para funcionar 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á lo siguiente para exportar una aplicación con la API de administración:
Una cuenta de MongoDB Atlas con permisos de propietario de proyecto. Para obtener información sobre cómo crear una cuenta gratuita, consulte Introducción a Atlas.
Un par de claves pública/privada de la API de administración de MongoDB Atlas. La clave de API debe tener permisos de propietario del proyecto para funcionar 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 luego haga clic en el botón Export App.
- Para exportar la configuración de su aplicación desde una versión anterior
implementación, haga clic en la pestaña History y busque la implementación que desea 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 un usuario de MongoDB Atlas
Llame al punto final de autenticación del usuario administrador con su par de claves API de MongoDB Atlas:
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>" }'
Si la autenticación es exitosa, el cuerpo de la respuesta contiene un objeto JSON con un valor access_token:
{ "access_token": "<access_token>", "refresh_token": "<refresh_token>", "user_id": "<user_id>", "device_id": "<device_id>" }
El access_token otorga acceso a la API de administración de App Services. Debe incluirlo como token de portador en el encabezado Authorization para todas las solicitudes de la API de administración.
Exportar su aplicación
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.
Un directorio de configuración exportado tiene la siguiente estructura:
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