Após iniciar o serviço de dados REST do eXtreme Scale,
é possível usar qualquer cliente HTTP para interagir com ele. Um
navegador da Web, um cliente PHP, um cliente
Java ou um cliente WCF Data
Services podem ser utilizados para emitir quaisquer operações de
pedido suportadas.
O serviço REST implementa um subconjunto da especificação
Microsoft
Atom Publishing Protocol: Data Services URI and Payload
Extensions, Versão 1.0, que faz parte do
protocolo
OData.
Este tópico descreve quais dos recursos da especificação são suportados e como eles são mapeados para o eXtreme Scale.
URI da Raiz do Serviço
O
Microsoft WCF Data
Services normalmente define um serviço por origem de dados ou modelo
de entidade. O serviço de dados REST do eXtreme Scale
define um serviço por ObjectGrid definido. Cada ObjectGrid que é definido
no arquivo XML de substituição de cliente do ObjectGrid do eXtreme Scale
é automaticamente exposto como uma raiz de serviço REST
separada.
O URI para a raiz do serviço é:
http://host:port/contextroot/restservice/gridname
Em que:
- contextroot é definido quando você implementa o aplicativo de serviço de dados REST
e depende do servidor de aplicativos
- gridname é o nome do ObjectGrid
Tipos de Pedidos
A lista a seguir descreve os
tipos de pedidos do Microsoft WCF Data
Services suportados pelo serviço de dados REST do eXtreme Scale. Para obter detalhes sobre cada tipo de pedido suportado pelo WCF Data Services, consulte: MSDN: Tipos de Pedidos.
- Tipos de pedido de inserção
Clientes podem inserir recursos
utilizando o verbo POST HTTP com as seguintes limitações:
- Pedido InsertEntity: Suportado.
- Pedido InsertLink: Suportado.
- Pedido InsertMediaResource: Não suportado devido à restrição de
suporte do recurso de mídia.
Para obter informações adicionais, consulte
MSDN: Inserir Tipos de Pedidos.
- Tipos de pedido de atualização
Clientes podem atualizar
recursos utilizando os verbos PUT e MERGE HTTP com as seguintes
limitações:
- Pedido UpdateEntity: Suportado.
- Pedido UpdateComplexType: Não suportado devido à restrição de
tipo complexo.
- Pedido UpdatePrimitiveProperty: Suportado.
- Pedido UpdateValue: Suportado.
- Pedido UpdateLink: Suportado.
- Pedido UpdateMediaResource: Não suportado devido à restrição de
suporte do recurso de mídia.
Para obter informações adicionais, consulte:
MSDN: Inserir Tipos de Pedidos.
- Tipos de pedido de exclusão
Clientes podem excluir recursos
utilizando o verbo DELETE HTTP com as seguintes limitações:
- Pedido DeleteEntity: Suportado.
- Pedido DeleteLink: Suportado.
- Pedido DeleteValue: Suportado.
Para obter informações adicionais, consulte:
MSDN: Excluir Tipos de Pedidos.
- Tipos de pedido de recuperação
Clientes podem recuperar
recursos utilizando o verbo GET HTTP com as seguintes limitações:
- Pedido RetrieveEntitySet: Suportado.
- Pedido RetrieveEntity: Suportado.
- Pedido RetrieveComplexType: Não suportado devido à restrição de
tipo complexo.
- Pedido RetrievePrimitiveProperty: Suportado.
- Pedido RetrieveValue: Suportado.
- Pedido RetrieveServiceMetadata: Suportado.
- Pedido RetrieveServiceDocument: Suportado.
- Pedido RetrieveLink: Suportado.
- Pedido Retrieve Contendo um Mapeamento de Feed Customizável: Não
Suportado.
- RetrieveMediaResource: Não suportado devido à restrição de
recurso de mídia.
Para obter informações adicionais, consulte:
MSDN: Recuperar Tipos de Pedidos.
- Opções de consulta do sistema
São suportadas consultas que
permitem que clientes identifiquem uma coleta de entidades ou uma
única entidade. As opções de consulta do sistema são especificadas em
um URI de serviço de dados e são suportadas com as seguintes
limitações:
- $expand: Suportada.
- $filter: Suportada.
- $orderby: Suportada.
- $format: Não suportada. O formato aceitável é identificado no
cabeçalho do pedido HTTP Accept.
- $skip: Suportada.
- $top: Suportada.
Para obter informações adicionais, consulte:
MSDN: Opções de Consulta do Sistema.
- Roteamento de partição
O roteamento de partição é baseado na
entidade raiz. Um URI de pedido infere uma entidade raiz se o caminho do recurso
começar com uma entidade raiz ou com uma entidade que tenha uma
associação direta ou indireta com a entidade. Em um ambiente
particionado, qualquer pedido que não possa inferir uma entidade raiz
será rejeitado. Qualquer pedido que infira uma entidade raiz será
roteado para a partição correta.
Para obter informações adicionais sobre
como definir um esquema com associações e entidades-raiz, consulte o Modelo de Dados Escalável no eXtreme Scale e o Particionamento.
Pedido de Chamada
Pedidos de
chamada não são suportados.
Para obter informações adicionais, consulte MSDN: Pedido de Chamada.
Pedido em Lote
Clientes podem criar lotes de vários
Conjuntos de Mudanças ou Operações de Consulta dentro de um único
pedido. Isso pode reduzir o número de roundtrips para o servidor e
permite que vários pedidos participem de uma única transação. Para obter informações adicionais, consulte
MSDN: Pedido em Lote.
Pedidos em Túnel
Pedidos em túnel não são suportados. Para obter informações adicionais, consulte MSDN: Pedidos em Túnel.