VENDAS: 1-800-867-1389

Entidades de consulta

Atualizado: fevereiro de 2014

A operação Query Entities consulta entidades em uma tabela e inclui as opções $filter e $select.

Para solicitações que usam a opção de consulta $select, a solicitação deve ser feita usando a versão 2011-08-18 ou posterior. Além disso, os cabeçalhos DataServiceVersion e MaxDataServiceVersion devem ser definidos como 2.0. A solicitação Query Entities pode ser criada da seguinte maneira. HTTPS é recomendado. Substitua myaccount pelo nome da conta de armazenamento, e mytable pelo nome da tabela:

 

Método URI de solicitação Versão de HTTP

GET

https://myaccount.table.core.windows.net/mytable(PartitionKey='<partition-key>',RowKey='<row-key>')?$select=<comma-separated-property-names>

https://myaccount.table.core.windows.net/mytable()?$filter=<query-expression>&$select=<comma-separated-property-names>

HTTP/1.1

O endereço do conjunto de entidades a ser consultado pode usar vários formulários no URI da solicitação. Para obter mais informações, consulte Consultando tabelas e entidades.

Ao fazer uma solicitação no serviço de armazenamento emulado, especifique o nome de host do emulador e a porta do serviço Tabela como 127.0.0.1:10002, seguido pelo nome da conta de armazenamento emulado:

 

Método URI de solicitação Versão de HTTP

GET

http://127.0.0.1:10002/devstoreaccount1/mytable(PartitionKey='<partition-key>',RowKey='<row-key>')?$select=<comma-separated-property-names>

http://127.0.0.1:10002/devstoreaccount1/mytable()?$filter=<query-expression>?$select=<comma-separated-property-names>

HTTP/1.1

O serviço Tabela no emulador de armazenamento difere de muitas maneiras do serviço Tabela do Windows® Azure™. Para obter mais informações, consulte About Development Storage e Diferenças entre o emulador de armazenamento e os serviços de armazenamento do Azure.

A operação Query Entities dá suporte às opções de consulta definidas pela Especificação de protocolo OData. Para obter mais informações, consulte Convenções de URI OData.

A tabela a seguir descreve os cabeçalhos de solicitação obrigatórios e opcionais.

 

Cabeçalho de solicitação Descrição

Authorization

Obrigatória. Especifica o esquema de autenticação, o nome da conta e a assinatura. Para obter mais informações, consulte Autenticação federada para os Serviços de Armazenamento do Azure.

Date ou x-ms-date

Obrigatória. Especifica o Tempo Universal Coordenado (UTC) para a solicitação. Para obter mais informações, consulte Autenticação federada para os Serviços de Armazenamento do Azure.

x-ms-version

Opcional. Especifica a versão da operação a ser usada para esta solicitação. Para obter mais informações, consulte Controle de versão para os Serviços de Armazenamento do Azure.

Accept

Opcional. Especifica o tipo de conteúdo aceito da carga de resposta. Os possíveis valores são:

  • application/atom+xml

  • application/json;odata=nometadata

  • application/json;odata=minimalmetadata

  • application/json;odata=fullmetadata

Para obter mais informações, consulte Formato de carga para operações do serviço Tabela.

x-ms-client-request-id

Opcional. Fornece um valor opaco, gerado pelo cliente, com um limite de caracteres de 1 KB que é registrado nos logs de análise quando o log de análise de armazenamento está habilitado. É altamente recomendável usar esse cabeçalho para correlacionar atividades do cliente com solicitações recebidas pelo servidor. Para obter mais informações, consulte Sobre o registro em log da Análise de Armazenamento e Log do Windows Azure: Usando logs para rastrear solicitações de armazenamento.

Request Syntax:
GET /myaccount/Customers()?$filter=(Rating%20ge%203)%20and%20(Rating%20le%206)&$select=PartitionKey,RowKey,Address,CustomerSince  HTTP/1.1

Request Headers:
x-ms-version: 2013-08-15
x-ms-date: Mon, 25 Nov 2013 15:25:14 GMT
Authorization: SharedKeyLite myaccount:<some key>
Accept: application/atom+xml,application/xml
Accept-Charset: UTF-8
DataServiceVersion: 2.0;NetFx
MaxDataServiceVersion: 2.0;NetFx

A resposta inclui um código de status HTTP, um conjunto de cabeçalhos de resposta e um corpo de resposta.

Uma operação bem-sucedida retorna o código de status 200 (OK).

Para obter mais informações sobre códigos de status, consulte Status e códigos de erro e Códigos de erro do serviço Tabela.

A resposta para esta operação inclui os cabeçalhos a seguir. A resposta também pode incluir cabeçalhos padrão HTTP adicionais. Todos os cabeçalhos padrão obedecem à especificação de protocolo HTTP/1.1.

 

Cabeçalho de resposta Descrição

x-ms-continuation-NextPartitionKey

x-ms-continuation-NextRowKey

Se o número de entidades a serem retornadas exceder 1.000, se o intervalo de tempo limite do servidor for excedido ou se a consulta ultrapassar o limite da partição, o cabeçalho de resposta incluirá os cabeçalhos de acompanhamento x-ms-continuation-NextPartitionKey e de x-ms-continuation-NextRowKey.

Para obter mais informações sobre como usar tokens de acompanhamento, consulte Tempo limite de consulta e paginação.

x-ms-request-id

Esse cabeçalho identifica a solicitação que foi feita de forma exclusiva e pode ser usado para solucionar problemas na solicitação. Para obter mais informações, consulte Solucionando problemas de operações de API.

x-ms-version

Indica a versão do serviço Tabela usado para executar a solicitação. Esse cabeçalho é retornado para solicitações feitas na versão 2009-09-19 e mais recente.

Date

Um valor de data/hora UTC gerado pelo serviço que indica a hora em que a resposta foi iniciada.

Content-Type

Indica o tipo de conteúdo da carga. O valor desse cabeçalho depende do valor do cabeçalho de solicitação Accept. Os possíveis valores são:

  • application/atom+xml

  • application/json;odata=nometadata

  • application/json;odata=minimalmetadata

  • application/json;odata=fullmetadata

Para obter mais informações sobre tipos de conteúdo válidos, consulte Formato de carga para operações do serviço Tabela.

Response Status:
HTTP/1.1 200 OK

Response Headers:
Content-Type: application/atom+xml;charset=utf-8
x-ms-request-id: 87f178c0-44fe-4123-a4c1-96c8fa6d9654
Date: Mon, 25 Nov 2013 15:25:14 GMT
x-ms-version: 2013-08-15
Connection: close

A operação Query Entities retorna a lista de entidades em uma tabela como um conjunto da entidades OData, em um feed Atom ou JSON, dependendo do cabeçalho Accept da solicitação.

Veja a seguir um exemplo de URI de solicitação para uma operação Query Entities em uma tabela Customers.

GET /myaccount/Customers()?$filter=(Rating%20ge%203)%20and%20(Rating%20le%206)&$select=PartitionKey,RowKey,Address,CustomerSince

E aqui está o corpo de resposta para um feed Atom:

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xml:base="https://myaccount.table.core.windows.net">
   <id>https://myaccount.table.core.windows.net/Customers</id>
   <title type="text">Customers</title>
   <updated>2013-08-22T00:50:32Z</updated>
   <link rel="self" title="Customers" href="Customers" />
   <entry m:etag="W/&quot;0x5B168C7B6E589D2&quot;">
      <id>https://myaccount.table.core.windows.net/Customers(PartitionKey='Customer',RowKey='Name')</id>
      <category term="myaccount.Customers" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
      <link rel="edit" title="Customers" href="Customers(PartitionKey='Customer',RowKey='Name')" />
      <title />
      <updated>2013-08-22T00:50:32Z</updated>
      <author>
         <name />
      </author>
      <content type="application/xml">
         <m:properties>
            <d:PartitionKey>Customer</d:PartitionKey>
            <d:RowKey>Name</d:RowKey>
            <d:Timestamp m:type="Edm.DateTime">2013-08-22T00:20:16.3134645Z</d:Timestamp>
            <d:CustomerSince m:type="Edm.DateTime">2008-10-01T15:25:05.2852025Z</d:CustomerSince>
         </m:properties>
      </content>
   </entry>
</feed>

O feed de resposta JSON é da seguinte maneira:

Sem metadados:

{
   "value":[
      {
         "PartitionKey":"Customer",
         "RowKey":"Name",
         "Timestamp":"2013-08-22T00:20:16.3134645Z",
         "CustomerSince":"2008-10-01T15:25:05.2852025Z"
      }
   ]
}

Metadados mínimos:

{
   "odata.metadata":"https://myaccount.table.core.windows.net/$metadata#Customers",
   "value":[
      {
         "PartitionKey":"Customer",
         "RowKey":"Name",
         "Timestamp":"2013-08-22T00:20:16.3134645Z",
         "CustomerSince@odata.type":"Edm.DateTime",
         "CustomerSince":"2008-10-01T15:25:05.2852025Z"
      }
   ]
}

Metadados completos:

{
   "odata.metadata":" https://myaccount.table.core.windows.net/metadata#Customers",
   "value":[
      {
         "odata.type":"myaccount.Customers",
         "odata.id":"https://myaccount.table.core.windows.net/Customers(PartitionKey=Customer',RowKey='Name')",
         "odata.etag":"W/\"0x5B168C7B6E589D2\"",
         "odata.editLink":"Customers(PartitionKey=Customer',RowKey='Name')",
         "PartitionKey":"Customer",
         "RowKey":"Name",
         "Timestamp@odata.type":"Edm.DateTime",
         "Timestamp":"2013-08-22T00:20:16.3134645Z",
         "CustomerSince@odata.type":"Edm.DateTime",
         "CustomerSince":"2008-10-01T15:25:05.2852025Z"
      }
   ]
}

Essa operação poderá ser executada pelo proprietário da conta e por qualquer pessoa com uma assinatura de acesso compartilhado que tenha permissão para executar essa operação.

Uma consulta no serviço Tabela pode retornar, no máximo, 1.000 entidades simultaneamente e pode ser executada por até cinco segundos. Se o conjunto de resultados contiver mais de 1.000 entidades, se a consulta não for concluída em até cinco segundos ou se a consulta ultrapassar o limite da partição, a resposta incluirá os cabeçalhos personalizados que contêm um conjunto de tokens de acompanhamento. Os tokens de acompanhamento podem ser usados para criar uma solicitação subsequente para a página de dados seguinte. Para obter mais informações sobre tokens de acompanhamento, consulte Tempo limite de consulta e paginação.

Para solicitações de projeção que usam a opção de consulta $select, a solicitação deve ser feita usando a versão 2011-08-18 ou mais recente. O número máximo de propriedades retornadas é 255, e todas as propriedades personalizadas serão incluídas no corpo da resposta se a propriedade não fizer parte da entidade retornada. Por exemplo, se a solicitação incluir uma propriedade que a entidade projetadas não contenha, a propriedade ausente será marcada com um atributo nulo. O exemplo de corpo de resposta anterior inclui a propriedade de endereço, que não faz parte da entidade projetada, então, a propriedade será nula: <d:Address m:null=”true” />

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.

Observe que o lado direito de uma expressão de consulta deve ser uma constante; você não pode fazer referência a uma propriedade no lado direito da expressão. Consulte Consultando tabelas e entidades para obter detalhes sobre como criar expressões de consulta.

Uma expressão de consulta não pode conter valores nulo. Os seguintes caracteres deverão ser codificados se forem usados em uma cadeia de caracteres de consulta:

  • Barra (/)

  • Ponto de interrogação (?)

  • Dois-pontos (:)

  • Símbolo de arroba (@)

  • “E” comercial (&)

  • Sinal de igual (=)

  • Sinal de adição (+)

  • Vírgula (,)

  • Sinal de dólar ($)

Qualquer aplicativo que pode autenticar e enviar uma solicitação HTTP GET pode consultar entidades em uma tabela.

Para obter mais informações sobre operações de consulta com suporte no serviço Tabela por meio de LINQ, consulte Operadores de consulta com suporte do serviço Tabela e Gravando consultas LINQ no serviço Tabela.

Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários
Mostrar:
© 2014 Microsoft