연합 데이터베이스 인스턴스 배포
이 페이지에서는 Azure Blob Storage 컨테이너의 데이터에 액세스하기 위해 연합 데이터베이스 인스턴스를 배포하는 방법을 설명합니다.
전제 조건
시작하기 전에 다음 사전 요구 사항을 완료하세요.
아직 계정이 없는 경우 MongoDB Atlas 계정을 만듭니다.
Azure PowerShell 설치 또는 Azure CLI . 이러한 도구에 학습 보려면 올바른 Azure 명령줄 도구 선택을 참조하세요.
Azure PowerShell 구성또는 Azure CLI.
선택 사항. Azure 서비스 주체 액세스를 설정합니다.
절차
Atlas CLI를 사용하여 새 Data Federation 데이터베이스를 생성하려면 다음 명령을 실행합니다.
atlas dataFederation create <name> [options]
명령 구문 및 매개변수에 Atlas CLI 학습 보려면 dataFederation create Atlas 에 대한 설명서를 참조하세요.
Atlas Data Federation 이 연합 데이터베이스 인스턴스 에 대한 쿼리를 프로세스 할 cloud 제공자 를 선택합니다.
Amazon Web Services , Azure 또는 Google Cloud Platform 을 선택할 수 Amazon Web Services Azure있습니다.Google Cloud Platform 연합 데이터베이스 인스턴스 가 생성되면 Atlas Data Federation 이 쿼리를 처리하는 cloud 제공자 를 변경할 수 없습니다.
Azure Blob Storage container의 데이터에 대해 연합 데이터베이스 인스턴스를 구성하는 경우 데이터를 호스팅하는 cloud 공급자와 다른 cloud 공급자를 선택할 수 없습니다. 즉, Azure 를 선택해야 합니다.
Azure Blob Storage 데이터 저장 를 지정하고 데이터 저장 에 매핑되는 연합 데이터베이스 인스턴스 및 가상 컬렉션을 구성합니다.
Data Sources 섹션에서 연합 데이터베이스 인스턴스의 데이터 세트를 선택합니다.
Add Data Sources 을 클릭하여 데이터 저장소를 선택합니다.
데이터 저장소를 지정합니다.
Azure Blob Storage 컨테이너의 데이터에 대한 연합 데이터베이스 인스턴스 를 구성하려면 Azure 를 선택합니다.
stores.[n].provider
JSON 구성 설정에 해당합니다.Atlas 에 대한 Azure 서비스 주체를 선택합니다.
서비스 주체 드롭다운에서 Atlas 에 인증된 기존 Azure 서비스 주체를 선택하거나 Authorize an Azure Service Principal 를 선택하여 새 서비스 주체를 인증할 수 있습니다.
Atlas 에 권한이 부여된 기존 서비스 주체를 선택한 경우 다음 단계로 진행하세요.
기존 서비스 주체에 대해 Atlas 를 승인하거나 새 서비스 주체를 생성하는 경우 다음 단계로 진행하기 전에 다음 단계를 완료하세요.
새 서비스 주체 또는 기존 서비스 주체를 승인하려면 Authorize an Azure Service Principal 을 선택하고 Continue 을 클릭합니다.
Add Atlas to your Azure Service Principal 섹션에서 Azure 서비스 주체 AppId 를 사용하여 기존 또는 새 Azure 서비스 주체를 통해 Atlas 에 액세스 을 부여합니다.
Atlas UI의 PowerShell 또는 AzureCLI 탭에 설명된 단계에 따라 새 서비스 주체를 만들거나 기존 서비스 주체를 수정합니다.
Atlas UI의 단계를 완료한 후 각 필드에 테넌트 ID 및 서비스 주체 ID를 입력합니다.
다음 단계로 진행하려면 Validate and Finish 을 클릭합니다.
Azure Blob Storage에 액세스 를 구성합니다.
Configure Azure Blob Storage 페이지에서 Azure Storage 계정 자격 증명 위임 및 스토리지 컨테이너 액세스 를 구성해야 합니다. 이를 수행하려면 다음을 수행합니다.
Storage Account Credential Delegation 필드 에 스토리지 계정 리소스 ID 를 입력합니다.
Azure PowerShell의 Storage Account Credential Delegation 단계에서 명령을 복사하고 실행 하여 자격 증명 위임을 설정하다 합니다.
스토리지 컨테이너가 Read only 또는 Read and write 작업을 허용할지 여부를 지정합니다.
Atlas는 Read-only 컨테이너만 쿼리할 수 있습니다. 쿼리 결과를 쿼리하고 Azure Blob Storage 컨테이너에 저장하려면 Read and write 을(를) 선택합니다.
Atlas Data Federation 은
$out
을(를) 사용하여 Azure Blob Storage 컨테이너 에 대한 쓰기를 지원 하지 않습니다.스토리지 컨테이너 이름을 입력합니다.
Azure PowerShell의 Storage Container Access 단계에 표시된 명령을 복사하고 실행 하여 Blob 컨테이너 액세스 를 설정하다 합니다.
Continue를 클릭합니다.
Azure Blob Storage 컨테이너 에서 파일의 경로 구조를 정의하고 Next 을(를) 클릭합니다.
Azure Blob Storage 컨테이너 의 저장 경로를 입력합니다.
예를 들면 다음과 같습니다.
https://<storage-account>.blob.core.windows.net/<container>/<file-name> Azure Blob Storage 컨테이너 의 데이터에 경로를 추가하려면 Add Data Source 를 클릭하고 경로를 입력합니다. 경로에 학습 보려면 S3 데이터의 경로 정의를 참조하세요.
databases.[n].collections.[n].dataSources.[n].path
JSON 구성 설정에 해당합니다.선택 사항. Data Federation 이 Azure Blob Storage 컨테이너 의 파일을 검색할 때 사용해야 하는 파티션 필드와 필드 값 유형을 지정합니다.
생략하면 Data Federation 은 Azure Blob Storage 컨테이너 의 루트에서 모든 파일에 대해 재귀 검색 을 수행합니다. 특정 필드 값 유형을 선택하지 않으면 Data Federation 은 모든 쿼리에서 해당 경로에 있는 값을 추가합니다.
stores.[n].prefix
및databases.[n].collections.[n].dataSources.[n].path
JSON 구성 설정에 해당합니다.
가상 데이터베이스, 컬렉션 및 뷰를 생성하고 데이터베이스, 컬렉션 및 뷰를 데이터 저장소에 매핑합니다.
(선택 사항) 다음을 클릭합니다. 의 경우:
데이터베이스를 클릭하여 데이터베이스 이름을 편집합니다. 기본값은
VirtualDatabase[n]
입니다.databases.[n].name
JSON 구성 설정에 해당합니다.컬렉션을 클릭하여 컬렉션 이름을 편집합니다. 기본값은
VirtualCollection[n]
입니다.databases.[n].collections.[n].name
JSON 구성 설정에 해당합니다.보기 이름을 편집하려면 보기를 클릭합니다.
다음을 클릭할 수 있습니다.
Add Database 데이터베이스 및 컬렉션을 추가합니다.
데이터베이스에 컬렉션을 추가하기 위해 데이터베이스와 연결됩니다.
을(를) 클릭하여 컬렉션 에 대한 뷰 를 추가 컬렉션. 뷰를 만들려면 다음을 지정해야 합니다.
뷰의 이름을 지정합니다.
뷰에 적용할 파이프라인 입니다.
뷰 정의 파이프라인은
$out
또는$merge
단계를 포함할 수 없습니다. 뷰 정의에$lookup
또는$facet
와 같은 중첩된 파이프라인 단계가 포함된 경우 이 제한은 해당 중첩된 파이프라인에도 적용됩니다.
뷰에 학습 보려면 다음을 참조하세요.
데이터베이스, 컬렉션 또는 뷰와 연결된 항목을 제거합니다.
Data Sources 섹션의 드롭다운에서 Azure Blob Storage 를 선택합니다.
데이터 저장소를 드래그 앤 드롭하여 컬렉션과 매핑합니다.
databases.[n].collections.[n].dataSources
JSON 구성 설정에 해당합니다.
Azure Blob Storage 데이터 저장 에 대한 구성은 다음과 유사해야 합니다.
{ "stores" : [ { "name" : "<string>", "provider": "<string>", "region" : "<string>", "serviceURL" : "<string>", "containerName" : "<string>", "delimiter" : "<string>", "prefix": "<string>", "public": <boolean> } ], "databases" : [ { "name" : "<string>", "collections" : [ { "name" : "<string>", "dataSources" : [ { "storeName" : "<string>", "path" : "<string>", "defaultFormat" : "<string>", "provenanceFieldName": "<string>", "omitAttributes": <boolean> } ] } ], "maxWildcardCollections" : <integer>, "views" : [ { "name" : "<string>", "source" : "<string>", "pipeline" : "<string>" } ] } ] }
구성 설정에 대한 자세한 내용 은 연합 데이터베이스 인스턴스에 대한 데이터 저장소 정의를 참조하세요.
Azure Blob Storage 데이터 저장 를 정의합니다.
stores
에 대한 UI 에 표시된 JSON 구성 설정을 편집합니다.stores
구성 설정은 다음과 유사해야 합니다."stores" : [ { "name" : "<string>", "provider" : "<string>", "region" : "<string>", "serviceURL" : "<string>", "containerName" : "<string>", "delimiter": "<string", "prefix" : "<string>", "public": <boolean> } ] 이러한 구성 설정에 학습 보려면
stores
를 참조하세요.연합 데이터베이스 인스턴스 가상 데이터베이스, 컬렉션 및 뷰를 정의합니다.
databases
에 대한 UI 에 표시된 JSON 구성 설정을 편집합니다.databases
구성 설정은 다음과 유사해야 합니다."databases" : [ { "name" : "<string>", "collections" : [ { "name" : "<string>", "dataSources" : [ { "storeName" : "<string>", "defaultFormat" : "<string>", "path" : "<string>", "provenanceFieldName": "<string>", "omitAttributes": <boolean> } ] } ], "maxWildcardCollections" : <integer>, "views" : [ { "name" : "<string>", "source" : "<string>", "pipeline" : "<string>" } ] } ] 이러한 구성 설정에 학습 보려면
databases
를 참조하세요.
선택 사항: 위의 시각적 편집기 또는 JSON 편집기 탭 의 단계를 반복하여 추가 Azure Blob Storage 데이터 저장소를 정의합니다.
연합 쿼리에 대한 다른 데이터 저장소를 추가하려면 다음을 참조하세요.
참고
다양한 cloud 공급자 간에 연합 쿼리를 실행 하기 위한 Amazon Web Services 데이터 저장소를 생성할 수 없습니다.