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 secções seguintes.
Extensões de Armazenamento de Tabelas
O Armazenamento de Tabelas expande a funcionalidade das OData
seguintes formas.
Chave Partilhada, Chave Partilhada Lite e autorização de Microsoft Entra
O Armazenamento de Tabelas requer que cada pedido seja autorizado. A Chave Partilhada, a Chave Partilhada Lite e Microsoft Entra ID autorização são suportadas. Microsoft Entra ID autorização é mais segura e recomenda-se que os pedidos feitos no Armazenamento de Tabelas utilizem a API REST.
Para obter mais informações sobre como autorizar pedidos, veja Autorizar pedidos para o Armazenamento do Azure.
Tokens de continuação para paginação de consultas
Uma consulta no Armazenamento de Tabelas pode devolver um máximo de 1000 itens de uma só vez e pode ser executada durante um máximo de cinco segundos. Se o conjunto de resultados contiver mais de 1000 itens ou se a consulta não tiver terminado dentro de cinco segundos, a resposta inclui cabeçalhos. Estes cabeçalhos fornecem ao programador tokens de continuação a utilizar para retomar a consulta no item seguinte no conjunto de resultados. Os cabeçalhos de tokens de continuação podem ser devolvidos para uma operação de Tabelas de Consultas ou para uma operação entidades de consulta.
Tenha em atenção que o tempo total atribuído ao pedido de agendamento e processamento da consulta é de 30 segundos, incluindo os cinco segundos para a execução da consulta.
Para obter mais informações sobre os tokens de continuação, veja Tempo limite de consulta e paginação.
Propriedades do sistema de chaves primárias
Cada entidade no Armazenamento de Tabelas tem duas propriedades principais: a PartitionKey
propriedade e a RowKey
propriedade. Estas propriedades formam a chave primária da tabela e identificam exclusivamente cada entidade na tabela.
Ambas as propriedades requerem valores de cadeia. É da responsabilidade do programador fornecer valores para estas propriedades quando uma nova entidade é inserida e incluí-las em qualquer operação de atualização ou eliminação numa entidade.
Para obter mais informações sobre estas propriedades de chave necessárias, veja Compreender o modelo de dados de Armazenamento de Tabelas.
Propriedade do sistema de carimbo de data/hora
Todas as entidades no Armazenamento de Tabelas têm uma Timestamp
propriedade de sistema. A Timestamp
propriedade é um DateTime
valor, mantido no lado do servidor, para registar a hora em que uma entidade foi modificada pela última vez. O Armazenamento de Tabelas utiliza a Timestamp
propriedade internamente para proporcionar simultaneidade otimista. O valor de Timestamp
é um valor monotonicamente crescente, o que significa que sempre que a entidade é modificada, o valor de Timestamp
aumentos para essa entidade. Esta propriedade não deve ser definida em operações de inserção ou atualização (o valor será ignorado).
Para obter mais informações sobre a Timestamp
propriedade, veja Understanding the Table Storage data model (Compreender o modelo de dados de Armazenamento de Tabelas).
Operações do Batch
O Armazenamento de Tabelas suporta transações em lote em entidades que estão na mesma tabela e pertencem ao mesmo grupo de partições, o que significa que têm o mesmo PartitionKey
valor. Isto permite que várias operações de inserção, atualização, intercalação e eliminação sejam suportadas numa única transação atómica. O Armazenamento de Tabelas suporta um subconjunto da funcionalidade fornecida pelo protocolo OData.
Para obter mais informações sobre operações em lote, veja Executar transações de grupos de entidades.
Restrições de Armazenamento de Tabelas
O Armazenamento de Tabelas tem as seguintes restrições à funcionalidade fornecidas pelo OData
.
Propriedade Credenciais
O Armazenamento de Tabelas não suporta a utilização da propriedade Credenciais da classe DataServiceContext para autorizar um pedido. Em vez disso, tem de autorizar um pedido no Armazenamento de Tabelas ao adicionar um Authorization
cabeçalho ao pedido. Para obter mais informações, veja Autorizar pedidos para o Armazenamento do Azure.
Tipo de propriedade
Nem todos os tipos de propriedade suportados por OData
são suportados. Para obter uma lista de tipos de propriedade suportados, veja Compreender o modelo de dados de Armazenamento de Tabelas.
Operações em ligações
Atualmente, o Armazenamento de Tabelas não suporta ligações entre tabelas. As ligações são relações associativas entre dados.
Operações em propriedades selecionadas
Projeção refere-se à consulta de um subconjunto das propriedades de uma entidade ou entidade. É análogo à seleção de um subconjunto das colunas ou propriedades de uma tabela quando está a consultar consultas integradas na linguagem (LINQ).
A projeção reduz a quantidade de dados que têm de ser devolvidos por uma consulta ao especificar que apenas determinadas propriedades são devolvidas na resposta. A projeção é suportada como parte da versão 2011-08-18 do Armazenamento do Azure. Para obter mais informações, veja Entidades de Consulta, Escrever consultas LINQ no Armazenamento de Tabelas e OData: Selecione Opção de Consulta do Sistema ($select).
Operadores de consulta LINQ
O Armazenamento de Tabelas suporta os seguintes operadores de consulta LINQ:
From
Where
Take
Para obter mais informações, veja Operadores de consulta suportados pelo Armazenamento de Tabelas.
Operadores de comparação LINQ
Pode utilizar um subconjunto dos operadores de comparação fornecidos pelo LINQ. Para obter mais informações, veja Consultar tabelas e entidades e Escrever consultas LINQ no Armazenamento de Tabelas.
Método GetMetadataURI
Pode utilizar o método GetMetadataURI da classe DataServiceContext , mas não devolve quaisquer informações de esquema para além das três propriedades de esquema fixas. Estas propriedades são PartitionKey
, RowKey
e Timestamp
.
Formatos de payload
OData
suporta o envio de payloads no formato JSON. O Armazenamento de Tabelas suporta o OData
formato JSON a partir da versão 2013-08-15 da API, com a versão do OData
serviço de dados definida como 3.0. As versões anteriores não suportam o formato JSON.
Os payloads do átomo são suportados em todas as versões anteriores a 2015-12-11. A versão 2015-12-11 e posterior suporta apenas payloads JSON.
Nota
JSON é o formato de payload recomendado e é o único formato suportado para a versão 2015-12-11 e posterior.
Para obter mais informações, veja Payload format for Table Storage operations and Setting the OData data service version headers (Formato payload para operações de Armazenamento de Tabelas) e Setting the OData data service version headers (Definir os cabeçalhos da versão do serviço de dados OData).