Perguntas frequentes sobre diferentes APIs no Azure Cosmos DBFrequently asked questions about different APIs in Azure Cosmos DB

Quais são os casos de uso típicos do Azure Cosmos DB?What are the typical use cases for Azure Cosmos DB?

O Azure Cosmos DB é uma ótima escolha para novos aplicativos Web, móveis, de jogos e IoT, em que a escala automática, o desempenho previsível, os tempos de resposta rápidos na ordem de milissegundos e a capacidade de consultar dados sem esquemas são importantes.Azure Cosmos DB is a good choice for new web, mobile, gaming, and IoT applications where automatic scale, predictable performance, fast order of millisecond response times, and the ability to query over schema-free data is important. O Azure Cosmos DB funciona bem em contextos de desenvolvimento rápido e dá suporte à iteração contínua de modelos de dados de aplicativos.Azure Cosmos DB lends itself to rapid development and supporting the continuous iteration of application data models. Os aplicativos que gerenciam conteúdo e dados gerados pelo usuário são casos de uso comuns do Azure Cosmos DB.Applications that manage user-generated content and data are common use cases for Azure Cosmos DB.

Como o Azure Cosmos DB oferece um desempenho previsível?How does Azure Cosmos DB offer predictable performance?

Uma RU (Unidade de Solicitação) é a medida de taxa de transferência no Azure Cosmos DB.A request unit (RU) is the measure of throughput in Azure Cosmos DB. Uma taxa de transferência de 1 RU corresponde à taxa de transferência do GET de um documento de 1 KB.A 1RU throughput corresponds to the throughput of the GET of a 1-KB document. Toda operação no Azure Cosmos DB, incluindo leituras, gravações, consultas SQL e execuções de procedimentos armazenados, tem um valor determinístico de RU baseado na produtividade necessária para concluir a operação.Every operation in Azure Cosmos DB, including reads, writes, SQL queries, and stored procedure executions, has a deterministic RU value that's based on the throughput required to complete the operation. Em vez de pensar em CPU, E/S, memória e como cada uma dessas medidas afeta a produtividade do seu aplicativo, você pode pensar em uma medida de RU única.Instead of thinking about CPU, IO, and memory and how they each affect your application throughput, you can think in terms of a single RU measure.

Você pode configurar cada contêiner do Azure Cosmos com taxa de transferência provisionada em termos de RUs da taxa de transferência por segundo.You can configure each Azure Cosmos container with provisioned throughput in terms of RUs of throughput per second. Em aplicativos de qualquer escala, você pode usar um parâmetro de comparação em solicitações individuais para medir seus valores de RU e provisionar um contêiner para manipular o total de unidades de solicitação em todas as solicitações.For applications of any scale, you can benchmark individual requests to measure their RU values, and provision a container to handle the total of request units across all requests. Também é possível aumentar ou reduzir verticalmente a produtividade de seu contêiner, conforme as necessidades do aplicativo mudam.You can also scale up or scale down your container's throughput as the needs of your application evolve. Para obter mais informações sobre unidades de solicitação e para obter ajuda para determinar suas necessidades de contêiner, experimente a calculadora de taxa de transferência.For more information about request units and for help with determining your container needs, try the throughput calculator.

Como o Azure Cosmos DB dá suporte a vários modelos de dados, como chave/valor, colunar, documento e grafo?How does Azure Cosmos DB support various data models such as key/value, columnar, document, and graph?

Os modelos de dados chave/valor (tabela), colunar, documento e grafo têm suporte nativo devido ao design ARS (átomos, registros e sequências) no qual o Azure Cosmos DB é criado.Key/value (table), columnar, document, and graph data models are all natively supported because of the ARS (atoms, records, and sequences) design that Azure Cosmos DB is built on. Os átomos, os registros e as sequências podem ser facilmente mapeados e projetados para vários modelos de dados.Atoms, records, and sequences can be easily mapped and projected to various data models. As APIs para um subconjunto de modelos já estão disponíveis (SQL, MongoDB, tabela e Gremlin) e outras específicas para modelos de dados adicionais estarão disponíveis no futuro.The APIs for a subset of models are available right now (SQL, MongoDB, Table, and Gremlin) and others specific to additional data models will be available in the future.

O Azure Cosmos DB tem um mecanismo de indexação livre de esquemas, capaz de indexar automaticamente todos os dados que ingere sem a necessidade de qualquer esquema ou de índices secundários do desenvolvedor.Azure Cosmos DB has a schema agnostic indexing engine capable of automatically indexing all the data it ingests without requiring any schema or secondary indexes from the developer. O mecanismo apoia-se em um conjunto de layouts de índice lógico (invertido, colunar, árvore) que separam o layout de armazenamento do índice e dos subsistemas de processamento de consulta.The engine relies on a set of logical index layouts (inverted, columnar, tree) which decouple the storage layout from the index and query processing subsystems. O Cosmos DB também tem a capacidade de dar suporte a um conjunto de protocolos de transmissão e APIs de forma extensível e convertê-las com eficiência no modelo de dados principal (1) e nos layouts de índice lógico (2) tornando-o capaz de dar suporte a vários modelos de dados.Cosmos DB also has the ability to support a set of wire protocols and APIs in an extensible manner and translate them efficiently to the core data model (1) and the logical index layouts (2) making it uniquely capable of supporting more than one data model natively.

Posso usar várias APIs para acessar meus dados?Can I use multiple APIs to access my data?

O Azure Cosmos DB é o serviço de banco de dados multimodelo distribuído globalmente da Microsoft.Azure Cosmos DB is Microsoft's globally distributed, multi-model database service. Quando vários modelos significarem que o Azure Cosmos DB tem suporte para várias APIs e vários modelos de dados, APIs diferentes usarão formatos de dados diferentes para o protocolo de armazenamento e de conexão.Where multi-model means Azure Cosmos DB supports multiple APIs and multiple data models, different APIs use different data formats for storage and wire protocol. Por exemplo: o SQL usa JSON; o MongoDB usa BSON; o Table usa o EDM; o Cassandra usa CQL; o Gremlin usa o formato JSON.For example, SQL uses JSON, MongoDB uses BSON, Table uses EDM, Cassandra uses CQL, Gremlin uses JSON format. Dessa forma, é recomendável usar a mesma API para todos os acessos aos dados em uma determinada conta.As a result, we recommend using the same API for all access to the data in a given account.

Cada API opera de forma independente, exceto as API do Gremlin e do SQL, que são interoperáveis.Each API operates independently, except the Gremlin and SQL API, which are interoperable.

O Azure Cosmos DB está em conformidade com a HIPAA?Is Azure Cosmos DB HIPAA compliant?

Sim, o Azure Cosmos DB está em conformidade com a HIPAA.Yes, Azure Cosmos DB is HIPAA-compliant. A HIPAA estabelece os requisitos para o uso, a divulgação e a proteção de informações de integridade individualmente identificáveis.HIPAA establishes requirements for the use, disclosure, and safeguarding of individually identifiable health information. Para saber mais, confira o Centro de Confiabilidade da Microsoft.For more information, see the Microsoft Trust Center.

Quais são os limites de armazenamento do Azure Cosmos DB?What are the storage limits of Azure Cosmos DB?

Não há limite para a quantidade total de dados que um contêiner pode armazenar no Azure Cosmos DB.There's no limit to the total amount of data that a container can store in Azure Cosmos DB.

Quais são os limites de produtividade do Azure Cosmos DB?What are the throughput limits of Azure Cosmos DB?

Não há limite para a quantidade total de produtividade para a qual um contêiner dá suporte no Azure Cosmos DB.There's no limit to the total amount of throughput that a container can support in Azure Cosmos DB. A ideia principal é distribuir sua carga de trabalho aproximadamente de forma uniforme entre um número suficientemente grande de chaves de partição.The key idea is to distribute your workload roughly evenly among a sufficiently large number of partition keys.

Os modos de conectividade Direta e Gateway são criptografados?Are Direct and Gateway connectivity modes encrypted?

Sim, ambos os modos estão sempre totalmente criptografados.Yes both modes are always fully encrypted.

Quanto custa o Azure Cosmos DB?How much does Azure Cosmos DB cost?

Para obter detalhes, consulte a página Detalhes de preço do Azure Cosmos DB.For details, refer to the Azure Cosmos DB pricing details page. Os encargos pelo uso do Azure Cosmos DB são determinados pelo número de contêineres provisionados, pelo número de horas em que os contêineres estavam online e pela produtividade provisionada de cada contêiner.Azure Cosmos DB usage charges are determined by the number of provisioned containers, the number of hours the containers were online, and the provisioned throughput for each container.

Existe uma conta gratuita disponível?Is a free account available?

Sim, você pode se inscrever para uma conta de tempo limitado sem custo adicional, sem nenhum compromisso.Yes, you can sign up for a time-limited account at no charge, with no commitment. Para se inscrever, visite Experimente gratuitamente o Azure Cosmos DB ou leia mais em Tente as Perguntas frequentes do Azure Cosmos DB.To sign up, visit Try Azure Cosmos DB for free or read more in the Try Azure Cosmos DB FAQ.

Se você estiver começando com o Azure, é possível inscrever-se para uma Conta gratuita do Azure, que oferece 30 dias e um crédito para testar todos os serviços do Azure.If you're new to Azure, you can sign up for an Azure free account, which gives you 30 days and a credit to try all the Azure services. Se você tem uma assinatura do Visual Studio, também está qualificado para receber créditos Azure gratuitos para usar em qualquer serviço do Azure.If you have a Visual Studio subscription, you're also eligible for free Azure credits to use on any Azure service.

Também use o Emulador do Azure Cosmos DB para desenvolver e testar seu aplicativo no local, gratuitamente, sem criar uma assinatura do Azure.You can also use the Azure Cosmos DB Emulator to develop and test your application locally for free, without creating an Azure subscription. Quando estiver satisfeito com o funcionamento de seu aplicativo no Emulador do Azure Cosmos DB, você poderá passar a usar uma conta do Azure Cosmos DB na nuvem.When you're satisfied with how your application is working in the Azure Cosmos DB Emulator, you can switch to using an Azure Cosmos DB account in the cloud.

Como fazer para obter mais ajuda com o Azure Cosmos DB?How can I get additional help with Azure Cosmos DB?

Para fazer uma pergunta técnica, poste em um desses dois fóruns de perguntas e respostas:To ask a technical question, you can post to one of these two question and answer forums:

Para solicitar novos recursos, crie uma nova solicitação em Voz do usuário.To request new features, create a new request on User voice.

Para corrigir um problema com sua conta, apresente uma solicitação de suporte no portal do Azure.To fix an issue with your account, file a support request in the Azure portal.

Experimente as assinaturas do Azure Cosmos DBTry Azure Cosmos DB subscriptions

Agora você pode aproveitar uma experiência do Azure Cosmos DB gratuitamente, por tempo limitado, sem assinatura e sem compromisso.You can now enjoy a time-limited Azure Cosmos DB experience without a subscription, free of charge and commitments. Para se inscrever para uma assinatura do tipo Experimente o Azure Cosmos DB gratuitamente, vá para Experimente o Azure Cosmos DB gratuitamente e use qualquer MSA (Conta pessoal da Microsoft).To sign up for a Try Azure Cosmos DB subscription, go to Try Azure Cosmos DB for free and use any personal Microsoft account (MSA). Esta assinatura é separada da Avaliação gratuita do Azure e pode ser usada juntamente com uma Avaliação gratuita do Azure ou uma assinatura paga do Azure.This subscription is separate from the Azure Free Trial, and can be used along with an Azure Free Trial or an Azure paid subscription.

Experimente as assinaturas do Azure Cosmos DB é exibido no portal do Azure ao lado de outras assinaturas associadas à sua ID de usuário.Try Azure Cosmos DB subscriptions appear in the Azure portal next other subscriptions associated with your user ID.

As seguintes condições se aplicam às assinaturas de Experimente o Azure Cosmos DB:The following conditions apply to Try Azure Cosmos DB subscriptions:

  • O acesso à conta pode ser concedido a MSAs (Contas pessoais da Microsoft).Account access can be granted to personal Microsoft accounts (MSA). Evite usar contas do Azure Active Directory (AD do Azure) ou contas que pertencem a locatários corporativos do Azure AD, elas podem ter limitações em vigor que poderiam bloquear a concessão de acesso.Avoid using Azure Active Directory (Azure AD) accounts or accounts belonging to corporate Azure AD Tenants, they might have limitations in place that could block access granting.
  • Um contêiner de taxa de transferência provisionada por assinatura para contas SQL, API do Gremlin e Table.One throughput provisioned container per subscription for SQL, Gremlin API, and Table accounts.
  • Até três coleções de taxa de transferência provisionada por assinatura para contas do MongoDB.Up to three throughput provisioned collections per subscription for MongoDB accounts.
  • Um banco de dados de taxa de transferência provisionada por assinatura.One throughput provisioned database per subscription. Os bancos de dados de taxa de transferência provisionada podem conter qualquer número de contêineres internamente.Throughput provisioned databases can contain any number of containers inside.
  • Capacidade de armazenamento de 10 GB.10-GB storage capacity.
  • A replicação global está disponível atualmente nas seguintes regiões do Azure: EUA Central, Norte da Europa e Sudeste AsiáticoGlobal replication is available in the following Azure regions: Central US, North Europe, and Southeast Asia
  • Taxa de transferência máxima de 5.000 RU/s quando provisionadas no nível de contêiner.Maximum throughput of 5 K RU/s when provisioned at the container level.
  • Taxa de transferência máxima de 20.000 RU/s quando provisionadas no nível de banco de dados.Maximum throughput of 20 K RU/s when provisioned at the database level.
  • As assinaturas expiram após 30 dias e podem ser estendidas para um máximo de 31 dias no total.Subscriptions expire after 30 days, and can be extended to a maximum of 31 days total. Depois de expirarem, as informações contidas são excluídas.After expiration, the information contained is deleted.
  • Não é possível criar tíquetes de suporte do Azure para contas Experimente o Azure Cosmos DB; no entanto, é oferecido suporte para assinantes com planos de suporte existentes.Azure support tickets can't be created for Try Azure Cosmos DB accounts; however, support is provided for subscribers with existing support plans.

Configurar o Azure Cosmos DBSet up Azure Cosmos DB

Como fazer para se inscrever no Azure Cosmos DB?How do I sign up for Azure Cosmos DB?

O Azure Cosmos DB está disponível no Portal do Azure.Azure Cosmos DB is available in the Azure portal. Primeiro, inscreva-se para uma assinatura do Azure.First, sign up for an Azure subscription. Depois de se inscrever, você poderá adicionar uma conta do Azure Cosmos DB à sua assinatura do Azure.After you've signed up, you can add an Azure Cosmos DB account to your Azure subscription.

O que é uma chave primária?What is a primary key?

Uma chave primária é um token de segurança para acessar todos os recursos de uma conta.A primary key is a security token to access all resources for an account. As pessoas que têm a chave têm acesso de leitura e gravação a todos os recursos na conta do banco de dados.Individuals with the key have read and write access to all resources in the database account. Tenha cuidado ao distribuir chaves primárias.Use caution when you distribute primary keys. A chave primária primária e a chave primária secundária estão disponíveis na folha chaves da portal do Azure.The primary primary key and secondary primary key are available on the Keys blade of the Azure portal. Para saber mais sobre as chaves, consulte Exibir, copiar e regenerar chaves de acesso.For more information about keys, see View, copy, and regenerate access keys.

Quais são as regiões para as quais PreferredLocations pode ser definido?What are the regions that PreferredLocations can be set to?

O valor de PreferredLocations pode ser definido para qualquer uma das regiões do Azure em que o Cosmos DB está disponível.The PreferredLocations value can be set to any of the Azure regions in which Cosmos DB is available. Para obter uma lista de regiões disponíveis, consulte Regiões do Azure.For a list of available regions, see Azure regions.

Há algo que devo saber ao distribuir dados pelo mundo todo por meio dos data centers do Azure?Is there anything I should be aware of when distributing data across the world via the Azure datacenters?

O Azure Cosmos DB está presente em todas as regiões do Azure, conforme especificado na página Regiões do Azure.Azure Cosmos DB is present across all Azure regions, as specified on the Azure regions page. Como ele é o serviço principal, cada novo data center tem uma presença do Azure Cosmos DB.Because it's the core service, every new datacenter has an Azure Cosmos DB presence.

Quando você definir uma região, lembre-se de que o Azure Cosmos DB respeita nuvens soberanas e governamentais.When you set a region, remember that Azure Cosmos DB respects sovereign and government clouds. Ou seja, se você criar uma conta em uma região soberana, não poderá replicar fora da região soberana.That is, if you create an account in a sovereign region, you can't replicate out of that sovereign region. Da mesma forma, você não pode habilitar a replicação em outros locais soberanos de uma conta externa.Similarly, you can't enable replication into other sovereign locations from an outside account.

É possível mudar do provisionamento de produtividade no nível do contêiner para o provisionamento de produtividade no nível do banco de dados?Is it possible to switch from container level throughput provisioning to database level throughput provisioning? Ou vice-versaOr vice versa

O provisionamento de produtividade no nível do contêiner e no nível do banco de dados são ofertas separadas e mudar entre elas requer a migração de dados de origem para destino.Container and database level throughput provisioning are separate offerings and switching between either of these require migrating data from source to destination. Isso significa que você precisa criar um novo banco de dados ou um novo contêiner e, em seguida, migrar os dados usando a biblioteca do executor em massa ou o Azure Data Factory.Which means you need to create a new database or a new container and then migrate data by using bulk executor library or Azure Data Factory.

O Azure CosmosDB dá suporte à análise de série temporal?Does Azure CosmosDB support time series analysis?

Sim, o Azure CosmosDB dá suporte à análise de série temporal; veja um exemplo do padrão de série temporal.Yes Azure CosmosDB supports time series analysis, here is a sample for time series pattern. O exemplo mostra como usar o feed de alterações para criar exibições agregadas nos dados de série temporal.This sample shows how to use change feed to build aggregated views over time series data. Você pode estender essa abordagem usando o streaming do spark ou outro processador de dados de streaming.You can extend this approach by using spark streaming or another stream data processor.

Quais são as cotas de serviço e os limites de taxa de transferência do Azure Cosmos DBWhat are the Azure Cosmos DB service quotas and throughput limits

Consulte os artigos sobre cotas de serviço e limites de taxa de transferência por contêiner e banco de dados do Azure Cosmos DB para obter mais informações.See the Azure Cosmos DB service quotas and throughout limits per container and database articles for more information.

Perguntas frequentes sobre a API do SQLFrequently asked questions about SQL API

Como fazer para começar a desenvolver com a API do SQL?How do I start developing against the SQL API?

Primeiro você deve se inscrever para uma assinatura do Azure.First you must sign up for an Azure subscription. Depois de se inscrever em uma assinatura do Azure, você poderá adicionar o contêiner da API do SQL à sua assinatura do Azure.Once you sign up for an Azure subscription, you can add a SQL API container to your Azure subscription. Para obter instruções sobre como adicionar uma conta do Azure Cosmos DB, consulte Criar uma conta de banco de dados do Azure Cosmos.For instructions on adding an Azure Cosmos DB account, see Create an Azure Cosmos database account.

SDKs estão disponíveis para .NET, Python, Node.js, JavaScript e Java.SDKs are available for .NET, Python, Node.js, JavaScript, and Java. Os desenvolvedores também podem usar as APIs HTTP RESTful para interagir com os recursos do Azure Cosmos DB em uma série de plataformas e linguagens.Developers can also use the RESTful HTTP APIs to interact with Azure Cosmos DB resources from various platforms and languages.

Posso acessar algumas amostras prontas para obter uma vantagem?Can I access some ready-made samples to get a head start?

Exemplos para os SDKs do .NET, Java, Node.js e Python da API do SQL estão disponíveis no GitHub.Samples for the SQL API .NET, Java, Node.js, and Python SDKs are available on GitHub.

O banco de dados da API do SQL dá suporte para dados sem esquemas?Does the SQL API database support schema-free data?

Sim, a API do SQL permite que os aplicativos armazenem documentos JSON arbitrários sem dicas nem definições de esquema.Yes, the SQL API allows applications to store arbitrary JSON documents without schema definitions or hints. Os dados ficam disponíveis imediatamente para consulta por meio da interface de consulta SQL do Azure Cosmos DB.Data is immediately available for query through the Azure Cosmos DB SQL query interface.

A API do SQL dá suporte para transações ACID?Does the SQL API support ACID transactions?

Sim, a API do SQL dá suporte a transações entre documentos expressas como procedimentos armazenados e gatilhos do JavaScript.Yes, the SQL API supports cross-document transactions expressed as JavaScript-stored procedures and triggers. 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.Transactions are scoped to a single partition within each container and executed with ACID semantics as "all or nothing," isolated from other concurrently executing code and user requests. Se exceções forem emitidas por parte da execução do código de aplicativo JavaScript pelo servidor, toda a transação será revertida.If exceptions are thrown through the server-side execution of JavaScript application code, the entire transaction is rolled back.

O que é um contêiner?What is a container?

Um contêiner é um grupo de documentos e de suas respectivas lógicas de aplicativo JavaScript associadas.A container is a group of documents and their associated JavaScript application logic. Um contêiner é uma entidade faturável, em que o custo é determinado pela produtividade e pelo armazenamento usado.A container is a billable entity, where the cost is determined by the throughput and used storage. Os contêineres podem abranger um ou mais servidores ou partições e podem ser dimensionados para lidar com volumes de armazenamento ou de produtividade praticamente ilimitados.Containers can span one or more partitions or servers and can scale to handle practically unlimited volumes of storage or throughput.

  • Para a API do SQL, o recurso é chamado de contêiner.For SQL API, the resource is called a container.
  • Para contas da API do Cosmos DB para contas do MongoDB, o contêiner é mapeado para uma coleção.For Cosmos DB's API for MongoDB accounts, a container maps to a Collection.
  • Para contas da API do Cassandra e de Tabela, o contêiner é mapeado para uma tabela.For Cassandra and Table API accounts, a container maps to a Table.
  • Para contas da API do Gremlin, o contêiner é mapeado para um grafo.For Gremlin API accounts, a container maps to a Graph.

Os contêineres também são as entidades de cobrança do Azure Cosmos DB.Containers are also the billing entities for Azure Cosmos DB. Cada contêiner é cobrado por hora com base na produtividade provisionada e no espaço de armazenamento usado.Each container is billed hourly, based on the provisioned throughput and used storage space. Para obter mais informações, consulte o Preço do Azure Cosmos DB.For more information, see Azure Cosmos DB Pricing.

Como crio um banco de dados?How do I create a database?

Você pode criar bancos de dados usando o Portal do Azure, conforme descrito em Adicionar um contêiner, um dos SDKs do Azure Cosmos DB ou as APIs REST.You can create databases by using the Azure portal, as described in Add a container, one of the Azure Cosmos DB SDKs, or the REST APIs.

Como configuro usuários e permissões?How do I set up users and permissions?

Você pode criar usuários e permissões usando um dos SDKs da API do Cosmos DB ou as APIs REST.You can create users and permissions by using one of the Cosmos DB API SDKs or the REST APIs.

A API do SQL dá suporta para SQL?Does the SQL API support SQL?

A linguagem de consulta SQL com suporte nas contas da API do SQL é um subconjunto avançado da funcionalidade de consulta com suporte no SQL Server.The SQL query language supported by SQL API accounts is an enhanced subset of the query functionality that's supported by SQL Server. A linguagem de consulta SQL do Azure Cosmos DB fornece operadores hierárquicos e relacionais avançados e extensibilidade por meio de UDFs (funções definidas pelo usuário) baseadas em JavaScript.The Azure Cosmos DB SQL query language provides rich hierarchical and relational operators and extensibility via JavaScript-based, user-defined functions (UDFs). 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.JSON grammar allows for modeling JSON documents as trees with labeled nodes, which are used by both the Azure Cosmos DB automatic indexing techniques and the SQL query dialect of Azure Cosmos DB. Para obter informações sobre como usar a gramática SQL, consulte o artigo Consulta SQL.For information about using SQL grammar, see the SQL Query article.

A API do SQL dá suporte para funções de agregação SQL?Does the SQL API support SQL aggregation functions?

A API do SQL dá suporte à agregação de baixa latência em qualquer escala por meio das funções de agregação COUNT, MIN, MAX, AVG e SUM pela gramática SQL.The SQL API supports low-latency aggregation at any scale via aggregate functions COUNT, MIN, MAX, AVG, and SUM via the SQL grammar. Para saber mais, consulte Funções de agregação.For more information, see Aggregate functions.

Como a API do SQL fornece simultaneidade?How does the SQL API provide concurrency?

A API do SQL dá suporte ao OCC (controle de simultaneidade otimista) por meio de marcações da entidade HTTP ou Etags.The SQL API supports optimistic concurrency control (OCC) through HTTP entity tags, or ETags. Cada recurso da API do SQL tem uma Etag e a Etag é definida no servidor sempre que um documento é atualizado.Every SQL API resource has an ETag, and the ETag is set on the server every time a document is updated. O cabeçalho da Etag e o valor atual são incluídos em todas as mensagens de resposta.The ETag header and the current value are included in all response messages. 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.ETags can be used with the If-Match header to allow the server to decide whether a resource should be updated. O valor de If-Match é o valor de Etag a ser comparado.The If-Match value is the ETag value to be checked against. Se o valor de Etag corresponder ao valor de Etag do servidor, o recurso será atualizado.If the ETag value matches the server ETag value, the resource is updated. 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".If the ETag is no longer current, the server rejects the operation with an "HTTP 412 Precondition failure" response code. O cliente refaz a busca do recurso a fim de obter o valor de Etag atual para o recurso.The client then refetches the resource to acquire the current ETag value for the resource. Além disso, as Etags podem ser usadas com o cabeçalho If-None-Match para determinar se é necessário realizar uma nova busca de um recurso.In addition, ETags can be used with the If-None-Match header to determine whether a refetch of a resource is needed.

Para usar a simultaneidade otimista em .NET, use a classe AccessCondition .To use optimistic concurrency in .NET, use the AccessCondition class. Para obter um exemplo de .NET, confira Program.cs no exemplo DocumentManagement no GitHub.For a .NET sample, see Program.cs in the DocumentManagement sample on GitHub.

Como fazer para realizar transações na API do SQL?How do I perform transactions in the SQL API?

A API do SQL dá suporte a transações integradas à linguagem por meio de procedimentos armazenados e gatilhos do JavaScript.The SQL API supports language-integrated transactions via JavaScript-stored procedures and triggers. Todas as operações de banco de dados dentro de scripts são executadas em isolamento de instantâneo.All database operations inside scripts are executed under snapshot isolation. Caso seja um contêiner de partição única, a execução terá o escopo definido para o contêiner.If it's a single-partition container, the execution is scoped to the container. Se o contêiner estiver particionado, a execução terá o escopo definido para documentos com o mesmo valor de chave de partição dentro do contêiner.If the container is partitioned, the execution is scoped to documents with the same partition-key value within the container. E obtido um instantâneo das versões do documento (ETags) no início da transação e confirmado somente se o script for bem-sucedido.A snapshot of the document versions (ETags) is taken at the start of the transaction and committed only if the script succeeds. Se o JavaScript emitir um erro, a transação será revertida.If the JavaScript throws an error, the transaction is rolled back. Para obter mais informações, consulte a Programação JavaScript do lado do servidor para o Azure Cosmos DB.For more information, see Server-side JavaScript programming for Azure Cosmos DB.

Como posso inserir documentos em massa no Cosmos DB?How can I bulk-insert documents into Cosmos DB?

Você pode fazer a inserção em massa documentos no Azure Cosmos DB de uma das seguintes maneiras:You can bulk-insert documents into Azure Cosmos DB in one of the following ways:

Sim. Como o Azure Cosmos DB é um serviço RESTful, os links de recursos são imutáveis e podem ser armazenados em cache.Yes, because Azure Cosmos DB is a RESTful service, resource links are immutable and can be cached. Os clientes da API do SQL podem especificar um cabeçalho “If-None-Match” para leituras em qualquer documento semelhante a recurso ou contêiner e atualizar suas cópias após a versão do servidor ser alterada.SQL API clients can specify an "If-None-Match" header for reads against any resource-like document or container and then update their local copies after the server version has changed.

Uma instância local da API do SQL está disponível?Is a local instance of SQL API available?

Sim.Yes. O Emulador do Azure Cosmos DB fornece uma emulação de alta fidelidade do serviço Cosmos DB.The Azure Cosmos DB Emulator provides a high-fidelity emulation of the Cosmos DB service. Ele dá suporte a uma funcionalidade idêntica ao Azure Cosmos DB, incluindo suporte para criar e consultar documentos JSON, provisionar e dimensionar coleções, bem como executar procedimentos armazenados e gatilhos.It supports functionality that's identical to Azure Cosmos DB, including support for creating and querying JSON documents, provisioning and scaling collections, and executing stored procedures and triggers. Você pode desenvolver e testar aplicativos usando o Emulador do Azure Cosmos DB e implanta-los no Azure em escala global fazendo uma única alteração de configuração no ponto de extremidade de conexão do Azure Cosmos DB.You can develop and test applications by using the Azure Cosmos DB Emulator, and deploy them to Azure at a global scale by making a single configuration change to the connection endpoint for Azure Cosmos DB.

Por que os valores de ponto flutuante longos em um documento são arredondados quando exibidos no Data Explorer no portal.Why are long floating-point values in a document rounded when viewed from data explorer in the portal.

Esta é a limitação do JavaScript.This is limitation of JavaScript. O JavaScript usa números de formato de ponto flutuante de precisão dupla conforme especificado em IEEE 754 e pode manter, com segurança, apenas números entre -(253 - 1) e 253-1 (isto é, 9007199254740991).JavaScript uses double-precision floating-point format numbers as specified in IEEE 754 and it can safely hold numbers between -(253 - 1) and 253-1 (i.e., 9007199254740991) only.

Onde as permissões são permitidas na hierarquia do objeto?Where are permissions allowed in the object hierarchy?

A criação de permissões usando o ResourceTokens é permitida no nível do contêiner e de seus descendentes (como documentos, anexos).Creating permissions by using ResourceTokens is allowed at the container level and its descendants (such as documents, attachments). Isso implica que, no momento, tentar criar uma permissão no nível do banco de dados ou da conta não é permitido.This implies that trying to create a permission at the database or an account level isn't currently allowed.

Próximas etapasNext steps

Para obter mais informações sobre perguntas frequentes de outras APIs, consulte:To learn about frequently asked questions in other APIs, see: