Resumo da funcionalidade de Armazenamento de Tabelas
A API REST do Armazenamento de Tabelas do Azure está em conformidade com a especificação do protocolo OData, com algumas diferenças, conforme descrito nas seções a seguir.
Extensões de Armazenamento de Tabelas
O Armazenamento de Tabelas estende a funcionalidade de das OData
seguintes maneiras.
Chave compartilhada, chave compartilhada Lite e autorização de Microsoft Entra
O Armazenamento de Tabelas requer que cada solicitação seja autorizada. Há suporte para a chave compartilhada, a chave compartilhada Lite e a autorização de Microsoft Entra ID. Microsoft Entra ID autorização é mais segura e é recomendável para solicitações feitas no Armazenamento de Tabelas usando a API REST.
Para obter mais informações sobre como autorizar solicitações, consulte Autorizar solicitações para o Armazenamento do Azure.
Tokens de continuação para paginação de consulta
Uma consulta no Armazenamento de Tabelas pode retornar no máximo 1.000 itens ao mesmo tempo e pode ser executada por um máximo de cinco segundos. Se o conjunto de resultados contiver mais de 1.000 itens ou se a consulta não tiver sido concluída em cinco segundos, a resposta incluirá cabeçalhos. Esses cabeçalhos fornecem ao desenvolvedor tokens de continuação a serem usados para retomar a consulta no próximo item no conjunto de resultados. Cabeçalhos de token de continuação podem ser retornados para uma operação tabelas de consulta ou uma operação entidades de consulta.
Observe que o tempo total distribuído à solicitação para agendar e processar a consulta é de 30 segundos, incluindo os cinco segundos para a execução da consulta.
Para obter mais informações sobre tokens de continuação, consulte Tempo limite de consulta e paginação.
Propriedades do sistema de chave primária
Cada entidade no Armazenamento de Tabelas tem duas propriedades principais: a PartitionKey
propriedade e a RowKey
propriedade . Essas propriedades formam a chave primária da tabela e identificam exclusivamente cada entidade na tabela.
Ambas as propriedades requerem valores de cadeia de caracteres. É responsabilidade do desenvolvedor fornecer valores para essas propriedades quando uma nova entidade é inserida e incluí-las em qualquer operação de atualização ou exclusão em uma entidade.
Para obter mais informações sobre essas propriedades de chave necessárias, consulte Noções básicas sobre o modelo de dados do Armazenamento de Tabelas.
Propriedade do sistema de carimbo de data/hora
Cada entidade no Armazenamento de Tabelas tem uma Timestamp
propriedade do sistema. A Timestamp
propriedade é um DateTime
valor, mantido no lado do servidor, para registrar a hora em que uma entidade foi modificada pela última vez. O Armazenamento de Tabelas usa a Timestamp
propriedade internamente para fornecer simultaneidade otimista. O valor de Timestamp
é um valor de forma monotônica, o que significa que cada vez que a entidade é alterada, o valor de Timestamp
aumenta para essa entidade. Essa propriedade deve ser definida como operações de inserção ou atualização (o valor será ignorado).
Para obter mais informações sobre a Timestamp
propriedade , consulte Noções básicas sobre o modelo de dados do Armazenamento de Tabelas.
Operações em lote
O Armazenamento de Tabelas dá suporte a transações em lote em entidades que estão na mesma tabela e pertencem ao mesmo grupo de partição, o que significa que elas têm o mesmo PartitionKey
valor. Isso permite o suporte para várias operações de inserção, atualização, mesclagem e exclusão em uma única transação atômica. O Armazenamento de Tabelas dá suporte a um subconjunto da funcionalidade fornecida pelo protocolo OData.
Para obter mais informações sobre operações em lote, consulte Executando transações de grupo de entidades.
Restrições de Armazenamento de Tabelas
O Armazenamento de Tabelas tem as seguintes restrições sobre a funcionalidade fornecida pelo OData
.
Propriedade Credentials
O Armazenamento de Tabelas não dá suporte ao uso da propriedade Credentials da classe DataServiceContext para autorizar uma solicitação. Em vez disso, você deve autorizar uma solicitação no Armazenamento de Tabelas adicionando um Authorization
cabeçalho à solicitação. Para saber mais, confira Autorizar solicitações para o Armazenamento do Azure.
Tipos de propriedade
Nem todos os tipos de propriedade compatíveis com OData
o têm suporte. Para obter uma lista de tipos de propriedade com suporte, consulte Noções básicas sobre o modelo de dados do Armazenamento de Tabelas.
Operações em links
Atualmente, o Armazenamento de Tabelas não dá suporte a links entre tabelas. Os links são relações associativas entre dados.
Operações em propriedades selecionadas
Projeção refere-se à consulta de um subconjunto das propriedades para uma entidade ou entidades. É análogo à seleção de um subconjunto das colunas ou propriedades de uma tabela ao consultar consultas integradas à linguagem (LINQ).
A projeção reduz a quantidade de dados que devem ser retornados por uma consulta especificando que somente algumas propriedades serão retornadas na resposta. A projeção tem suporte como parte da versão 2011-08-18 do Armazenamento do Azure. Para obter mais informações, consulte Entidades de consulta, Gravando consultas LINQ no Armazenamento de Tabelas e OData: Selecionar opção de consulta do sistema ($select).
Operadores de consulta LINQ
O Armazenamento de Tabelas dá suporte aos seguintes operadores de consulta LINQ:
From
Where
Take
Para obter mais informações, consulte Operadores de consulta compatíveis com o Armazenamento de Tabelas.
Operadores de comparação LINQ
Você pode usar um subconjunto dos operadores de comparação fornecidos pelo LINQ. Para obter mais informações, consulte Consultando tabelas e entidades e Escrevendo consultas LINQ no Armazenamento de Tabelas.
Método GetMetadataURI
Você pode usar o método GetMetadataURI da classe DataServiceContext , mas ele não retorna nenhuma informação de esquema além das três propriedades de esquema fixas. Essas propriedades são PartitionKey
, RowKey
e Timestamp
.
Formatos de carga
OData
dá suporte ao envio de cargas no formato JSON. O Armazenamento de Tabelas dá suporte ao OData
formato JSON a partir da versão da API 2013-08-15, com a versão do OData
serviço de dados definida como 3.0. As versões anteriores não dão suporte ao formato JSON.
Há suporte para cargas Atom em todas as versões anteriores a 2015-12-11. A versão 2015-12-11 e posterior dá suporte apenas a conteúdos JSON.
Observação
JSON é o formato de conteúdo recomendado e é o único formato com suporte para a versão 2015-12-11 e posterior.
Para obter mais informações, consulte Formato de conteúdo para operações de Armazenamento de Tabelas e Configurando os cabeçalhos de versão do serviço de dados OData.