오늘 Couchbase .NET SDK 버전 2.3.9를 출시합니다. 이번 릴리스에는 데이터 구조 API, 클러스터 수준 인증, 클러스터 수준 쿼리 지원 등 새로운 기능과 버그 수정이 포함되어 있습니다. 또한, 놓치셨을 경우를 대비하여 .NET Core 지원의 개발자 프리뷰를 제공합니다. 여기.
새로운 기능 및 변경 사항
시맨틱 버전 관리, 즉 기능을 추가할 때 마이너 버전을 늘려나가는 방식을 따릅니다. 개발자가 새로운 기능에 쉽게 액세스할 수 있도록 위험도가 낮고 인터페이스 안정성이 확보된 기능을 유지 관리 릴리스에 추가합니다. 여기에 언급된 기능은 모두 커밋되지 않은 상태이지만 다음 닷 마이너 릴리스에서 커밋으로 승격될 예정입니다. 참조 여기 를 참조하여 .NET SDK의 인터페이스에 대해 설명하세요.
데이터 구조 API
많은 개발자가 애플리케이션에서 집합이나 목록과 같은 일반적인 데이터 구조를 활용하며 이를 정기적으로 저장하고 검색해야 합니다. 상태 변경 사항이 서버에 자동으로 유지되는 이 프로세스를 더 쉽게 수행할 수 있도록 Couchbase 지원 JSON 구조를 추가했습니다.
지원을 추가한 데이터 유형은 다음과 같습니다.
- 설정
- 목록
- 사전
- 대기열
새로운 데이터 구조 API에 대한 보다 자세한 소개는 곧 다른 블로그에서 확인할 수 있습니다.
클러스터 수준 인증
지금까지 인증은 SDK에서 버킷 수준에서 처리되었습니다. 즉, 버킷에 대해 GetBucket 메서드를 실행할 때 버킷 비밀번호가 제공되었습니다. 클러스터 수준 쿼리가 도입되고 향후 Couchbase Server 릴리스에서 더 고급 형태의 보안이 제공될 예정이므로 개선된 메커니즘이 필요합니다.
클러스터 수준 인증을 사용하면 각 버킷에 대한 인증을 클러스터 개체에서 직접 구성하여 캐시하고 효율적으로 재사용할 수 있습니다. 클러스터 개체를 구축할 때 자격 증명을 설정하는 예는 다음과 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
var 자격 증명 = new 클러스터 자격증명 { 클러스터 사용자 이름 = "관리자", 클러스터 비밀번호 = "비밀", 버킷 자격 증명 = new 사전<문자열, 문자열> { { "보안", "비밀번호" } // 버킷 이름, 버킷 비밀번호 } }; var 클러스터 = new 클러스터(); 클러스터.인증(자격 증명); var 버킷 = 클러스터.OpenBucket("보안"); // 자격 증명에서 사용되므로 비밀번호가 전달되지 않았음을 알 수 있습니다. |
클러스터는 일반적으로 애플리케이션이 처음 시작될 때 설정되는 수명이 긴 객체여야 하며, 다음과 같이 기억하십시오. 클러스터 도우미 는 클러스터 객체의 수명을 관리할 수 있는 좋은 방법입니다.
클러스터 수준 쿼리
N1QL 쿼리가 제출되면, 쿼리 문을 해석하고 쿼리를 실행하는 것은 클러스터의 쿼리 노드에 달려 있습니다. 쿼리 문에는 버킷 이름이 포함되어 있기 때문에 특정 버킷의 컨텍스트에서 실행될 필요는 없습니다. 이 작업을 더 쉽게 하기 위해, 이제 클러스터 객체로 직접 N1QL 쿼리를 실행할 수 있도록 Query 및 QueryAsync API를 ICluster 인터페이스에 복사했습니다. 새로운 클러스터 수준 Query API를 사용하는 예는 아래와 같습니다:
1 2 3 4 5 6 7 |
var 구성 = new 클라이언트 구성 { 서버 = new 목록<Uri> {new Uri("http://127.0.0.1")} }; var 클러스터 = new 클러스터(구성); var 결과 = 클러스터.쿼리<사람>("SELECT * FROM `default` WHERE type = 'person';"); |
FTS 업데이트
곧 출시될 FTS(전체 텍스트 검색)에 대한 지원을 개선하고 여러 SDK에 걸쳐 구현을 통합하는 작업을 해왔습니다. Couchbase Server 4.6에서 이 기능이 정식 버전으로 출시될 때 SDK가 완벽하게 지원될 수 있도록 여러 버그가 수정되었습니다.
릴리스 정보
- [NCBC-958] - 최대 및 최소 풀 크기에 대한 건전한 확인을 제공합니다.
- [NCBC-1209] - CAS가 하위 문서 작업에 전달되었는지 확인합니다.
- [NCBC-1211] - 소켓 유지로 인해 Linux에서 .Net Core를 사용하여 부트스트랩하는 중 오류 발생
- [NCBC-1213] - 복합 FTS 쿼리를 제출할 수 없습니다.
- [NCBC-1214] - 부울 쿼리는 각 유형에 하나씩이 아닌 하나의 하위 쿼리만 필요합니다.
- [NCBC-1216] - 내보내기 중 PhraseQuery 및 DocId 쿼리에서 예외 발생
- [NCBC-1225] - 풀 구성 테스트가 최소 및 최대 값과 일치하지 않습니다.
- [NCBC-1128] - Java SDK와 동등성을 갖도록 FTS ISearchQueryResult를 리팩터링합니다.
- [NCBC-1141] - 문서에 아이디가 없는 경우 실패-빠름
- [NCBC-1210] - NetStandard 프로젝트를 Common.Logging Core 및 Portable 3.4-Alpha2로 업그레이드하기
- [NCBC-1218] - CI에 영향을 미치는 깨진 테스트 수정
- [NCBC-1219] - 단위 테스트 개선 또는 수정
- [NCBC-1220] - CouchbaseHttpClient를 사용하도록 SearchClient 업데이트
- [NCBC-1222] - 수정 단위 테스트
- [NCBC-854] - N1QL 크로스 버킷 조인
- [NCBC-1060] - 데이터 구조 지원 포함
- [NCBC-1062] - 클러스터 수준 인증자 인터페이스 추가
- [NCBC-1223] - 인라인 문자열 대신 사용할 미디어 유형 상수를 추가합니다.
- [NCBC-1194] - 문서 ID에 스웨덴 문자(적어도)를 사용할 때 문서가 존재하는 경우 Bucket.Exists()는 False를 반환합니다.
- [NCBC-1215] - Net45 및 NetStandard1.5 타깃 생성을 위한 nuspec 파일 추가
- [NCBC-1217] - Couchbase.NetStandard 프로젝트에서 AllowUnsafe를 거짓으로 설정합니다.
- [NCBC-1221] - 크레딧이 제공되지 않을 때 OpenBucket에서 인증 예외가 발생하도록 만들기
- [NCBC-1224] - IBucket 수준 데이터 구조 메서드 추가
받는 방법
항상 그렇듯이 Couchbase .NET SDK는 다음에서 사용할 수 있습니다: