Variáveis de entrada para uma solicitação de API REST do ONTAP
Você pode controlar como uma chamada de API é processada através de parâmetros e variáveis definidos na solicitação HTTP.
Métodos HTTP
Os métodos HTTP suportados pela API REST do ONTAP são mostrados na tabela a seguir.
|
Nem todos os métodos HTTP estão disponíveis em cada um dos pontos finais REST. Além disso, tanto O PATCH quanto O DELETE podem ser usados em uma coleção. Consulte referências de objetos e Access para obter mais informações. |
Método HTTP | Descrição |
---|---|
OBTER |
Recupera propriedades de objeto em uma instância ou coleção de recursos. |
POST |
Cria uma nova instância de recurso com base na entrada fornecida. |
PATCH |
Atualiza uma instância de recurso existente com base na entrada fornecida. |
ELIMINAR |
Exclui uma instância de recurso existente. |
CABEÇA |
Efetivamente emite uma solicitação GET, mas retorna apenas os cabeçalhos HTTP. |
OPÇÕES |
Determine quais métodos HTTP são suportados em um endpoint específico. |
Variáveis de caminho
O caminho do endpoint usado com cada chamada da API REST pode incluir vários identificadores. Cada ID corresponde a uma instância de recurso específica. Os exemplos incluem ID do cluster e ID SVM.
Cabeçalhos de solicitação
Você deve incluir vários cabeçalhos na solicitação HTTP.
- Tipo de conteúdo
-
Se o corpo da solicitação incluir JSON, esse cabeçalho deve ser definido como
application/json
. - Aceitar
-
Esse cabeçalho deve ser definido como
application/hal+json
. Se, em vez disso, for definido comoapplication/json
nenhum dos links HAL será retornado, exceto um link necessário para recuperar o próximo lote de Registros. Se o cabeçalho for qualquer outra coisa além desses dois valores, o valor padrão docontent-type
cabeçalho na resposta seráapplication/hal+json
. - Autorização
-
A autenticação básica deve ser definida com o nome de usuário e senha codificados como uma cadeia de carateres base64. Por exemplo:
Authorization: Basic YWRtaW46cGV0ZXJzb24=
.
Corpo do pedido
O conteúdo do corpo da solicitação varia de acordo com a chamada específica. O corpo da solicitação HTTP consiste em um dos seguintes:
-
Objeto JSON com variáveis de entrada
-
Objeto JSON vazio
Filtrando objetos
Ao emitir uma chamada de API com o método GET, você pode limitar ou filtrar os objetos retornados com base em qualquer atributo usando um parâmetro de consulta.
Um conjunto de um ou mais parâmetros pode ser anexado à cadeia de carateres URL começando após o ?
caractere. Se mais de um parâmetro for fornecido, os parâmetros de consulta serão divididos com base no &
caractere. Cada chave e valor no parâmetro são divididos no =
caractere.
Por exemplo, você pode especificar um valor exato para corresponder usando o sinal igual:
<field>=<value>
Para uma consulta mais complexa, o operador adicional é colocado após o sinal de igual. Por exemplo, para selecionar o conjunto de objetos com base em um campo específico que seja maior ou igual a algum valor, a consulta seria:
<field>=>=<value>
Além dos exemplos fornecidos acima, operadores adicionais estão disponíveis para retornar objetos em uma faixa de valores. Um resumo dos operadores de filtragem suportados pela API REST do ONTAP é mostrado na tabela abaixo.
|
Todos os campos que não estão definidos são geralmente excluídos de consultas correspondentes. |
Operador |
Descrição |
. |
Igual a. |
* |
Menos de |
> |
Superior a. |
O que é que é |
Inferior ou igual a |
> |
Maior ou igual a |
! |
Não é igual a |
* |
Wildcard ganancioso |
Você também pode retornar uma coleção de objetos com base se um campo específico está definido ou não usando a null
palavra-chave ou sua negação !null
como parte da consulta.
Alguns exemplos estão incluídos abaixo dos fluxos de trabalho da API REST neste site.
-
Filtro com base na
state
variável para selecionar os discos sobressalentes.
Solicitando campos de objeto específicos
Por padrão, emitir uma chamada de API usando O GET retorna apenas os atributos que identificam exclusivamente o objeto ou objetos, juntamente com um auto-link HAL. Este conjunto mínimo de campos atua como uma chave para cada objeto e varia de acordo com o tipo de objeto. Você pode selecionar propriedades de objeto adicionais usando o fields
parâmetro de consulta das seguintes maneiras:
-
Campos comuns ou padrão
`fields=*``Especifique para recuperar os campos de objeto mais comumente usados. Esses campos são normalmente mantidos na memória do servidor local ou requerem pouco processamento para acessar. Estas são as mesmas propriedades retornadas para um objeto depois de usar GET com uma chave de caminho de URL (UUID).
-
Todos os campos
`fields=**`Especifique para recuperar todos os campos de objeto, incluindo aqueles que exigem processamento adicional de servidor para acessar.
-
Seleção de campo personalizada
`fields=<field_name>`Use para especificar o campo exato desejado. Ao solicitar vários campos, os valores devem ser separados usando vírgulas sem espaços.
Como prática recomendada, você deve sempre identificar os campos específicos que deseja. Você só deve recuperar o conjunto de campos comuns ou todos os campos quando necessário. Quais campos são classificados como comuns e retornados usando `fields=*`o , são determinados pelo NetApp com base na análise interna de desempenho. A classificação de um campo pode mudar em versões futuras.
Ordenar objetos no conjunto de saída
Os Registros em uma coleção de recursos são retornados na ordem padrão definida pelo objeto. Você pode alterar a ordem usando o order_by
parâmetro de consulta com o nome do campo e a direção de classificação da seguinte forma:
order_by=<field name> asc|desc
Por exemplo, você pode classificar o campo tipo em ordem decrescente seguido de id em ordem crescente:
order_by=type desc, id asc
Observe o seguinte:
-
Se você especificar um campo de classificação, mas não fornecer uma direção, os valores serão classificados em ordem crescente.
-
Ao incluir vários parâmetros, você deve separar os campos com uma vírgula.
Paginação ao recuperar objetos em uma coleção
Ao emitir uma chamada de API usando GET para acessar uma coleção de objetos do mesmo tipo, o ONTAP tenta retornar o maior número possível de objetos com base em duas restrições. Você pode controlar cada uma dessas restrições usando parâmetros de consulta adicionais na solicitação. A primeira restrição alcançada para uma SOLICITAÇÃO GET específica termina a solicitação e, portanto, limita o número de Registros retornados.
|
Se uma solicitação terminar antes de iterar todos os objetos, a resposta conterá o link necessário para recuperar o próximo lote de Registros. |
- Limitando o número de objetos
-
Por padrão, o ONTAP retorna um máximo de 10.000 objetos para uma SOLICITAÇÃO GET. Você pode alterar esse limite usando o
max_records
parâmetro de consulta. Por exemplo:max_records=20
O número de objetos realmente retornados pode ser menor do que o máximo em efeito, com base na restrição de tempo relacionada, bem como o número total de objetos no sistema.
- Limitar o tempo usado para recuperar os objetos
-
Por padrão, o ONTAP retorna o maior número possível de objetos dentro do tempo permitido para a solicitação GET. O tempo limite padrão é de 15 segundos. Você pode alterar esse limite usando o
return_timeout
parâmetro de consulta. Por exemplo:return_timeout=5
O número de objetos realmente retornados pode ser menor que o máximo em efeito, com base na restrição relacionada ao número de objetos, bem como o número total de objetos no sistema.
- Estreitar o conjunto de resultados
-
Se necessário, você pode combinar esses dois parâmetros com parâmetros de consulta adicionais para restringir o conjunto de resultados. Por exemplo, o seguinte retorna até 10 eventos ems gerados após o tempo especificado:
time=> 2018-04-04T15:41:29.140265Z&max_records=10
Você pode emitir várias solicitações para percorrer os objetos. Cada chamada de API subsequente deve usar um novo valor de tempo com base no evento mais recente no último conjunto de resultados.
Propriedades de tamanho
Os valores de entrada usados com algumas chamadas de API, bem como certos parâmetros de consulta são numéricos. Em vez de fornecer um inteiro em bytes, você pode opcionalmente usar um sufixo como mostrado na tabela a seguir.
Sufixo | Descrição |
---|---|
KB |
KB kilobytes (1024 bytes) ou kibibytes |
MB |
MB megabytes (KB x 1024 bytes) ou megabytes |
GB |
GB Gigabytes (MB x 1024 bytes) ou gibytes |
TB |
TB Terabytes (GB x 1024 bytes) ou tebibytes |
PB |
PB petabytes (TB x 1024 bytes) ou petabytes |