

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# API de dashboard
<a name="Grafana-API-Dashboard"></a>

Use a API de dashboard para criar, atualizar, excluir e trabalhar com dashboards no espaço de trabalho do Amazon Managed Grafana. 

O identificador (ID) de um dashboard é um valor numérico de incremento automático e é exclusivo apenas por espaço de trabalho. O identificador exclusivo (UID) de um dashboard pode ser usado para identificar de forma exclusiva um dashboard entre vários espaços de trabalho do Amazon Managed Grafana. Ele será gerado automaticamente se você não fornecer um ao criar um dashboard. O uid permite ter consistência URLs para acessar painéis e sincronizar painéis entre vários espaços de trabalho. O uso do UID significa que alterar o título de um dashboard não quebra nenhum link marcado para esse dashboard.

A UID pode ter um tamanho máximo de 40 caracteres.

**nota**  
Para usar uma API do Grafana com o espaço de trabalho do Amazon Managed Grafana, você deve ter um token válido da API do Grafana. Você inclui isso no campo `Authorization` na solicitação da API. Para obter informações sobre como criar um token para autenticar as chamadas de API, consulte [Autenticação com tokens](authenticating-grafana-apis.md).

## Criar e atualizar um dashboard
<a name="Grafana-API-Dashboard-createupdate"></a>

```
POST /api/dashboards/db
```

Cria um dashboard ou atualiza um existente.

**Exemplo de solicitação para criar um dashboard**

```
POST /api/dashboards/db HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "dashboard": {
    "id": null,
    "uid": null,
    "title": "Production Overview",
    "tags": [ "templated" ],
    "timezone": "browser",
    "schemaVersion": 16,
    "version": 0,
    "refresh": "25s"
  },
  "folderId": 0,
  "folderUid": "l3KqBxCMz",
  "message": "Made changes to xyz",
  "overwrite": false
}
```

Esquema do corpo JSON:
+ **dashboard**: o modelo completo do dashboard. Use null para criar um dashboard.
+ **dashboard.id**: use null para criar um dashboard.
+ **dashboard.uid**: identificador exclusivo opcional quando você o usa para criar um dashboard. Se for nulo, um novo UID será gerado. 
+ **folderid**: o ID da pasta na qual salvar o dashboard.
+ **folderUid**: o UID da pasta na qual salvar o dashboard. Substitui o valor de `folderid`.
+ **substituir**: especifique `true` para substituir um dashboard existente por uma versão mais recente, pelo mesmo título do dashboard na pasta ou pelo mesmo UID do dashboard.
+ **mensagem**: defina uma mensagem de confirmação para o histórico da versão.
+ **atualizar**: defina o intervalo de atualização do dashboard. Se for menor que o intervalo mínimo de atualização, ele será ignorado e o intervalo mínimo de atualização será usado. 

Para adicionar ou atualizar uma regra de alerta para um painel do dashboard, declare um bloqueio `dashboard.panels.alert`.

**Exemplo de solicitação para atualizar uma regra de alerta do dashboard**

```
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 78

{
 "dashboard":  {
        "id": 104,
        "panels": [
            {
                "alert": {
                    "alertRuleTags": {},
                    "conditions": [
                        {
                            "evaluator": {
                                "params": [
                                    25
                                ],
                                "type": "gt"
                            },
                            "operator": {
                                "type": "and"
                            },
                            "query": {
                                "params": [
                                    "A",
                                    "5m",
                                    "now"
                                ]
                            },
                            "reducer": {
                                "params": [],
                                "type": "avg"
                            },
                            "type": "query"
                        }
                    ],
                    "executionErrorState": "alerting",
                    "for": "5m",
                    "frequency": "1m",
                    "handler": 1,
                    "name": "Panel Title alert",
                    "noDataState": "no_data",
                    "notifications": []
                },
                "aliasColors": {},
                "bars": false,
                "dashLength": 10,
                "dashes": false,
                "datasource": null,
                "fieldConfig": {
                    "defaults": {
                        "custom": {}
                    },
                    "overrides": []
                },
                "fill": 1,
                "fillGradient": 0,
                "gridPos": {
                    "h": 9,
                    "w": 12,
                    "x": 0,
                    "y": 0
                },
                "hiddenSeries": false,
                "id": 2,
                "legend": {
                    "avg": false,
                    "current": false,
                    "max": false,
                    "min": false,
                    "show": true,
                    "total": false,
                    "values": false
                },
                "lines": true,
                "linewidth": 1,
                "nullPointMode": "null",
                "options": {
                    "dataLinks": []
                },
                "percentage": false,
                "pointradius": 2,
                "points": false,
                "renderer": "flot",
                "seriesOverrides": [],
                "spaceLength": 10,
                "stack": false,
                "steppedLine": false,
                "targets": [
                    {
                        "refId": "A",
                        "scenarioId": "random_walk"
                    }
                ],
                "thresholds": [
                    {
                        "colorMode": "critical",
                        "fill": true,
                        "line": true,
                        "op": "gt",
                        "value": 50
                    }
                ],
                "timeFrom": null,
                "timeRegions": [],
                "timeShift": null,
                "title": "Panel Title",
                "tooltip": {
                    "shared": true,
                    "sort": 0,
                    "value_type": "individual"
                },
                "type": "graph",
                "xaxis": {
                    "buckets": null,
                    "mode": "time",
                    "name": null,
                    "show": true,
                    "values": []
                },
                "yaxes": [
                    {
                        "format": "short",
                        "label": null,
                        "logBase": 1,
                        "max": null,
                        "min": null,
                        "show": true
                    },
                    {
                        "format": "short",
                        "label": null,
                        "logBase": 1,
                        "max": null,
                        "min": null,
                        "show": true
                    }
                ],
                "yaxis": {
                    "align": false,
                    "alignLevel": null
                }
            }
        ],
        "title": "Update alert rule via API",
        "uid": "dHEquNzGz",
        "version": 1
    }
}
```

**Exemplo de resposta**

```
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 78

{
  "id":      1,
  "uid":     "cIBgcSjkk",
  "url":     "/d/cIBgcSjkk/production-overview",
  "status":  "success",
  "version": 1,
  "slug":    "production-overview" //deprecated in Grafana v5.0
}
```

Códigos de status:
+ **200**: criado
+ **400**: erro como JSON inválido, campos inválidos ou ausentes
+ **401**: não autorizado
+ **403**: acesso negado
+ **412**: falha na pré-condição

O código de status **412** é usado para explicar por que o dashboard não pode ser criado.
+  O dashboard foi alterado por outra pessoa `status=version-mismatch` 
+  Já existe um dashboard com o mesmo nome na pasta `status=name-exists` 
+  Já existe um dashboard com o mesmo UID `status=name-exists` 
+ O dashboard pertence ao plug-in `plugin title` `status=plugin-dashboard`

O corpo de resposta tem as propriedades a seguir. Se outro dashboard tiver o mesmo título, o valor do `status` será `name-exists`.

```
HTTP/1.1 412 Precondition Failed
Content-Type: application/json; charset=UTF-8
Content-Length: 97

{
  "message": "The dashboard has been changed by someone else",
  "status": "version-mismatch"
}
```

## Obter dashboard por UID
<a name="Grafana-API-Dashboard-get"></a>

```
GET /api/dashboards/uid/:uid
```

Retorna o dashboard correspondente ao UID. Os metadados retornados podem conter informações sobre o UID da pasta que contém o dashboard.

**Exemplo de solicitação**

```
GET /api/dashboards/uid/cIBgcSjkk HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Exemplo de resposta**

```
HTTP/1.1 200
Content-Type: application/json

{
  "dashboard": {
    "id": 1,
    "uid": "cIBgcSjkk",
    "title": "Production Overview",
    "tags": [ "templated" ],
    "timezone": "browser",
    "schemaVersion": 16,
    "version": 0
  },
  "meta": {
    "isStarred": false,
    "url": "/d/cIBgcSjkk/production-overview",
    "folderId": 2,
    "folderUid": "l3KqBxCMz",
    "slug": "production-overview" //deprecated in Grafana v5.0
  }
}
```

Códigos de status:
+ **200**: encontrado
+ **401**: não autorizado
+ **403**: acesso negado
+ **404**: não encontrado

## Excluir dashboard por UID
<a name="Grafana-API-Dashboard-delete"></a>

```
DELETE /api/dashboards/uid/:uid
```

Exclui o dashboard correspondente ao UID.

**Exemplo de solicitação**

```
DELETE /api/dashboards/uid/cIBgcSjkk HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Exemplo de resposta**

```
HTTP/1.1 200
Content-Type: application/json

{
  "title": "Production Overview",
  "message": "Dashboard Production Overview deleted",
  "id": 2
}
```

Códigos de status:
+ **200**: excluído
+ **401**: não autorizado
+ **403**: acesso negado
+ **404**: não encontrado

## Obtém o dashboard inicial
<a name="Grafana-API-Dashboard-home"></a>

```
GET /api/dashboards/home
```

Retorna o dashboard inicial.

**Exemplo de solicitação**

```
GET /api/dashboards/home HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Exemplo de resposta**

```
HTTP/1.1 200
Content-Type: application/json

{
  "dashboard": {
    "editable":false,
    "hideControls":true,
    "nav":[
      {
        "enable":false,
        "type":"timepicker"
      }
    ],
    "style":"dark",
    "tags":[],
    "templating":{
      "list":[
      ]
    },
    "time":{
    },
    "timezone":"browser",
    "title":"Home",
    "version":5
  },
  "meta":	{
    "isHome":true,
    "canSave":false,
    "canEdit":false,
    "canStar":false,
    "url":"",
    "expires":"0001-01-01T00:00:00Z",
    "created":"0001-01-01T00:00:00Z"
  }
}
```

## Obter tags do dashboard
<a name="Grafana-API-Dashboard-tags"></a>

```
GET /api/dashboards/tags
```

Retorna todas as tags dos dashboards.

**Exemplo de solicitação**

```
GET /api/dashboards/tags HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Exemplo de resposta**

```
HTTP/1.1 200
Content-Type: application/json

[
  {
    "term":"tag1",
    "count":1
  },
  {
    "term":"tag2",
    "count":4
  }
]
```