APLICA-SE A: NoSQL
Geral
Como começar a desenvolver com o Azure Cosmos DB for NoSQL?
Primeiro você deve se inscrever para uma assinatura do Azure. Depois de se inscrever em uma assinatura do Azure, você poderá adicionar o contêiner da API para NoSQL à sua assinatura do Azure.
SDKs (Software Development Kits) estão disponíveis para .NET, Python, Node.js, JavaScript, Go e Java. Os desenvolvedores também podem usar as APIs REST para interagir com os recursos do Azure Cosmos DB de mais plataformas e linguagens.
Há exemplos do Azure Cosmos DB for NoSQL para começar?
Confira estes exemplos de código de Início Rápido e modelos para a API para NoSQL:
O Azure Cosmos DB for NoSQL dá suporte a dados sem esquema?
Sim, a API para NoSQL permite que os aplicativos armazenem documentos JSON arbitrários como itens sem dicas nem definições de esquema. Os dados ficam imediatamente disponíveis para consulta com a linguagem de consulta do Azure Cosmos DB for NoSQL.
O Azure Cosmos DB for NoSQL dá suporte a transações de ACID (atomicidade, consistência, isolamento, durabilidade)?
Sim, a API para NoSQL dá suporte a transações entre documentos que são expressas usando lotes nos SDKs ou como procedimentos armazenados e gatilhos do JavaScript. As transações têm como escopo uma única partição em cada contêiner e são executadas com a semântica ACID como “tudo ou nada”, isoladas de outras solicitações de códigos e de usuários executadas simultaneamente. Se ocorrerem exceções, toda a transação será revertida.
Como fazer para criar um banco de dados do Azure Cosmos DB for NoSQL?
Você pode criar bancos de dados usando uma destas ferramentas:
- Portal do Azure
- SDKs do cliente da API para NoSQL (plano de dados)
- SDKs de gerenciamento API para NoSQL (plano de controle)
- Azure Resource Manager
- REST API
Posso autenticar no Azure Cosmos DB for NoSQL usando minhas contas existentes do Microsoft Entra ID?
Sim! O Azure Cosmos DB dá suporte à autenticação do Microsoft Entra para gerenciar o serviço e os recursos dele (plano de controle) e executar dados, operações e consultas (plano de dados). A autenticação do plano de controle é executada usando o recurso de controle de acesso baseado em função do Azure. Você pode usar uma função interna pré-configurada](../../role-based-access-control/built-in-roles.md) ou você pode criar uma função personalizada. Com o controle de acesso baseado em função do Azure, você pode gerenciar contas, bancos de dados, contêineres e metadados. O plano de controle inclui operações incluindo, mas não se limitando a esses exemplos.
- Criar, substituir ou excluir bancos de dados – Criar, substituir ou excluir contêineres – Ler ou substituir a taxa de transferência do banco de dados – Ler ou substituir a taxa de transferência do contêiner Autenticação de plano de dados usa uma API personalizada para implementação de controle de acesso baseado em função nativo do NoSQL. Com essa implementação nativa, você também pode usar funções pré-configuradas ou personalizadas. Com o controle de acesso baseado em função nativo, você pode executar consultas, gerenciar itens ou executar outras operações comuns. O plano de dados inclui operações incluindo, mas não se limitando a esses exemplos.
- Criar, substituir, atualizar ou excluir itens – Aplicar patches em itens – Executar consultas
O Azure Cosmos DB for NoSQL dá suporte à linguagem de consulta SQL?
O SQL é uma linguagem normalmente usada para consultar dados relacionais. A API para NoSQL tem uma linguagem de consulta NoSQL personalizada derivada do SQL. A linguagem de consulta NoSQL inclui um subconjunto da linguagem de consulta SQL normalmente associada ao SQL Server, juntamente com vários aprimoramentos específicos do NoSQL. A linguagem de consulta NoSQL fornece extensibilidade e operadores hierárquicos e relacionais por meio de JavaScript com base em UDFs (funções definidas por usuário). A gramática JSON permite modelar documentos JSON como árvores com nós rotulados, que são usados pelas técnicas de indexação automática do Azure Cosmos DB e pelo dialeto de consulta SQL do Azure Cosmos DB. Para obter informações sobre como usar essa linguagem de consulta, consulte Consulta NoSQL.
O Azure Cosmos DB for NoSQL dá suporte a funções de agregação SQL?
A API para NoSQL dá suporte à agregação por meio de funções de agregação como: COUNT
, MAX
, AVG
e SUM
por meio da linguagem de consulta NoSQL.
Como o Azure Cosmos DB for NoSQL fornece simultaneidade?
A API para NoSQL dá suporte ao OCC (controle de simultaneidade otimista) por meio das marcas da entidade HTTP ou Etags. Cada recurso da API para NoSQL tem uma Etag, a qual é definida no servidor sempre que um documento é atualizado. O cabeçalho da Etag e o valor atual são incluídos em todas as mensagens de resposta. As Etags podem ser usadas com o cabeçalho If-Match
a fim de permitir que o servidor decida se um recurso deve ser atualizado. O valor de If-Match é o valor de Etag a ser comparado. Se o valor de Etag corresponder ao valor de Etag do servidor, o recurso será atualizado. Se a Etag não for mais atual, o servidor rejeitará a operação com um código de resposta "HTTP 412 Falha de pré-condição". O cliente refaz a busca do recurso a fim de obter o valor de Etag atual para o recurso. Além disso, pode-se utilizar ETags com o cabeçalho If-None-Match
para determinar se uma nova busca de um recurso é necessária.
A maioria dos SDKs da API para NoSQL inclui classes para gerenciar o controle de simultaneidade otimista.
Como posso inserir documentos em massa no Azure Cosmos DB for NoSQL?
Use o recurso de importação em massa no SDK do .NET ou no SDK do Java para a API do NoSQL para importar grandes conjuntos de dados. Esse recurso otimiza a taxa de transferência provisionada para importar grandes conjuntos de dados.
Como alternativa, use Apache Spark para importar dados em escala usando Python ou Scala.
O Azure Cosmos DB for NoSQL dá suporte para cache de link de recursos?
Sim. Como o Azure Cosmos DB for NoSQL é um serviço RESTful, os links de recursos são imutáveis e podem ser armazenados em cache. Os clientes da API para NoSQL podem especificar um cabeçalho “If-None-Match” para leituras em qualquer documento semelhante a recurso ou contêiner e atualizar suas cópias locais após a versão do servidor ser alterada.
Uma instância local do Azure Cosmos DB for NoSQL está disponível?
Sim. O Emulador do Azure Cosmos DB fornece uma emulação de alta fidelidade do serviço Azure Cosmos DB. Ele dá suporte a funcionalidades idênticas ao Azure Cosmos DB em várias APIs. Essa funcionalidade inclui suporte para criar itens, consultar itens, provisionar contêineres e dimensionar contêineres. Você pode desenvolver e testar aplicativos usando os pontos de extremidade do emulador. Em seguida, você pode implantar os aplicativos no Azure em escala global alterando a cadeia de conexão do emulador para o serviço dinâmico.
Por que os valores de ponto flutuante longos em um item do Azure Cosmos DB for NoSQL são arredondados ao usar o Data Explorer no portal?
Essa limitação do Data Explorer é uma limitação do JavaScript. O JavaScript usa números de formato de ponto flutuante de precisão dupla, conforme especificado no Institute of Electric and Electronics Engineers (IEEE) 754. Esse tipo de dados pode conter com segurança apenas números entre -(253 - 1) e 253-1 (ou seja, 9007199254740991).
Segurança
O que é o RBAC (controle de acesso baseado em função)?
O controle de acesso baseado em função (RBAC) é um método de regular o acesso a recursos de computador ou rede com base nas funções de usuários individuais dentro de uma empresa. No Azure Cosmos DB, o RBAC é usado para conceder acesso ao plano de dados pata usuários e aplicativos. Para obter mais informações sobre diversos termos no controle de acesso baseado em função, confira o glossário de segurança.
Como faço para habilitar o controle de acesso baseado em função do plano de dados para o Azure Cosmos DB for NoSQL?
Use o recurso RBAC (controle de acesso baseado em função) nativo do Azure Cosmos DB para conceder acesso ao plano de dados a usuários e aplicativos. Para obter mais informações, confira o artigo Conceder acesso baseado em função do plano de dados.
Quais APIs do Azure Cosmos DB dão suporte ao controle de acesso baseado em função do plano de dados?
Até o momento, há suporte apenas para a API NoSQL.
É possível gerenciar definições de função e atribuições de função pelo portal do Azure?
O suporte do portal do Azure para o gerenciamento de funções ainda não está disponível.
Quais SDKs da API do Azure Cosmos DB for NoSQL dão suporte ao controle de acesso baseado em função?
No momento, há suporte aos SDKs .NET V3, Java V4, JavaScript V3 e Python V4.3+.
O token do Microsoft Entra é atualizado automaticamente pelos SDKs do Azure Cosmos DB quando ele expira?
Sim.
É possível desabilitar o uso das chaves primária/secundária da conta quando o controle de acesso baseado em função é usado?
Sim. Para obter mais informações, confira o artigo Desabilitar autenticação baseada em chave.