Hoje estamos lançando a versão 2.3.9 do Couchbase .NET SDK. Nesta versão, temos uma mistura de novos recursos e correções de bugs, incluindo API de estrutura de dados, autenticação em nível de cluster e suporte a consultas em nível de cluster. Além disso, caso você tenha perdido, temos um Developer Preview do suporte ao .NET Core aqui.

Novos recursos e alterações

Seguimos o versionamento semântico, o que significa que incrementamos o número ponto-menor ao adicionar recursos. Adicionamos recursos de baixo risco em versões de manutenção com estabilidade de interface não comprometida para que você, como desenvolvedor, possa obter facilmente acesso a novos recursos. Os recursos mencionados aqui são todos não comprometidos, mas devem ser promovidos a comprometidos na próxima versão dot-minor. Veja aqui para uma discussão sobre a interface no SDK do .NET.

API de estrutura de dados

Muitos desenvolvedores utilizam estruturas de dados comuns, como conjuntos e listas, em seus aplicativos e precisam armazená-los e recuperá-los regularmente. Adicionamos estruturas JSON apoiadas pelo Couchbase para facilitar esse processo, em que as alterações no estado são automaticamente persistidas no servidor.

Os tipos de dados para os quais adicionamos suporte são.

  • Conjunto
  • Lista
  • Dicionário
  • Fila

Uma introdução mais completa da nova API de estrutura de dados estará disponível em outro blog em breve.

Autenticação em nível de cluster

Até agora, a autenticação era tratada no SDK no nível do bucket. Isso significava que a senha do bucket era fornecida ao executar o método GetBucket no bucket. Com a introdução de Cluster Level Queries e formas mais avançadas de segurança em versões futuras do Couchbase Server, é necessário um mecanismo aprimorado.

A autenticação no nível do cluster permite que você configure a autenticação para cada bucket diretamente no objeto do cluster, onde ela é armazenada em cache e reutilizada com eficiência. Veja abaixo um exemplo de configuração das credenciais ao criar o objeto de cluster.

Lembre-se de que o cluster deve ser um objeto de longa duração, normalmente configurado quando o aplicativo é iniciado pela primeira vez e Ajudante de cluster é uma boa maneira de gerenciar o tempo de vida do seu objeto de cluster.

Consulta em nível de cluster

Quando uma consulta N1QL é enviada, cabe aos nós de consulta no cluster interpretar a instrução e executar a consulta. Ela não precisa ser executada no contexto de um determinado bucket porque a instrução de consulta inclui o nome do bucket. Para ajudar a tornar isso mais fácil, copiamos a API Query e QueryAsync para a interface ICluster, de modo que agora você pode executar consultas N1QL diretamente com o objeto Cluster. Veja abaixo um exemplo de uso da nova API Query em nível de cluster:

Atualização do FTS

Temos trabalhado para aprimorar o suporte ao futuro FTS (Full Text Search) e consolidar as implementações nos diferentes SDKs. Vários bugs foram corrigidos para garantir que o SDK tenha suporte completo para quando o recurso for lançado no Couchbase Server 4.6.

Notas de lançamento

  • [NCBC-958] - Fornecer verificações sensatas para os tamanhos máximo e mínimo do pool.
  • [NCBC-1209] - Garantir que o CAS seja passado para as operações de subdocumentos
  • [NCBC-1211] - Erro ao fazer o bootstrapping usando o .Net Core no Linux devido ao Socket Keep Alives
  • [NCBC-1213] - Não é possível enviar uma consulta de FTS composto
  • [NCBC-1214] - BooleanQuery deve exigir apenas uma subconsulta, não uma de cada tipo
  • [NCBC-1216] - PhraseQuery e DocId Query lançam exceção durante a exportação
  • [NCBC-1225] - PoolConfigurationTests não correspondem aos valores mínimo e máximo
  • [NCBC-1128] - Refatoração do ISearchQueryResult do FTS para que ele tenha paridade com o Java SDK
  • [NCBC-1141] - Quando o Id não está presente no documento fail-fast
  • [NCBC-1210] - Atualizar projetos NetStandard para Common.Logging Core e Portable 3.4-Alpha2
  • [NCBC-1218] - Corrigir testes quebrados que afetam a CI
  • [NCBC-1219] - Melhorar ou corrigir testes de unidade
  • [NCBC-1220] - Atualizar o SearchClient para usar o CouchbaseHttpClient
  • [NCBC-1222] - Correção de testes unitários
  • [NCBC-854] - N1QL Cross Bucket Joins
  • [NCBC-1060] - Incluir suporte à infraestrutura de dados
  • [NCBC-1062] - Adicionar interface de autenticador em nível de cluster
  • [NCBC-1223] - Adicionar constantes MediaType para serem usadas em vez de strings em linha
  • [NCBC-1194] - Bucket.Exists() retorna False para um documento que EXISTE ao usar caracteres suecos (pelo menos) na ID do documento
  • [NCBC-1215] - Adicionar arquivo nuspec para gerar alvos Net45 e NetStandard1.5
  • [NCBC-1217] - Definir AllowUnsafe como false no projeto Couchbase.NetStandard
  • [NCBC-1221] - Fazer com que o OpenBucket lance uma exceção de autenticação quando a credencial não for fornecida
  • [NCBC-1224] - Adicionar métodos de estrutura de dados no nível do IBucket

Como obtê-lo

Como sempre, o SDK do Couchbase .NET está disponível em/por:

Autor

Postado por A equipe do Couchbase

Jennifer Garcia é gerente sênior de Web na Couchbase Inc. Como gerente do site, Jennifer tem a responsabilidade geral pelas propriedades do site, incluindo design, implementação, conteúdo e desempenho.

Deixar uma resposta