문서 메뉴
문서 홈
/
MongoDB 아틀라스
/ /

HTTP URL

이 페이지의 내용

  • HTTP 데이터 저장소 구성 예시
  • 구성 형식
  • stores
  • databases

Atlas Data Federation은 연합 데이터베이스 인스턴스 저장소로 공개적으로 액세스할 수 있는 URL을 지원합니다. 데이터에 대한 쿼리를 실행하려면 연합 데이터베이스 인스턴스에서 HTTP 데이터 저장소에 대한 매핑을 정의해야 합니다.

중요

스토리지 구성의 정보는 MongoDB에서 내부적으로 볼 수 있으며, Atlas Data Federation의 성능을 모니터링하고 개선하기 위해 운영 데이터로 저장됩니다. 따라서 구성에 PII 를 사용하지 않는 것이 좋습니다.

참고

미리 보기

HTTP 데이터 저장소에 대한 지원은 미리보기 기능으로 제공됩니다. 기능 및 해당 문서는 미리보기 단계 중에 언제든지 변경될 수 있습니다.

데이터 센터에서 수집한 데이터를 포함하는 URL https://www.datacenter-hardware.com/data.json, https://www.datacenter-software.com/data.jsonhttps://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"
}
]
}
]
}
]
}

다음도 참조하세요.

HTTP 또는 HTTPS URL에서 데이터 쿼리

연합 데이터베이스 인스턴스 구성의 형식은 다음과 같습니다.

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 컬렉션 간의 매핑을 정의합니다.
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].urls

선택 사항. 데이터가 저장되는 공개적으로 액세스할 수 있는 HTTP URL의 쉼표로 구분된 목록입니다. 인증이 필요한 URL은 지정할 수 없습니다.

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 에만 적용됩니다.

다음도 참조하세요.

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

각 객체가 데이터베이스, 객체의 컬렉션, 그리고 선택적으로 컬렉션에 대한 모든 보기를 나타내는 객체 배열입니다. 각 데이터베이스에는 여러 개의 collectionsviews 객체가 있을 수 있습니다.

databases.[n].name

Atlas Data Federation이 데이터 저장소에 포함된 데이터를 매핑하는 데이터베이스의 이름입니다.

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
문서의 HTTP 또는 HTTPS URL (databases.[n].collections.[n].dataSources.[n].urls)

Atlas UI의 비주얼 편집기를 사용하여 이 설정을 구성할 수 없습니다.

databases.[n].views

각 객체가 컬렉션의 집계 파이프라인을 나타내는 객체의 배열입니다. 보기에 대해 자세히 알아보려면 보기를 참조하세요.

databases.[n].views.[n].name

뷰의 이름을 지정합니다.

databases.[n].views.[n].source

뷰에 대한 소스 컬렉션의 이름입니다. $sql 단계로 뷰를 만들려면 SQL 문이 소스 컬렉션을 지정하므로 이 필드를 생략해야 합니다.

databases.[n].views.[n].pipeline

컬렉션에 적용할집계 source 파이프라인 단계 $sql 입니다. 단계를 사용하여 뷰를 만들 수도 있습니다.

돌아가기

collection을 생성합니다.