Docs Menu
Docs Home
/ /
Atlas App Services
/

앱 내보내기

이 페이지의 내용

  • 개요
  • 시작하기 전에
  • 절차
  • 출력

앱 구성 파일의 디렉토리를 내보내 다운로드할 수 있습니다. 이를 통해 소스 제어에 앱 구성을 저장하고 App Services CLI 및 선호하는 텍스트 편집기를 로컬에서 사용하여 작업할 수 있습니다.

내보낸 디렉토리에는 데이터 소스, 함수, Atlas Triggers 및 기타 서비스를 포함한 앱의 대부분의 구성 요소에 대한 구성 파일이 포함되어 있습니다. 내보낸 앱의 콘텐츠에 대한 자세한 내용은 앱 구성을 참조하세요.

내보내기에는 Secret 이 포함되지 않습니다. 내보낸 구성 파일을 기반으로 새 앱을 생성하는 경우 새 앱에 Secret을 수동으로 추가해야 합니다. 자세한 내용 은 앱 복사를 참조하세요.

Atlas UI에서 앱을 내보내려면 다음이 필요합니다.

  • 프로젝트 소유자 권한이 있는 MongoDB Atlas 계정. 무료 계정을 등록하는 방법을 학습 보려면 Atlas 시작하기를 참조하세요.

Atlas CLI에서 앱을 내보내려면 다음이 필요합니다.

  • 프로젝트 소유자 권한이 있는 MongoDB Atlas 계정입니다. 무료 계정을 등록하는 방법은 Atlas 시작하기를 참조하세요.

  • MongoDB Atlas Admin API 공용/개인 키 쌍. API 키에는 App Services Admin API를 사용하려면 프로젝트 소유자 권한이 있어야 합니다.

  • 로컬 시스템 PATH에 설치 및 추가된 App Services CLI의 사본입니다. 방법을 알아보려면 App Services CLI 설치를 참조하세요.

  • 앱의 클라이언트 앱 ID 입니다. 앱 이름을 포함하는 고유한 string 입니다. "myapp-abcde". 앱 ID 를 찾는 방법을 학습 보려면 앱 메타데이터 가져오기를 참조하세요.

관리자 API 를 사용하여 앱을 내보내려면 다음이 필요합니다.

1

Atlas UI 에서 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 로 지정된 디렉토리는 이미 존재하지 않아야 하며, 그렇지 않으면 Atlas 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 헤더에 베어러 토큰으로 포함해야 합니다.

다음도 참조하세요.

2

앱을 내보내려면 앱 내보내기 엔드포인트에 요청 을 보냅니다.

관리자 API access_token, 앱이 포함된 Atlas 프로젝트 의 groupId 및 앱의 내부 appId 16진수 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}

요청 이 성공적인 하면 엔드포인트는 애플리케이션의 현재 구성 파일의 .zip 디렉토리 가 포함된 200 응답을 반환합니다.

내보낸 앱에는 앱의 모든 구성 요소에 대한 구성 파일이 포함되어 있습니다. 각 유형의 구성 파일에 대한 자세한 내용은 앱 구성을 참조하세요.

내보낸 구성 디렉토리의 구조는 다음과 같습니다.

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

돌아가기

배포서버 롤백