HTTP URL
Atlas Data Federation은 연합 데이터베이스 인스턴스 저장소로 공개적으로 액세스할 수 있는 URL을 지원합니다. 데이터에 대한 쿼리를 실행하려면 연합 데이터베이스 인스턴스에서 HTTP 데이터 저장소에 대한 매핑을 정의해야 합니다.
중요
스토리지 구성의 정보는 MongoDB에서 내부적으로 볼 수 있으며, Atlas Data Federation의 성능을 모니터링하고 개선하기 위해 운영 데이터로 저장됩니다. 따라서 구성에 PII 를 사용하지 않는 것이 좋습니다.
HTTP 데이터 저장소 구성 예시
참고
미리 보기
HTTP 데이터 저장소에 대한 지원은 미리보기 기능으로 제공됩니다. 기능 및 해당 문서는 미리보기 단계 중에 언제든지 변경될 수 있습니다.
데이터 센터에서 수집한 데이터를 포함하는 URL https://www.datacenter-hardware.com/data.json
, https://www.datacenter-software.com/data.json
및 https://www.datacenter-metrics.com/data.json
를 가정해 보겠습니다. 다음 구성:
연합 데이터베이스 인스턴스 저장소로서 파일에 데이터를 포함하고 공개적으로 액세스할 수 있는 URL을 지정합니다.
각 URL 에 대한 파티션을 생성합니다.
{ "stores" : [ { "name" : "httpStore", "provider" : "http", "allowInsecure" : false, "urls" : [ "https://www.datacenter-hardware.com/data.json", "https://www.datacenter-software.com/data.json" ], "defaultFormat" : ".json" } ], "databases" : [ { "name" : "dataCenter", "collections" : [ { "name" : "inventory", "dataSources" : [ { "storeName" : "httpStore", "allowInsecure" : false, "urls" : [ "https://www.datacenter-metrics.com/data" ], "defaultFormat" : ".json" } ] } ] } ] }
구성 형식
연합 데이터베이스 인스턴스 구성의 형식은 다음과 같습니다.
1 { 2 "stores" : [ 3 { 4 "name" : "<string>", 5 "provider": "<string>", 6 "defaultFormat" : "<string>", 7 "allowInsecure": <boolean>, 8 "urls": ["<string>"] 9 } 10 ], 11 "databases" : [ 12 { 13 "name" : "<string>", 14 "collections" : [ 15 { 16 "name" : "<string>", 17 "dataSources" : [ 18 { 19 "storeName" : "<string>", 20 "allowInsecure" : <boolean>, 21 "urls" : ["<string>"], 22 "defaultFormat" : "<string>", 23 "provenanceFieldName": "<string>" 24 } 25 ] 26 } 27 ], 28 "views" : [ 29 { 30 "name" : "<string>", 31 "source" : "<string>", 32 "pipeline" : "<string>" 33 } 34 ] 35 } 36 ] 37 }
stores
stores
객체는 연합 데이터베이스 인스턴스와 연결된 각 데이터 저장소를 정의합니다. 연합 데이터베이스 인스턴스 저장소는 공개적으로 액세스할 수 있는 URL에 저장된 파일을 캡처합니다. Data Federation은stores
객체에 정의된 데이터 저장소에만 액세스할 수 있습니다.databases
databases
객체는stores
에 정의된 각 연합 데이터베이스 인스턴스 저장소와 데이터베이스의 MongoDB 컬렉션 간의 매핑을 정의합니다.
stores
1 "stores" : [ 2 { 3 "name" : "<string>", 4 "provider" : "<string>", 5 "allowInsecure": <boolean>, 6 "urls" : ["<string>"], 7 "defaultFormat" : "<string>" 8 } 9 ]
stores
각 객체가 연합 데이터베이스 인스턴스와 연결할 데이터 저장소를 나타내는 객체 배열입니다. 연합 데이터베이스 인스턴스 저장소는 S3 버킷의 파일, Atlas 클러스터의 문서 또는 공개적으로 액세스할 수 있는 URL에 저장된 파일을 캡처합니다. Atlas Data Federation은
stores
객체에 정의된 데이터 저장소에만 액세스할 수 있습니다.
stores.[n].name
연합 데이터베이스 인스턴스 저장소의 이름입니다.
databases.[n].collections.[n].dataSources.[n].storeName
필드는 매핑 구성의 일부로 이 값을 참조합니다.
stores.[n].provider
데이터가 저장되는 위치를 정의합니다. 값은 다음 중 하나일 수 있습니다.
s3
Amazon Web Services S3 버킷의 경우.atlas
Atlas cluster의 collection에 해당합니다.http
공개적으로 액세스할 수 있는 URL에 호스팅된 파일의 데이터에 해당합니다.
stores.[n].allowInsecure
선택 사항. 지정된 URL의 체계의 유효성을 검사합니다. 값은 다음 중 하나일 수 있습니다.
true
안전하지 않은 HTTP 체계 허용false
보안 HTTPS 체계만 허용합니다(기본값).
true(참)인 경우 Atlas Data Federation:
서버의 인증서 체인과 호스트 이름을 확인하지 않습니다.
서버에서 제공하는 모든 호스트 이름을 가진 모든 인증서를 수락합니다.
경고: 이 값을
true
로 설정하면 데이터가 중간자(man-in-the-middle) 공격에 취약해져 데이터의 기밀성과 무결성이 손상될 수 있습니다. Atlas Data Federation을 테스트하고 시작하는 경우에만 이 값을true
로 설정합니다.생략하면 기본값은
false
입니다.false
로 설정하면 지정된 URL에 안전하지 않은 HTTP 체계가 포함된 경우 Data Federation은 다음과 유사한 오류를 반환합니다.The insecure HTTP scheme is not supported by default - please add a "allowInsecure: true" flag to query from such URLs.
stores.[n].defaultFormat
선택 사항. Data Federation이
databases.[n].collections.[n].dataSources.[n].storeName
을 검색하는 동안 확장명이 없는 파일을 발견하는 경우 가정하는 기본 형식입니다.defaultFormat
필드에 유효한 값은 다음과 같습니다..json
,.json.gz
,.bson
,.bson.gz
,.avro,
.avro.gz
,.orc
,.tsv
,.tsv.gz
,.csv
,.csv.gz
,.parquet
참고
파일 형식이
CSV
또는TSV
인 경우 데이터에 헤더 행을 포함해야 합니다. 자세한 내용은 CSV 및 TSV를 참조하세요.이를 생략할 경우 Data Federation은 일부 파일 바이트를 처리하여 파일 형식을 감지하려고 시도합니다.
지정된 형식은 객체에
stores
지정된 URL 에만 적용됩니다.
databases
1 "databases" : [ 2 { 3 "name" : "<string>", 4 "collections" : [ 5 { 6 "name" : "<string>", 7 "dataSources" : [ 8 { 9 "storeName" : "<string>", 10 "allowInsecure" : <boolean>, 11 "urls" : ["<string>"], 12 "defaultFormat" : "<string>", 13 "provenanceFieldName": "<string>" 14 } 15 ] 16 } 17 ] 18 } 19 ]
databases
각 객체가 데이터베이스, 객체의 컬렉션, 그리고 선택적으로 컬렉션에 대한 모든 보기를 나타내는 객체 배열입니다. 각 데이터베이스에는 여러 개의
collections
및views
객체가 있을 수 있습니다.
databases.[n].collections
각 객체가
stores
연합 데이터베이스 인스턴스 저장소에 매핑되는 컬렉션 및 데이터 소스를 나타내는 객체 배열입니다. 동적으로 생성된 데이터베이스의 경우 스토리지 구성에서 와일드카드(*
) 컬렉션 객체를 하나만 정의할 수 있습니다.
databases.[n].collections.[n].name
각
databases.[n].collections.[n].dataSources.[n].storeName
에 포함된 데이터를 Atlas Data Federation이 매핑하는 컬렉션의 이름입니다. 배열의 각 객체는 컬렉션과stores
배열의 객체 간의 매핑을 나타냅니다.참고
와일드카드
*
컬렉션은 생성할 수 없습니다.
databases.[n].collections.[n].dataSources
각 객체가 컬렉션과 매핑할
stores
연합 데이터베이스 인스턴스 저장소를 나타내는 객체의 배열입니다.
databases.[n].collections.[n].dataSources.[n].storeName
<collection>
에 매핑할 연합 데이터베이스 인스턴스 저장소의 이름입니다.stores
배열에 있는 객체의name
과 일치해야 합니다.
databases.[n].collections.[n].dataSources.[n].allowInsecure
선택 사항. 지정된 URL의 체계의 유효성을 검사합니다. 값은 다음 중 하나일 수 있습니다.
true
안전하지 않은 HTTP 체계 허용false
보안 HTTPS 체계만 허용합니다(기본값).
true(참)인 경우 Atlas Data Federation:
서버의 인증서 체인과 호스트 이름을 확인하지 않습니다.
서버에서 제공하는 모든 호스트 이름을 가진 모든 인증서를 수락합니다.
경고: 이 값을
true
로 설정하면 데이터가 중간자(man-in-the-middle) 공격에 취약해져 데이터의 기밀성과 무결성이 손상될 수 있습니다. Atlas Data Federation을 테스트하고 시작하는 경우에만 이 값을true
로 설정합니다.생략하면 기본값은
false
입니다.false
로 설정하면 지정된 URL에 안전하지 않은 HTTP 체계가 포함된 경우 Data Federation은 다음과 유사한 오류를 반환합니다.The insecure HTTP scheme is not supported by default - please add a "allowInsecure: true" flag to query from such URLs.
databases.[n].collections.[n].dataSources.[n].urls
선택 사항. 데이터가 저장된 공개적으로 액세스할 수 있는 URL의 쉼표로 구분된 목록입니다. 연합 데이터베이스 인스턴스는 각 URL 에 대한 파티션을 생성합니다. 에 없는 URL을 지정할 수 있습니다.
urls
urls
그러나 컬렉션에는 및urls
모두에 있는URL 의 데이터 통합이 포함됩니다. 생략하면 Data Federation은 지정된 에서 을(를)urls
storeName
사용합니다.
databases.[n].collections.[n].dataSources.[n].defaultFormat
선택 사항. Data Federation이
databases.[n].collections.[n].dataSources.[n].storeName
을 검색하는 동안 확장명이 없는 파일을 발견하는 경우 가정하는 기본 형식입니다.defaultFormat
필드에 유효한 값은 다음과 같습니다..json
,.json.gz
,.bson
,.bson.gz
,.avro,
.avro.gz
,.orc
,.tsv
,.tsv.gz
,.csv
,.csv.gz
,.parquet
참고
파일 형식이
CSV
또는TSV
인 경우 데이터에 헤더 행을 포함해야 합니다. 자세한 내용은 CSV 및 TSV를 참조하세요.이를 생략할 경우 Data Federation은 일부 파일 바이트를 처리하여 파일 형식을 감지하려고 시도합니다.
지정된 형식은 객체에
databases.[n].collections.[n].dataSources
지정된 URL 에만 적용됩니다.
databases.[n].collections.[n].dataSources.[n].provenanceFieldName
결과에 있는 문서의 출처를 포함하는 필드의 이름입니다. 스토리지 구성에서 이 설정을 지정하면 Atlas Data Federation은 결과의 각 문서에 대해 다음 필드를 반환합니다.
필드 이름설명provider
연합 데이터베이스 인스턴스 저장소 구성의 제공자(stores.[n].provider
)uri
Atlas UI의 비주얼 편집기를 사용하여 이 설정을 구성할 수 없습니다.
databases.[n].views.[n].source
뷰에 대한 소스 컬렉션의 이름입니다.
$sql
단계로 뷰를 만들려면 SQL 문이 소스 컬렉션을 지정하므로 이 필드를 생략해야 합니다.