API MetricBase Time Series
A API MetricBase Time Series fornece endpoints para inserir dados, recuperar informações e executar transformações em um banco de dados MetricBase.
Esta API só pode ser usada quando o plug-in MetricBase (com.snc.clotho) está instalado e ativado.
Função necessária para gravar nesta API: clotho_rest_put.
Os exemplos nesta seção foram criados usando dados no plug-in MetricBase (com.snc.clotho).
Série temporal de MetricBase - GET /now/clotho/table/{table}/{subject}/{metric}
Recupera dados de série temporal especificados do banco de dados MetricBase.
Formato da URL
URL com controle de versão: /api/now/{api_version}/clotho/table/{table}/{subject}/{metric}
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | |
| métrica | Nome da coluna na tabela identificada no parâmetro subject a ser usada como métrica. Tipo de dados: cadeia de caracteres |
| assunto | Sys_id do GlideRecord associado a esta série. Tipo de dados: cadeia de caracteres |
| tabela | Nome da tabela que contém o GlideRecord associado a esta série. Tipo de dados: cadeia de caracteres |
| Nome | Descrição |
|---|---|
| sysparm_display_value | Sinalizador que indica se os dados de resultado devem ser rotulados com o valor de exibição do registro de assunto se nenhum outro rótulo for especificado. Valores válidos:
Tipo de dados: booliano Padrão: falso |
| sysparm_end | Obrigatório. Hora de término do período de avaliação. Um valor vazio ou ausente é tratado como a hora atual. Os valores de tempo incluem esta hora de término. Tipo de dados: cadeia de caracteres Formato: ISO 8601 (UTC), ou:
|
| sysparm_início | Obrigatório. Hora de início do período de avaliação. O valor especial all pode ser usado para definir a hora de início como a hora atual menos o período máximo de retenção para as métricas especificadas. Um valor vazio ou ausente é tratado como um tudoimplícito. Os valores de tempo incluem esta hora de início.Tipo de dados: cadeia de caracteres Formato: ISO 8601 (UTC), ou:
|
| Nome | Descrição |
|---|---|
| Nenhum(a) |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis.
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a application/json. |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 401 | Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas. |
| 500 | Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro. |
Parâmetros do corpo da resposta (JSON ou XML)
| Nome | Descrição |
|---|---|
| rótulo | Rótulo usado para identificar o conjunto de resultados desta métrica. Tipo de dados: cadeia de caracteres |
| refsérie | Resultados da série de dados. Tipo de dados: matriz de objetos |
| ref.série.métrica | Nome da métrica da qual a série de dados foi obtida. Aparece somente se o objeto metrics for passado na solicitação. Tipo de dados: cadeia de caracteres |
| ref.série.assunto | Sys_id do registro da série de dados. Localizado na tabela especificada em seriesRef.table. Tipo de dados: cadeia de caracteres |
| ref.série.tabela | Nome da tabela de onde a série de dados foi obtida. Tipo de dados: cadeia de caracteres |
| valores | Valores de série transformados. Tipo de dados: matriz de objetos |
| valores.carimbo de data/hora | Carimbo de data/hora do valor. Tipo de dados: cadeia de caracteres Formato: ISO 8601 |
| valores.valor | Valores de métrica. Tipo de dados: número |
Solicitação de cURL
curl "https://instance.servicenow.com/api/now/v1/clotho/
table/mb_demo_drone/626b051787333200a328c5b836cb0b99/
mb_demo_mt_altitude?sysparm_start=2019-03-20T17%3A04%3A55
&sysparm_end=2019-03-20T17%3A09%3A55" \
--request GET \
--header "Accept:application/json" \
--user "username":"password"
{
"seriesRef": {
"subject": "626b051787333200a328c5b836cb0b99",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_altitude"
},
"label": "626b051787333200a328c5b836cb0b99:
mb_demo_drone|mb_demo_mt_altitude",
"values": [
{
"timestamp": "2019-03-20T17:05:00Z",
"value": 83.150185
},
{
"timestamp": "2019-03-20T17:06:00Z",
"value": 83.46074
},
{
"timestamp": "2019-03-20T17:07:00Z",
"value": 83.83104
},
{
"timestamp": "2019-03-20T17:08:00Z",
"value": 84.260635
},
{
"timestamp": "2019-03-20T17:09:00Z",
"value": 84.749
}
]
}
Série temporal de MetricBase - GET /now/clotho/transform/{table}/{metric}
Transforma os dados especificados com base nos parâmetros especificados.
Formato da URL
URL com controle de versão: /api/now/{api_version}/clotho/transform/{table}/{metric}
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | |
| métrica | Nome da coluna na tabela identificada no parâmetro subject a ser usada como métrica. Tipo de dados: cadeia de caracteres |
| tabela | Nome da tabela que contém o GlideRecord associado a esta série. Tipo de dados: cadeia de caracteres |
| Nome | Descrição |
|---|---|
| sysparm_display_value | Sinalizador que indica se os dados de resultado devem ser rotulados com o valor de exibição do registro de assunto se nenhum outro rótulo for especificado. Valores válidos:
Tipo de dados: booliano Padrão: falso |
| sysparm_end | Obrigatório. Hora de término do período de avaliação. Um valor vazio ou ausente é tratado como a hora atual. Os valores de tempo incluem esta hora de término. Tipo de dados: cadeia de caracteres Formato: ISO 8601 (UTC), ou:
|
| sysparm_query | Cadeia de caracteres de consulta codificada para localizar os registros de assunto. Tipo de dados: cadeia de caracteres Padrão: nenhum |
| sysparm_início | Obrigatório. Hora de início do período de avaliação. O valor especial all pode ser usado para definir a hora de início como a hora atual menos o período máximo de retenção para as métricas especificadas. Um valor vazio ou ausente é tratado como um tudoimplícito. Os valores de tempo incluem esta hora de início.Tipo de dados: cadeia de caracteres Formato: ISO 8601 (UTC), ou:
|
| sysparm_subject_limit | Limite o tamanho do resultado da consulta de assunto. Tipo de dados: número Padrão: 10.000 |
| sysparm_transforms | Lista separada por vírgulas de transformações. Transformações válidas:
Tipo de dados: cadeia de caracteres Padrão: nenhum |
| Nome | Descrição |
|---|---|
| Nenhum(a) |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis.
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Tipos compatíveis: application/json ou application/xml. Padrão: application/json |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 401 | Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas. |
| 500 | Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro. |
Parâmetros do corpo da resposta (JSON ou XML)
| Nome | Descrição |
|---|---|
| rótulo | Rótulo usado para identificar o conjunto de resultados desta métrica. Tipo de dados: cadeia de caracteres |
| refsérie | Resultados da série de dados. Tipo de dados: matriz de objetos |
| ref.série.métrica | Nome da métrica da qual a série de dados foi obtida. Aparece somente se o objeto metrics for passado na solicitação. Tipo de dados: cadeia de caracteres |
| ref.série.assunto | Sys_id do registro da série de dados. Localizado na tabela especificada em seriesRef.table. Tipo de dados: cadeia de caracteres |
| ref.série.tabela | Nome da tabela de onde a série de dados foi obtida. Tipo de dados: cadeia de caracteres |
| valores | Valores de série transformados. Tipo de dados: matriz de objetos |
| valores.carimbo de data/hora | Carimbo de data/hora do valor. Tipo de dados: cadeia de caracteres Formato: ISO 8601 |
| valores.valor | Valores de métrica. Tipo de dados: número |
Solicitação de cURL
curl "https://instance.servicenow.com/api/now/v1/clotho/
transform/mb_demo_drone/mb_demo_mt_speed?
sysparm_query=model%3DKingfisher%20Phantom&
sysparm_start=2019-03-25T17%3A04%3A55&
sysparm_end=2019-03-25T17%3A05%3A10" \
--request GET \
--header "Accept:application/json" \
--user "username":"password"
Saída:
[
{
"seriesRef": {
"subject": "2a6b051787333200a328c5b836cb0b92",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_speed"
},
"label": "2a6b051787333200a328c5b836cb0b92:mb_demo_drone
|mb_demo_mt_speed",
"values": [
{
"timestamp": "2019-03-25T17:05:00Z",
"value": 33.67892
}
]
},
{
"seriesRef": {
"subject": "666b051787333200a328c5b836cb0b92",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_speed"
},
"label": "666b051787333200a328c5b836cb0b92:mb_demo_drone
|mb_demo_mt_speed",
"values": [
{
"timestamp": "2019-03-25T17:05:00Z",
"value": 41.94985
}
]
},
{
"seriesRef": {
"subject": "a26b051787333200a328c5b836cb0b92",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_speed"
},
"label": "a26b051787333200a328c5b836cb0b92:mb_demo_drone
|mb_demo_mt_speed",
"values": [
{
"timestamp": "2019-03-25T17:05:00Z",
"value": 37.74187
}
]
},
{
"seriesRef": {
"subject": "ea6b051787333200a328c5b836cb0b92",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_speed"
},
"label": "ea6b051787333200a328c5b836cb0b92:mb_demo_drone
|mb_demo_mt_speed",
"values": [
{
"timestamp": "2019-03-25T17:05:00Z",
"value": 34.914192
}
]
},
{
"seriesRef": {
"subject": "ee6b051787333200a328c5b836cb0b91",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_speed"
},
"label": "ee6b051787333200a328c5b836cb0b91:mb_demo_drone
|mb_demo_mt_speed",
"values": [
{
"timestamp": "2019-03-25T17:05:00Z",
"value": 44.170887
}
]
}
]
Série temporal de MetricBase - POST /now/clotho/accumulate
Acumula valores de métrica no carimbo de data/hora especificado e salva o resultado no banco de dados em vez de substituir o valor.
Usar esta API para lidar com métricas que podem ser somadas para um acúmulo, como quilowatts-hora (kWhs) de energia elétrica. O acúmulo faz uma chamada para cada métrica no carimbo de data/hora fornecido. Por exemplo, os quilowatts coletados para um aquecimento, uma jarra elétrica e uma máquina de limpar resultariam no acúmulo de três chamadas.
Formato da URL
URL com controle de versões: /api/now/{api_version}/clotho/accumulate
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Opcional. Versão do endpoint a ser acessada. Por exemplo, v1 ou v2. Somente especifique este valor para usar uma versão de endpoint diferente da mais recente. Tipo de dados: cadeia de caracteres |
| Nome | Descrição |
|---|---|
| default_value | Valor padrão para acúmulo em um determinado carimbo de data/hora. Usado somente durante a primeira chamada para acumular se um valor não estiver disponível para um determinado carimbo de data/hora. Um caso de uso pode estar acumulando uma métrica de watts para um total_power. Você deseja acumular watts para um roteador conectado a uma tomada sem um medidor de energia para medi-lo. Se você souber o valor de consumo e ele for constante), poderá usar o valor constante como um valor padrão para acumular total_power. Por exemplo, você usaria 20 se o roteador estivesse constantemente conectado e consumisse 20 Watts. Tipo de dados: cadeia de caracteres Padrão: 0 |
| sysparm_ignore_unknown_series | Sinalizador que indica se uma série desconhecida deve ser ignorada e continuar a transação sem retornar um erro. Valores válidos:
Padrão: verdadeiro |
| Nome | Descrição |
|---|---|
| refsérie | Lista de cadeias de caracteres que representam informações da série de dados a serem atualizadas. Tipo de dados: matriz |
| ref.série.métrica | Obrigatório. Nome da métrica de acúmulo a ser atualizada. Tipo de dados: cadeia de caracteres |
| ref.série.assunto | Obrigatório. Sys_id do registro no qual os dados serão atualizados. Tipo de dados: cadeia de caracteres Tabela: especificada em seriesRef.table |
| ref.série.tabela | Obrigatório. Nome da tabela na qual os dados serão salvos. Tipo de dados: cadeia de caracteres |
| valores | Obrigatório. Valores de série a serem acumulados e armazenados. Valores com o mesmo carimbo de data/hora são somados com o parâmetro de consulta default_value. Tipo de dados: matriz |
| valores.carimbo de data/hora | Obrigatório. Carimbo de data/hora ISO 8601 do valor. Tipo de dados: cadeia de caracteres Formato: AAAA-MM-ddTHH:mm:ddZ O caractere representado por "Z" denota o fuso horário UTC em um carimbo de data/hora no formato ISO. Esta parte do formato do carimbo de data/hora é opcional. Exemplo: |
| valores.valor | Obrigatório. Valor da métrica. Tipo de dados: número |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis.
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a application/json. |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Oferece suporte somente a application/json. |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 401 | Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas. |
| 500 | Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro. |
Parâmetros do corpo da resposta (JSON ou XML)
| Nome | Descrição |
|---|---|
| mensagem | Mensagem indicando sucesso (OK) ou erro. |
Solicitação de cURL
Este exemplo mostra como acumular valores de métrica em um determinado carimbo de data/hora.
curl "https://instance.servicenow.com/api/now/v1/clotho/accumulate" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"seriesRef\": {
\"subject\": \"3D666b051787333200a328c5b836cb0b92\",
\"table\": \"power_monitoring\",
\"metric\": \"total_power\"
},
\"values\": [
{
\"timestamp\": \"2019-03-21T17:05:00Z\",
\"value\": 0.150185
},
{
\"timestamp\": \"2019-03-21T17:05:00Z \",
\"value\": 0.46074
},
{
\"timestamp\": \"2019-03-21T17:05:00Z \",
\"value\": 0.83104
},
{
\"timestamp\": \"2019-03-21T17:05:00Z \",
\"value\": 1.260635
},
{
\"timestamp\": \"2019-03-21T17:05:00Z \",
\"value\": 1.749
}
]
}" \
--user "username":"password"
Saída fornecida com resultados bem-sucedidos.
{
"result": {
"message": "ok"
}
}
Série temporal de MetricBase - POST /now/clotho/transform
Recupera e, opcionalmente, agrupa dados de série temporal para uma ou mais métricas depois de aplicar uma lista especificada de transformações que formam um pipeline linear.
Formato da URL
URL com controle de versão: /api/now/{api_version}/clotho/transform
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Opcional. Versão do endpoint a ser acessada. Por exemplo, v1 ou v2. Somente especifique este valor para usar uma versão de endpoint diferente da mais recente. Tipo de dados: cadeia de caracteres |
| Nome | Descrição |
|---|---|
| sysparm_display_value | Sinalizador que indica se os dados de resultado devem ser rotulados com o valor de exibição do registro de assunto se nenhum outro rótulo for especificado. Valores válidos:
Tipo de dados: booliano Padrão: falso |
| Nome | Descrição |
|---|---|
| terminar | Obrigatório. Hora de término do período de avaliação. Um valor vazio ou ausente é tratado como a hora atual. Os valores de tempo incluem esta hora de término. Tipo de dados: cadeia de caracteres Formato: ISO 8601 (UTC), ou:
|
| limite | Número máximo de registros a serem retornados. Valores incomumente grandes podem afetar o desempenho do sistema. Tipo de dados: número Padrão: 10.000 |
| métricas | Lista de objetos de métricas a serem usados na transformação. Para obter mais informações sobre métricas, consulte Metrics. Tipo de dados: matriz |
| métricas.groupBy | Lista separada por vírgulas de campos, contida na tabela especificada no parâmetro table, para agrupar a série antes de coletar ou aplicar transformações agregadas. A ordem dos itens na lista é a ordem na qual os dados são agrupados. Por exemplo, se houver dois itens na lista, "estado, CEP", a série será agrupada primeiro por estado e, em seguida, por CEP dentro do estado. Tipo de dados: cadeia de caracteres Padrão: os dados não são agrupados. |
| métricas.rótulo | Rótulo a ser usado para o conjunto de resultados desta métrica. Ele substitui todos os rótulos gerados pela cadeia de transformação. Tipo de dados: cadeia de caracteres Padrão: rótulo padrão gerado. |
| métricas.métrica | Obrigatório se o objeto metrics for aprovado. Campo de métrica a ser usado na transformação. Este campo deve estar na tabela especificada no parâmetro table. Tipo de dados: cadeia de caracteres |
| métricas.transformações | Lista de transformações (cadeia de transformação) a serem aplicadas aos dados da série temporal recuperados. Cada transformação se baseia nos resultados da transformação anterior. Para obter uma lista de transformações disponíveis, consulte Transformações compatíveis abaixo. Tipo de dados: matriz de objetos |
| métricas.transformações.arg | Dependente da transformação. Parâmetro ou parâmetros a serem passados para a transformação. Diretrizes gerais:
Tipo de dados: objeto numérico, cadeia de caracteres, booliano ou JSON, dependendo da transformação. (Para obter uma lista de transformações disponíveis, consulte a tabela Transformações compatíveis abaixo.) |
| metrics.transforms.name | Obrigatório se um objeto transforms for especificado. Nome da transformação. Para obter uma lista de transformações disponíveis, consulte a tabela Transformações compatíveis abaixo. Tipo de dados: cadeia de caracteres |
| consulta | Consulta codificada a ser usada para filtrar o conjunto de resultados. Você pode compor a consulta usando o editor de filtro da tabela especificada. Depois de criado, selecione Copiar URL no menu de contexto de trilhas do filtro. Tipo de dados: cadeia de caracteres Padrão: nenhum |
| iniciar | Obrigatório. Hora de início do período de avaliação. O valor especial all pode ser usado para definir a hora de início como a hora atual menos o período máximo de retenção para as métricas especificadas. Um valor vazio ou ausente é tratado como um tudoimplícito. Os valores de tempo incluem esta hora de início.Tipo de dados: cadeia de caracteres Formato: ISO 8601 (UTC), ou:
|
| tabela | Obrigatório. Nome da tabela que contém o GlideRecord associado a esta série. Tipo de dados: cadeia de caracteres |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis.
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a application/json. |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Oferece suporte somente a application/json. |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 400 | Solicitação Incorreta. Foi detectado um tipo de solicitação incorreto ou solicitação malformada. |
| 401 | Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas. |
| 404 | Não encontrado. O item solicitado não foi encontrado. |
| 405 | Método inválido. A funcionalidade está desabilitada. |
| 500 | Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro. |
Parâmetros do corpo da resposta (JSON ou XML)
| Nome | Descrição |
|---|---|
| resultados | Zero ou mais retornam objetos de resultado que atendem à consulta. Contém uma matriz series ou uma matriz grouped. Tipo de dados: matriz |
| resultados.agrupados | Lista de objetos de resultado agrupados em que cada objeto de resultado grouped corresponde a um grupo específico. Este formato é retornado quando o parâmetro metrics.groupBy é passado no corpo da solicitação. Tipo de dados: matriz |
| resultados.agrupados.agrupamentoPor | Valor passado no parâmetro metrics.groupBy na solicitação. Tipo de dados: cadeia de caracteres |
| resultados.grupos.agrupados | Lista de grupos gerados com base no conteúdo do parâmetro metrics.groupBy na solicitação. Tipo de dados: matriz |
| results.grouped.groups.group | Nome do grupo. Tipo de dados: cadeia de caracteres |
| resultados.grupos.agrupados.rótulo | Rótulo do grupo. Tipo de dados: cadeia de caracteres |
| resultados.grupos.grupos.série | Valores transformados para o resultado do grupo. Tipo de dados: matriz |
| resultados.grupos.grupos.série.rótulo | Rótulo da série. Tipo de dados: cadeia de caracteres |
| resultados.grouped.groups.series.seriesRef | Resultados de uma única série de dados. Não aparece se houver várias séries de dados na resposta. Tipo de dados: objeto |
| resultados.grupos.grupos.series.seriesRef.metric | Nome da métrica da qual a série de dados foi obtida. Aparece somente se o objeto metrics for passado na solicitação. Tipo de dados: cadeia de caracteres |
| resultados.grupos.grupos.series.seriesRef.subject | Sys_id do registro da série de dados. Tipo de dados: cadeia de caracteres Tabela: a tabela especificou o parâmetro em results.series.seriesRef.table. |
| resultados.grupos.grupos.series.seriesRef.table | Nome da tabela de onde a série de dados foi obtida. Tipo de dados: cadeia de caracteres |
| resultados.grupos.grupos.série.valores | Lista de valores de resultado para o grupo. Tipo de dados: matriz |
| resultados.grupos.grupos.series.valores.carimbo de data/hora | Carimbo de data/hora ISO 8601 do valor. Tipo de dados: cadeia de caracteres |
| resultados.grupos.grupos.série.valores.valor | Valor transformado. Tipo de dados: número |
| resultados.marcador | Identificador exclusivo para os resultados correspondentes. Tipo de dados: cadeia de caracteres |
| resultados.série | Lista de séries não agrupadas de objetos de resultado. Tipo de dados: matriz de objetos |
| resultados.série.rótulo | Rótulo da série de dados. Este valor é gerado pelo endpoint ou é o valor passado no parâmetro metrics.label. Tipo de dados: cadeia de caracteres |
| resultados.series.seriesRef | Resultados de uma única série de dados. Não aparece se houver várias séries de dados na resposta. Tipo de dados: objeto |
| resultados.series.seriesRef.metric | Nome da métrica da qual a série de dados foi obtida. Aparece somente se o objeto metrics for passado na solicitação. Tipo de dados: cadeia de caracteres |
| resultados.série.sérieRef.assunto | Sys_id do registro da série de dados. Tipo de dados: cadeia de caracteres Tabela: especificado no parâmetro results.series.seriesRef.table. |
| resultados.série.sérieRef.tabela | Nome da tabela de onde a série de dados foi obtida. Tipo de dados: cadeia de caracteres |
| resultados.série.valores | Valores de série transformados. Tipo de dados: matriz de objetos |
| resultados.série.valores.carimbo de data/hora | Carimbo de data/hora ISO 8601 do valor. Tipo de dados: cadeia de caracteres |
| resultados.série.valores.valor | Valor transformado. Tipo de dados: número |
Transformações compatíveis
| Transformação | Descrição |
|---|---|
| adicionar | Adiciona o número especificado a cada valor de carimbo de data/hora. Argumento: arg (tipo de dados decimais) – número a ser adicionado. Por exemplo: |
| correlação automática | Calcula a correlação entre valores de carimbo de data/hora separados por um número crescente de períodos que começam em 1. |
| médio | Agrega a série temporal em uma série que contém o valor médio de cada carimbo de data/hora correspondente na entrada. |
| parte inferior | Retorna o número especificado de séries que têm os valores mais baixos. Argumento: arg (Inteiro) – O número de séries a serem retornadas. Por exemplo, o seguinte retorna as duas séries temporais que contêm os conjuntos de valores mais baixos. |
| teto | Arredonda o valor em cada carimbo de data/hora até a precisão especificada: ceil(value /<arg> ) * ) Argumento: arg (tipo de dados decimal) – Precisão decimal para arredondar para cima. |
| coletar | Exibe os resultados de transformação da cadeia de transformação até o ponto da chamada de transformação de coleta. A coleta de resultados de transformação contém um marcador exclusivo, mas você também pode definir um rótulo. Por exemplo: |
| constrainValues | Substitui qualquer valor fora do intervalo especificado pelo valor máximo ou mínimo correspondente. Por exemplo, se você especificou o seguinte, a transformação substituirá qualquer valor menor que 0 por 0 e qualquer valor maior que 100 por 100. Argumentos:
|
| contagem | Agrega a série temporal em uma série. A nova série contém o número de valores que não são NaN (não é um número) para cada carimbo de data/hora correspondente na série. |
| derivado | Determina a taxa de mudança entre carimbos de data/hora. Divide a diferença entre o valor em cada carimbo de data/hora e o valor no próximo carimbo de data/hora pelo período do carimbo de data/hora. Nota: Esta transformação retorna um valor a menos do que o número de valores na série. |
| div | Divide o valor em cada carimbo de data/hora pelo número especificado (arg). Argumento: arg (Decimal – O número pelo qual dividir o valor de cada carimbo de data/hora. |
| envelope | Retorna duas séries temporais, em que, a qualquer momento, uma contém o maior valor e a outra contém o menor valor. Nota: NaNs são ignorados, mas são retornados se não houver outros valores de retorno. |
| exp | Eleva o valor da base especificada à potência do valor em cada carimbo de data/hora. Argumento: arg (tipo de dados decimais) – O valor base. |
| filtros | Aplica um agregador ao conteúdo de uma janela deslizante, como a produção de uma média móvel. Argumentos:
|
| andar | Arredonda o valor em cada carimbo de data/hora para baixo para a precisão especificada: floor(value /<arg> ) * Argumento: arg (tipo de dados decimal) – A precisão decimal para arredondar para baixo. |
| débeis | Retorna uma série temporal para cada fracção na matriz especificada. Cada valor de carimbo de data/hora é o valor no qual a porcentagem especificada de valores, para o carimbo de data/hora correspondente na série de entrada, está abaixo da porcentagem especificada. Por exemplo, se a fracção for 0,5, o valor no carimbo de data/hora será o valor em que metade dos valores na série de entrada está abaixo de 0,5. Argumento: arg (matriz de decimais) – As frações a serem usadas na série de entrada. Por exemplo: |
| groupBy | Agrupa os dados pelos campos especificados antes de coletar ou aplicar transformações agregadas. Argumento: arg (Cadeia de caracteres) - Uma lista separada por vírgulas de campos na tabela a serem usados para agrupar os resultados da transformação. Por exemplo: |
| integrar | Multiplica o valor em cada carimbo de data/hora pelo período. |
| interpolar | Cria um valor de dados para um item de dados NaN interpolando de valores de dados adjacentes. Argumento: arg (Inteiro) – Número de amostras de dados em cada direção para verificar se há um valor não NaN. Se um valor não NaN não for encontrado, o NaN será usado. |
| inverso | Calcula o inverso de cada valor de carimbo de data/hora. |
| IQR | Executa uma transformação de intervalo interquartil e cria um conjunto de resultados que contém quatro séries:
Nota: IQR = T3 - T1 |
| rótulo | Rotular uma cadeia de transformação. Nota: Transformações subsequentes podem modificar ou substituir o rótulo. Argumento: arg (Cadeia de caracteres) – Texto do rótulo. Pode conter as seguintes expressões de formatação:
Por exemplo:
|
| limite | Retorna, no máximo, a duração especificada ou o número de valores, começando com o valor salvo mais recentemente. Argumentos:
|
| log | Executa um logaritmo no valor em cada carimbo de data/hora em que o resultado é o log da base especificada para o valor do carimbo de data/hora. Argumento: arg (tipo de dados decimais) – Base para o cálculo do logaritmo. |
| mapValues | Substitui todos os valores dentro do intervalo especificado (inclusivo) pelo valor especificado. Se lowerBound e upperBound forem especificados como NaN, ele substituirá qualquer valor NaN pelo targetValue. Argumentos:
Por exemplo, o seguinte muda todos os valores na série temporal que estão entre .1 e .9 para 1: |
| máx. | Retorna uma série que contém o valor máximo de cada carimbo de data/hora correspondente na entrada. |
| mediano | Cria uma série que contém a mediana de valores para cada carimbo de data/hora em um conjunto de séries. Se houver n séries:
|
| mín. | Retorna uma série que contém o valor mínimo de cada carimbo de data/hora correspondente na entrada. |
| mu | Multiplica o valor em cada carimbo de data/hora pelo número especificado. Argumento: arg (tipo de dados decimais) – Número pelo qual o valor de cada carimbo de data/hora será multiplicado. |
| partição | Produz uma nova série com valores filtrados pela aplicação de um agregador especificado a uma janela não sobreposta. Argumentos:
|
| POW | Eleva cada valor de carimbo de data/hora para a potência especificada. Argumento: arg (tipo de dados decimais) – Potência para a qual elevar cada valor. |
| Produto | Agrega a série de métricas selecionada em uma única série que contém o produto de todos os valores para cada carimbo de data/hora. NaNs são excluídos. Se todos os números na série forem NaN, a saída também será NaN. |
| reamostrar | Reamostra uma série temporal para um número fixo de pontos ou de uma frequência para outra. Use a transformação de reamostragem para reduzir o número de amostras no conjunto de resultados para corresponder mais ao número de amostras que você deseja exibir. Argumentos: você pode passar vários argumentos para esta transformação. Abaixo está uma lista de cada um dos grupos de argumentos possíveis. Somente um desses grupos de argumentos pode ser passado em uma única transformação. Os grupos de argumentos a seguir são delineados por E/OU. E, o que significa que o argumento faz parte do grupo atual; OU, o que significa que é o início de um novo grupo de argumentos.
|
| arredondar | Arredonda o valor em cada carimbo de data/hora para cima até a precisão especificada: (valor /<arg> ) * Argumento: arg (tipo de dados decimal) – A precisão decimal para a qual arredondar para cima. |
| raiz | Calcula a raiz de cada valor de carimbo de data/hora usando o índice especificado. Argumento: arg (tipo de dados decimais) – O índice da raiz. Por exemplo, o seguinte retorna a raiz quadrada de cada carimbo de data/hora: |
| desenvolvimento padrão | Cria uma série que contém o desvio padrão de valores para cada carimbo de data/hora em um conjunto de séries. |
| sub | Subtrai o número especificado do valor em cada carimbo de data/hora. Argumento: arg (Número) – O número a ser subtraído do valor em cada carimbo de data/hora. |
| soma | Agrega a série de métricas selecionada em uma série que contém a soma de todos os valores de cada carimbo de data/hora, excluindo NaNs. Se todos os números na série forem NaN, a saída será NaN. |
| timeshift | Desloca o intervalo de tempo adicionando o deslocamento especificado ao carimbo de data/hora de um valor sem modificar o valor. Use esta transformação para mudar os carimbos de data/hora para outro fuso horário. Argumento: arg (tipo de dados de duração) – A quantidade de tempo de deslocamento. |
| superior | Retorna o número especificado de séries que têm os valores mais altos. Argumento: arg (Inteiro) – O número de séries a serem retornadas. Por exemplo, o seguinte retorna as duas séries temporais que contêm os conjuntos de valores mais altos. |
| Tipo de dados | Descrição |
|---|---|
| Agregador | Agregadores disponíveis para uso na transformação.
|
| DateTime | Os valores absolutos de data/hora são especificados pelo formato de data e hora ISO 8601: AAAA-MM-DDThh:mm:ss. Por exemplo: 2020-02-28T13:10:42.Em que:
Os valores de data/hora relativos são especificados usando uma duração (tipo de dados Duração), que é subtraída da hora atual. Por exemplo: P7D = sete dias atrás. |
| Decimal | Valor decimal que pode ser:
|
| Duração | Quantidade de tempo em um intervalo de tempo. Os valores de duração são especificados pelo formato de duração ISO 8601: P[n]Y[n]M[n]DT[n]H[n]M[n]S Em que:
Por exemplo:
|
Solicitação de cURL
curl "https://instance.servicenow.com/api/now/v1/clotho/transform \
--request POST \
--header "Accept:application/json", "Content-Type:application/json" \
--user "username":"password"
-d {\
"start": "PT15M",\
"end": "",\
"table": "mb_demo_drone",\
"query": "fleet.nameSTARTSWITHB",\
"limit": 5000,\
"metrics": [\
{\
"metric": "mb_demo_mt_altitude",\
"label": "Series - Avg",\
"transforms": [\
{\
"name": "partition",\
"arg": {\
"aggregator": "AVG",\
"window": "PT5M"\
}\
},
{\
"name": "avg"\
}\
]\
},
{\
"metric": "mb_demo_mt_altitude",\
"groupBy": "fleet",\
"label": "Fleet - AVG",\
"transforms": [\
{\
"name": "partition",\
"arg": {\
"aggregator": "AVG",\
"window": "PT5M"\
}\
},
{\
"name": "avg"\
}\
]\
}\
]\
} \
Saída:
"results:" [
{
"marker": "674d86ba-a810-4065-942b-0b7ca2f95db2",
"series": [
{
"label": "Series - Avg",
"values": [
{
"timestamp": "2020-05-01T21:05:00Z",
"value": 157.43086
},
{
"timestamp": "2020-05-01T21:10:00Z",
"value": 162.92278
}
]
}
]
},
{
"marker": "846aa334-232a-4015-b033-d18ebc4b1d23",
"grouped": [
{
"groupingBy": "fleet",
"groups": [
{
"group": "86fac11787333200a328c5b836cb0b4e",
"label": "Bantams",
"series": {
"label": "Fleet - AVG",
"values": [
{
"timestamp": "2020-05-01T21:05:00Z",
"value": 159.70201
},
{
"timestamp": "2020-05-01T21:10:00Z",
"value": 165.1136
}
]
}
},
{
"group": "4afac11787333200a328c5b836cb0b4e",
"label": "Bumble Untd",
"series": {
"label": "Fleet - AVG",
"values": [
{
"timestamp": "2020-05-01T21:05:00Z",
"value": 154.5403
},
{
"timestamp": "2020-05-01T21:10:00Z",
"value": 160.13445
}
]
}
}
]
}
]
}
]
Série temporal de MetricBase - POST /now/clotho/transform/stream
Retorna um fluxo de dados de série temporal transformados para uma ou mais métricas após a aplicação da lista especificada de transformações.
O fluxo de dados dessa maneira permite que você processe os dados conforme as transformações individuais são concluídas e retornadas, em vez de aguardar que todos os resultados de transformação sejam concluídos e baixados. Se grandes quantidades de dados precisarem ser processadas pelo cliente, esse tipo de processamento reduzirá o tempo de processamento de ponta a ponta e potencialmente reduzirá o uso de memória no cliente.
- Especifique os dados transmitidos a serem codificados em um formato binário,
- Serializar dados transmitidos em uma matriz JSON ou
- Transmita dados de volta para o cliente em um formato CSV amplo ou estreito.
Formato da URL
URL com controle de versão: /api/now/{api_version}/clotho/transform/stream
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Opcional. Versão do endpoint a ser acessada. Por exemplo, v1 ou v2. Somente especifique este valor para usar uma versão de endpoint diferente da mais recente. Tipo de dados: cadeia de caracteres |
| Nome | Descrição |
|---|---|
| sysparm_display_value | Sinalizador que indica se os dados de resultado devem ser rotulados com o valor de exibição do registro de assunto se nenhum outro rótulo for especificado. Valores válidos:
Tipo de dados: booliano Padrão: falso |
| Nome | Descrição |
|---|---|
| terminar | Obrigatório. Hora de término do período de avaliação. Um valor vazio ou ausente é tratado como a hora atual. Os valores de tempo incluem esta hora de término. Tipo de dados: cadeia de caracteres Formato: ISO 8601 (UTC), ou:
|
| limite | Número máximo de registros a serem retornados. Valores incomumente grandes podem afetar o desempenho do sistema. Tipo de dados: número Padrão: 10.000 |
| métricas | Lista de objetos de métricas a serem usados na transformação. Para obter mais informações sobre métricas, consulte Métricas. Tipo de dados: matriz |
| métricas.rótulo | Rótulo a ser usado para o conjunto de resultados desta métrica. Ele substitui todos os rótulos gerados pela cadeia de transformação. Tipo de dados: cadeia de caracteres Padrão: rótulo padrão gerado. |
| métricas.métrica | Obrigatório se o objeto metrics for aprovado. Campo de métrica a ser usado na transformação. Este campo deve estar na tabela especificada no parâmetro table. Tipo de dados: cadeia de caracteres |
| métricas.transformações | Lista de transformações (cadeia de transformação) a serem aplicadas aos dados da série temporal recuperados. Cada transformação se baseia nos resultados da transformação anterior. Para obter uma lista de transformações disponíveis, consulte Transformações compatíveis abaixo. Tipo de dados: matriz de objetos |
| métricas.transformações.arg | Dependente da transformação. Parâmetro ou parâmetros a serem passados para a transformação. Diretrizes gerais:
Tipo de dados: objeto numérico, cadeia de caracteres, booliano ou JSON, dependendo da transformação. (Para obter uma lista de transformações disponíveis, consulte a tabela Transformações compatíveis abaixo.) |
| metrics.transforms.name | Obrigatório se um objeto transforms for especificado. Nome da transformação. Para obter uma lista de transformações disponíveis, consulte a tabela Transformações compatíveis abaixo. Tipo de dados: cadeia de caracteres |
| consulta | Consulta codificada a ser usada para filtrar o conjunto de resultados. Você pode compor a consulta usando o editor de filtro da tabela especificada. Depois de criado, selecione Copiar URL no menu de contexto de trilhas do filtro. Tipo de dados: cadeia de caracteres Padrão: nenhum |
| iniciar | Obrigatório. Hora de início do período de avaliação. O valor especial all pode ser usado para definir a hora de início como a hora atual menos o período máximo de retenção para as métricas especificadas. Um valor vazio ou ausente é tratado como um tudoimplícito. Os valores de tempo incluem esta hora de início.Tipo de dados: cadeia de caracteres Formato: ISO 8601 (UTC), ou:
|
| tabela | Obrigatório. Nome da tabela que contém o GlideRecord associado a esta série. Tipo de dados: cadeia de caracteres |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis.
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte ao seguinte:
text/csv;format=nrow ou text/csv;format=wide. |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Oferece suporte somente a application/json. |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) | Formato de dados do corpo da resposta. Com base nos valores de aceitação especificados da solicitação, use:
Se vários tipos de aceitação forem especificados, o primeiro tipo compatível será retornado. |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso e os dados começarão a ser transmitidos. Nota: Uma resposta 200 ainda pode incorrer em um erro de processamento no meio do fluxo conforme as transformações são calculadas. |
| 400 | Solicitação Incorreta. Foi detectado um tipo de solicitação incorreto ou solicitação malformada. |
| 401 | Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas. |
| 404 | Não encontrado. O item solicitado não foi encontrado. |
| 405 | Método inválido. A funcionalidade está desabilitada. |
| 500 | Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro. |
Parâmetros do corpo da resposta (Octet-stream ou JSON)
| Nome | Descrição |
|---|---|
| Fluxo de saída (Octet-Stream) | Se o cabeçalho Aceitar solicitação estiver definido como application/octet-stream, os dados do MetricBase correspondentes serão retornados como um fluxo serializado binário. As aplicações Clotho-Util para Java fornecem um desserializador que permite analisar esses dados. O fluxo consiste em uma serialização binária de cada referência, precedida por um número inteiro que representa seu tamanho. As entradas a seguir descrevem os dados na representação binária e a ordem desses dados. |
| Fluxo de CSV (fluxo UTF-8) | Se o cabeçalho Aceitar solicitação estiver definido como text/csv, os dados do MetricBase correspondentes serão retornados como dados CSV codificados em UTF-8 nos formatos amplo ou estreito. Um formato restrito retorna colunas de assunto e carimbo de data/hora e uma coluna para cada métrica retornada. Um formato amplo retorna uma coluna de carimbo de data/hora com uma coluna separada para cada par de métrica-assunto. |
| Assunto | Origem dos dados. Por exemplo, se a métrica para os dados for altitudes do drone, esse valor poderá ser o ID de um drone específico. Se dois pontos forem incluídos no valor, as partes após o assunto representarão a métrica da qual os dados fazem parte. Valores nulos são representados por uma cadeia de caracteres vazia codificada. Tipo de dados: cadeia de caracteres (UTF modificado por Java) Tamanho: 2+ bytes |
| Dimensão | Métrica de origem dos dados. Valores nulos são representados por uma cadeia de caracteres vazia codificada. Tipo de dados: cadeia de caracteres (UTF modificado por Java) Tamanho: 2+ bytes |
| Rótulo | Rótulo dos dados. Valores nulos são representados por uma cadeia de caracteres vazia codificada. Tipo de dados: cadeia de caracteres (UTF modificado por Java) Tamanho: 2+ bytes |
| Tipo | Tipo de dados codificados em um byte. Valores possíveis:
Tipo de dados: byte Tamanho: 1 byte |
| Sinalizadores | Variável serializeFlags codificada. Se serializeTags for verdadeiro e os dados contiverem marcadores, o valor será 2, caso contrário, será 0. Tipo de dados: byte Tamanho: 1 byte |
| Período | Período associado aos dados. Tipo de dados: número (inteiro) Tamanho: 4 bytes |
| Número de marcadores | Se serializeTags for verdadeiro, este será o número de marcadores armazenados nos dados. Tipo de dados: número (inteiro) Tamanho: 4 bytes |
| Marcadores | Se serializeTags for verdadeiro, cada marcador será armazenado nos dados. Tipo de dados: cadeia de caracteres (UTF modificado por Java) Tamanho: depende do número de marcadores (mais de 2 bytes). |
| Período de início em segundo | Hora UTC da época que representa a hora de início desta série de dados. Tipo de dados: número (longo) Tamanho: 8 bytes |
| Número de valores | Número de valores armazenados nestes dados. Tipo de dados: número (inteiro) Tamanho: 4 bytes |
| Valores | Se Type for Sinal flutuante, o restante consistirá em valores flutuantes. Tamanho: Number of Values * 4 Tipo de dados: número (flutuante) |
| Valores | Se Type for sinal duplo, o restante consistirá em valores duplos. Tipo de dados: número (duplo) Tamanho: Number of Values * 4 bytes |
| Modelo JSON (modelo) | Se Type for modelo flutuante ou modelo duplo, o restante será uma cadeia de caracteres UTF modificada do Java que representa o modelo como JSON. Tipo de dados: cadeia de caracteres (UTF modificado por Java) Tamanho: 2+ bytes |
| Marcador de modelo grande (Big Model) | Se o comprimento do JSON do modelo for maior que 65.535 bytes, este campo será gravado em vez de Model Json. Tipo de dados: cadeia de caracteres (UTF modificado por Java) Tamanho: 5 |
| Tamanho do modelo grande (Big Model) | Tamanho da representação JSON do modelo grande. Tipo de dados: número (inteiro) Tamanho: 4 bytes |
| Big Model Json (Big Model) | Representação JSON do modelo como uma série de caracteres UTF. O tamanho é determinado pelo campo Big Model Size. Tipo de dados: cadeia de caracteres (caracteres UTF) Tamanho: 65535-256000 bytes |
| Fluxo JSON (JSON) | Se o cabeçalho Aceitar solicitação estiver definido como application/json, os dados MetricBase correspondentes serão retornados como um fluxo de novos objetos JSON separados por linhas. As entradas a seguir descrevem os elementos possíveis em cada objeto retornado. |
| rótulo | Rótulo de dados. Este valor é gerado pelo endpoint ou é o valor passado no parâmetro metrics.label. Tipo de dados: cadeia de caracteres |
| período | Quantidade de tempo entre cada valor. Por exemplo, um período de 60 significa que cada valor tem um minuto de intervalo. Tipo de dados: número Unidade: segundos |
| intervalo | Horas de início e término dos dados Tipo de dados: matriz Formato: ISO 8601 (UTC) |
| série | Identifica os dados individuais. Se presente, está normalmente na forma de [glide record id]:[metric]. Isso pode não estar presente ao usar transformações.Tipo de dados: cadeia de caracteres |
| Espécies | Tipo de dados de retorno. Para uma série de valores flutuantes ou duplos, é FLOAT_SIGNAL ou DOUBLE_SIGNAL. Para um modelo destinado a analisar dados flutuantes ou duplos, é FLOAT_MODEL ou DOUBLE_MODEL. Tipo de dados: cadeia de caracteres |
| marcadores | Marcadores associados aos dados. Tipo de dados: matriz de cadeias de caracteres |
| valor | Valores flutuantes ou duplos para os dados. Tipo de dados: matriz de números |
| erro | Mensagem de erro se a transformação da série de dados especificada falhar. Tipo de dados: cadeia de caracteres |
Transformações compatíveis
| Transformação | Descrição |
|---|---|
| adicionar | Adiciona o número especificado a cada valor de carimbo de data/hora. Argumento: arg (tipo de dados decimais) – número a ser adicionado. Por exemplo: |
| correlação automática | Calcula a correlação entre valores de carimbo de data/hora separados por um número crescente de períodos que começam em 1. |
| médio | Agrega a série temporal em uma série que contém o valor médio de cada carimbo de data/hora correspondente na entrada. |
| parte inferior | Retorna o número especificado de séries que têm os valores mais baixos. Argumento: arg (Inteiro) – O número de séries a serem retornadas. Por exemplo, o seguinte retorna as duas séries temporais que contêm os conjuntos de valores mais baixos. |
| teto | Arredonda o valor em cada carimbo de data/hora até a precisão especificada: ceil(value /<arg> ) * ) Argumento: arg (tipo de dados decimal) – Precisão decimal para arredondar para cima. |
| coletar | Exibe os resultados de transformação da cadeia de transformação até o ponto da chamada de transformação de coleta. A coleta de resultados de transformação contém um marcador exclusivo, mas você também pode definir um rótulo. Por exemplo: |
| constrainValues | Substitui qualquer valor fora do intervalo especificado pelo valor máximo ou mínimo correspondente. Por exemplo, se você especificou o seguinte, a transformação substituirá qualquer valor menor que 0 por 0 e qualquer valor maior que 100 por 100. Argumentos:
|
| contagem | Agrega a série temporal em uma série. A nova série contém o número de valores que não são NaN (não é um número) para cada carimbo de data/hora correspondente na série. |
| derivado | Determina a taxa de mudança entre carimbos de data/hora. Divide a diferença entre o valor em cada carimbo de data/hora e o valor no próximo carimbo de data/hora pelo período do carimbo de data/hora. Nota: Esta transformação retorna um valor a menos do que o número de valores na série. |
| div | Divide o valor em cada carimbo de data/hora pelo número especificado (arg). Argumento: arg (Decimal – O número pelo qual dividir o valor de cada carimbo de data/hora. |
| envelope | Retorna duas séries temporais, em que, a qualquer momento, uma contém o maior valor e a outra contém o menor valor. Nota: NaNs são ignorados, mas são retornados se não houver outros valores de retorno. |
| exp | Eleva o valor da base especificada à potência do valor em cada carimbo de data/hora. Argumento: arg (tipo de dados decimais) – O valor base. |
| filtros | Aplica um agregador ao conteúdo de uma janela deslizante, como a produção de uma média móvel. Argumentos:
|
| andar | Arredonda o valor em cada carimbo de data/hora para baixo para a precisão especificada: floor(value /<arg> ) * Argumento: arg (tipo de dados decimal) – A precisão decimal para arredondar para baixo. |
| débeis | Retorna uma série temporal para cada fracção na matriz especificada. Cada valor de carimbo de data/hora é o valor no qual a porcentagem especificada de valores, para o carimbo de data/hora correspondente na série de entrada, está abaixo da porcentagem especificada. Por exemplo, se a fracção for 0,5, o valor no carimbo de data/hora será o valor em que metade dos valores na série de entrada está abaixo de 0,5. Argumento: arg (matriz de decimais) – As frações a serem usadas na série de entrada. Por exemplo: |
| groupBy | Agrupa os dados pelos campos especificados antes de coletar ou aplicar transformações agregadas. Argumento: arg (Cadeia de caracteres) - Uma lista separada por vírgulas de campos na tabela a serem usados para agrupar os resultados da transformação. Por exemplo: |
| integrar | Multiplica o valor em cada carimbo de data/hora pelo período. |
| interpolar | Cria um valor de dados para um item de dados NaN interpolando de valores de dados adjacentes. Argumento: arg (Inteiro) – Número de amostras de dados em cada direção para verificar se há um valor não NaN. Se um valor não NaN não for encontrado, o NaN será usado. |
| inverso | Calcula o inverso de cada valor de carimbo de data/hora. |
| IQR | Executa uma transformação de intervalo interquartil e cria um conjunto de resultados que contém quatro séries:
Nota: IQR = T3 - T1 |
| rótulo | Rotular uma cadeia de transformação. Nota: Transformações subsequentes podem modificar ou substituir o rótulo. Argumento: arg (Cadeia de caracteres) – Texto do rótulo. Pode conter as seguintes expressões de formatação:
Por exemplo:
|
| limite | Retorna, no máximo, a duração especificada ou o número de valores, começando com o valor salvo mais recentemente. Argumentos:
|
| log | Executa um logaritmo no valor em cada carimbo de data/hora em que o resultado é o log da base especificada para o valor do carimbo de data/hora. Argumento: arg (tipo de dados decimais) – Base para o cálculo do logaritmo. |
| mapValues | Substitui todos os valores dentro do intervalo especificado (inclusivo) pelo valor especificado. Se lowerBound e upperBound forem especificados como NaN, ele substituirá qualquer valor NaN pelo targetValue. Argumentos:
Por exemplo, o seguinte muda todos os valores na série temporal que estão entre .1 e .9 para 1: |
| máx. | Retorna uma série que contém o valor máximo de cada carimbo de data/hora correspondente na entrada. |
| mediano | Cria uma série que contém a mediana de valores para cada carimbo de data/hora em um conjunto de séries. Se houver n séries:
|
| mín. | Retorna uma série que contém o valor mínimo de cada carimbo de data/hora correspondente na entrada. |
| mu | Multiplica o valor em cada carimbo de data/hora pelo número especificado. Argumento: arg (tipo de dados decimais) – Número pelo qual o valor de cada carimbo de data/hora será multiplicado. |
| partição | Produz uma nova série com valores filtrados pela aplicação de um agregador especificado a uma janela não sobreposta. Argumentos:
|
| POW | Eleva cada valor de carimbo de data/hora para a potência especificada. Argumento: arg (tipo de dados decimais) – Potência para a qual elevar cada valor. |
| Produto | Agrega a série de métricas selecionada em uma única série que contém o produto de todos os valores para cada carimbo de data/hora. NaNs são excluídos. Se todos os números na série forem NaN, a saída também será NaN. |
| reamostrar | Reamostra uma série temporal para um número fixo de pontos ou de uma frequência para outra. Use a transformação de reamostragem para reduzir o número de amostras no conjunto de resultados para corresponder mais ao número de amostras que você deseja exibir. Argumentos: você pode passar vários argumentos para esta transformação. Abaixo está uma lista de cada um dos grupos de argumentos possíveis. Somente um desses grupos de argumentos pode ser passado em uma única transformação. Os grupos de argumentos a seguir são delineados por E/OU. E, o que significa que o argumento faz parte do grupo atual; OU, o que significa que é o início de um novo grupo de argumentos.
|
| arredondar | Arredonda o valor em cada carimbo de data/hora para cima até a precisão especificada: (valor /<arg> ) * Argumento: arg (tipo de dados decimal) – A precisão decimal para a qual arredondar para cima. |
| raiz | Calcula a raiz de cada valor de carimbo de data/hora usando o índice especificado. Argumento: arg (tipo de dados decimais) – O índice da raiz. Por exemplo, o seguinte retorna a raiz quadrada de cada carimbo de data/hora: |
| desenvolvimento padrão | Cria uma série que contém o desvio padrão de valores para cada carimbo de data/hora em um conjunto de séries. |
| sub | Subtrai o número especificado do valor em cada carimbo de data/hora. Argumento: arg (Número) – O número a ser subtraído do valor em cada carimbo de data/hora. |
| soma | Agrega a série de métricas selecionada em uma série que contém a soma de todos os valores de cada carimbo de data/hora, excluindo NaNs. Se todos os números na série forem NaN, a saída será NaN. |
| timeshift | Desloca o intervalo de tempo adicionando o deslocamento especificado ao carimbo de data/hora de um valor sem modificar o valor. Use esta transformação para mudar os carimbos de data/hora para outro fuso horário. Argumento: arg (tipo de dados de duração) – A quantidade de tempo de deslocamento. |
| superior | Retorna o número especificado de séries que têm os valores mais altos. Argumento: arg (Inteiro) – O número de séries a serem retornadas. Por exemplo, o seguinte retorna as duas séries temporais que contêm os conjuntos de valores mais altos. |
| Tipo de dados | Descrição |
|---|---|
| Agregador | Agregadores disponíveis para uso na transformação.
|
| DateTime | Os valores absolutos de data/hora são especificados pelo formato de data e hora ISO 8601: AAAA-MM-DDThh:mm:ss. Por exemplo: 2020-02-28T13:10:42.Em que:
Os valores de data/hora relativos são especificados usando uma duração (tipo de dados Duração), que é subtraída da hora atual. Por exemplo: P7D = sete dias atrás. |
| Decimal | Valor decimal que pode ser:
|
| Duração | Quantidade de tempo em um intervalo de tempo. Os valores de duração são especificados pelo formato de duração ISO 8601: P[n]Y[n]M[n]DT[n]H[n]M[n]S Em que:
Por exemplo:
|
Solicitação de cURL
O exemplo a seguir mostra como chamar este endpoint para retornar um fluxo JSON para métricas na tabela mb_demo_drone. Observação: embora os objetos neste exemplo sejam expandidos para várias linhas para fins de legibilidade, em um resultado real, cada objeto retornado está em sua própria linha. Você pode fazer a mesma chamada e retornar um fluxo de octeto definindo --header "Accept:application/octet-stream" \.
curl "localhost:8080/api/now/v1/clotho/transform/stream" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--user "username":"password" \
-d "{\
\"start\": \"PT5M\",\
\"end\": \"\",\
\"table\": \"mb_demo_drone\",\
\"query\": \"fleet.nameSTARTSWITHB\",\
\"limit\": 5000,\
\"metrics\": [\
{\
\"metric\": \"mb_demo_mt_altitude\",\
\"label\": \"Series - Avg\",\
\"transforms\": [\
{\
\"name\": \"partition\",\
\"arg\": {\
\"aggregator\": \"AVG\",\
\"window\": \"PT5M\"\
}\
},
{\
\"name\": \"avg\"\
}\
]\
},
{\
\"metric\": \"mb_demo_mt_altitude\",\
\"groupBy\": \"fleet\",\
\"label\": \"Fleet - AVG\",\
\"transforms\": [\
{\
\"name\": \"partition\",\
\"arg\": {\
\"aggregator\": \"AVG\",\
\"window\": \"PT5M\"\
}\
},
{\
\"name\": \"avg\"\
}\
]\
}\
]\
}"
Resposta:
[
{
"label": "Series - Avg",
"tags": [
"#4fb1114f-2426-4acb-8e3e-6435dd62134c"
],
"species": "DOUBLE_SIGNAL",
"range": [
"2022-06-16T17:50:00Z",
"2022-06-16T17:50:00Z"
],
"values": [
132.86805196126303
],
"period": 300
},
{
"label": "Fleet - AVG",
"tags": [
":fleet:86fac11787333200a328c5b836cb0b4e:Bantams",
"#6641aab4-c55f-4d11-8846-26b0b706ec1c"
],
"species": "DOUBLE_SIGNAL",
"range": [
"2022-06-16T17:50:00Z",
"2022-06-16T17:50:00Z"
],
"values": [
134.3775875908988
],
"period": 300
},
{
"label": "Fleet - AVG",
"tags": [
"#6641aab4-c55f-4d11-8846-26b0b706ec1c",
":fleet:4afac11787333200a328c5b836cb0b4e:Bumble Untd"
],
"species": "DOUBLE_SIGNAL",
"range": [
"2022-06-16T17:50:00Z",
"2022-06-16T17:50:00Z"
],
"values": [
129.02530271356756
],
"period": 300
}
]
O exemplo de cURL a seguir usa a opção de formato CSV para transmitir de volta os valores de altitude (armazenados no banco de dados como "mb_demo_mt_altitude") do último dia para cada drone armazenado na tabela mb_demo_drone [Drones] do plug-in Metricbase Demo. No exemplo, os dados são retornados em um formato de tabela estreito com três colunas: o Sys_id do assunto que identifica o drone, o carimbo de data/hora do valor e o valor da altitude.
curl "https://instance.servicenow.com/api/now/v1/clotho/transform/stream" \
--request POST \
--header "Accept:text/csv;format=narrow" \
--header "Content-Type:application/json" \
--user "user name":"password" \
-d "{\
\"start\": \"P1D\",\
\"end\": \"\",\
\"table\": \"mb_demo_drone\",\
\"metrics\": [\
{\
\"metric\": \"mb_demo_mt_altitude\",\
\"transforms\": []\
}]\
}"
Saída:
Subject, Timestamp,"mb_demo_drone|mb_demo_mt_altitude"
"a66b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,92.84400939941406
"a66b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,92.2428970336914
"6a6b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,92.0076904296875
"ea6b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,97.3113021850586
"a66b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,108.49791717529297
"6a6b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,109.04239654541016
"6a6b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,93.72159576416016
"ee6b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,107.69989776611328
"ee6b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,100.86473083496094
"ee6b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,95.77774047851562
"666b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,105.19712829589844
"666b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,105.92308807373047
"6e6b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,93.59339141845703
"666b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,94.51266479492188
"e26b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,105.4367904663086
"6e6b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,94.64836883544922
"6e6b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,94.78523254394531
"e26b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,96.99283599853516
"aa6b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,106.67017364501953
"e26b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,94.2446517944336
"aa6b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,91.659912109375
"226b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,99.5401840209961
"226b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,98.13501739501953
"226b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,92.2428970336914
"226b051787333200a328c5b836cb0b90",2022-11-07T22:35:00Z,106.41876983642578
"aa6b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,107.69989776611328
"626b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,92.96666717529297
"e66b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,93.85079193115234
"e66b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,96.07303619384766
"e66b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,98.47595977783203
"2a6b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,95.9247055053711
"226b051787333200a328c5b836cb0b9a",2022-11-07T22:35:00Z,99.5401840209961
"2a6b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,103.1417465209961
"2a6b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,96.99283599853516
"ae6b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,94.64836883544922
"ae6b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,101.8689956665039
"ae6b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,107.4388198852539
"a26b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,94.78523254394531
"266b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,94.51266479492188
"2e6b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,108.49791717529297
"2e6b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,97.15129852294922
"2e6b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,103.36128997802734
"a26b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,100.47681427001953
"266b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,103.5830078125
"266b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,97.3113021850586
"a26b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,105.92308807373047
"ea6b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,95.34477996826172
"ea6b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,100.47681427001953
"626b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,100.86473083496094
"626b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,106.9239730834961
Série temporal de MetricBase - POST /now/clotho/put
Adiciona dados de série temporal ao banco de dados MetricBase.
Formato da URL
URL com controle de versão: /api/now/{api_version}/clotho/put
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| api_version | Versão do endpoint a ser acessada. Por exemplo, v1 ou v2. Somente especifique este valor para usar uma versão de endpoint diferente da mais recente. Tipo de dados: cadeia de caracteres |
| Nome | Descrição |
|---|---|
| sysparm_ignore_unknown_series | Sinalizador que indica se as séries desconhecidas devem ser ignoradas e continuar a transação sem retornar um erro. Valores válidos:
Padrão: verdadeiro |
| Nome | Descrição |
|---|---|
| refsérie | Obrigatório. Informações a serem atualizadas. Tipo de dados: matriz de objetos |
| ref.série.métrica | Obrigatório. Nome da métrica a ser atualizada. Tipo de dados: cadeia de caracteres |
| ref.série.assunto | Obrigatório. Sys_id do registro no qual os dados serão atualizados. Tipo de dados: cadeia de caracteres Tabela: especificada no parâmetro seriesRef.table. |
| ref.série.tabela | Obrigatório. Nome da tabela na qual os dados serão salvos. Tipo de dados: cadeia de caracteres |
| valores | Obrigatório. Valores de série a serem armazenados. Tipo de dados: matriz |
| valores.carimbo de data/hora | Obrigatório. Carimbo de data/hora ISO 8601 do valor. Tipo de dados: cadeia de caracteres Formato: O "Z" final, que denota o fuso horário UTC em um carimbo de data/hora no formato ISO, é opcional. |
| valores.valor | Obrigatório. Valor da métrica. Tipo de dados: número |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis.
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Oferece suporte somente a application/json. |
| Tipo de conteúdo | Formato de dados do corpo da solicitação. Oferece suporte somente a application/json. |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.
| Código do status | Descrição |
|---|---|
| 200 | Bem-sucedido. A solicitação foi processada com sucesso. |
| 401 | Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas. |
| 500 | Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro. |
Parâmetros do corpo da resposta (JSON ou XML)
| Nome | Descrição |
|---|---|
| mensagem | Mensagem que indica o status da solicitação, como ok se a solicitação foi processada com sucesso. |
Solicitação de cURL
curl "https://instance.servicenow.com/api/now/v1/clotho/put" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"seriesRef\": {
\"subject\": \"3D666b051787333200a328c5b836cb0b92\",
\"table\": \"mb_demo_drone\",
\"metric\": \"mb_demo_mt_altitude\"
},
\"values\": [
{
\"timestamp\": \"2019-03-21T17:05:00Z\",
\"value\": 0.150185
},
{
\"timestamp\": \"2019-03-21T17:06:00Z\",
\"value\": 0.46074
},
{
\"timestamp\": \"2019-03-21T17:07:00Z\",
\"value\": 0.83104
},
{
\"timestamp\": \"2019-03-21T17:08:00Z\",
\"value\": 1.260635
},
{
\"timestamp\": \"2019-03-21T17:09:00Z\",
\"value\": 1.749
}
]
}" \
--user "username":"password"
{
"result": {
"message": "ok"
}
}