

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 snapshot


Use a API de snapshot para trabalhar com snapshots em um espaço de trabalho do Amazon Managed Grafana. 

**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 snapshot


```
POST /api/snapshots
```

**Exemplo de solicitação**

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

    {
      "dashboard": {
        "editable":false,
        "hideControls":true,
        "nav":[
        {
          "enable":false,
        "type":"timepicker"
        }
        ],
        "rows": [
          {

          }
        ],
        "style":"dark",
        "tags":[],
        "templating":{
          "list":[
          ]
        },
        "time":{
        },
        "timezone":"browser",
        "title":"Home",
        "version":5
        },
      "expires": 3600
    }
```

Esquema do corpo JSON:
+ **dashboard**: (obrigatório) o modelo completo do dashboard. 
+ **name**: (opcional) om nome para o snapshot.
+ **expira**: (opcional) quando o snapshot deve expirar, em segundos. O padrão é nunca expirar.
+ **externo**: (opcional) salve o snapshot em um servidor externo em vez de localmente. O padrão é falso.
+ **chave**: (obrigatório se `external` for `true`) Defina uma chave exclusiva.
+ **deletekey**: (obrigatório se `external` for `true`) uma chave exclusiva a ser usada para excluir o snapshot. É diferente da `key` para que somente o criador possa excluir o snapshot.

**nota**  
Ao criar um snapshot usando a API, você precisa fornecer a carga útil completa do dashboard, incluindo os dados do snapshot. Esse endpoint foi projetado para a interface de usuário do Grafana.

**Exemplo de resposta**

```
HTTP/1.1 200
    Content-Type: application/json
    {
      "deleteKey":"XXXXXXX",
      "deleteUrl":"myurl/api/snapshots-delete/XXXXXXX",
      "key":"YYYYYYY",
      "url":"myurl/dashboard/snapshot/YYYYYYY",
      "id": 1,
    }
```

Chaves:
+ **deleteKey**: uma chave gerada para ser usada para excluir o snapshot.
+ **chave**: uma chave gerada para compartilhar o dashboard.

## Obter lista de snapshots.


```
GET /api/dashboard/snapshots
```

Parâmetros de consulta:
+ **consulta**: consulta de pesquisa
+ **limite**: limita o número de resultados retornados

**Exemplo de solicitação**

```
GET /api/dashboard/snapshots HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Exemplo de resposta**

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

[
  {
    "id":8,
    "name":"Home",
    "key":"YYYYYYY",
    "orgId":1,
    "userId":1,
    "external":false,
    "externalUrl":"",
    "expires":"2200-13-32T25:23:23+02:00",
    "created":"2200-13-32T28:24:23+02:00",
    "updated":"2200-13-32T28:24:23+02:00"
  }
]
```

## Obter snapshot por chave


```
GET /api/snapshots/:key
```

**Exemplo de solicitação**

```
GET /api/snapshots/YYYYYYY HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Exemplo de resposta**

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

{
  "meta":{
    "isSnapshot":true,
    "type":"snapshot",
    "canSave":false,
    "canEdit":false,
    "canStar":false,
    "slug":"",
    "expires":"2200-13-32T25:23:23+02:00",
    "created":"2200-13-32T28:24:23+02:00"
  },
  "dashboard": {
    "editable":false,
    "hideControls":true,
    "nav": [
      {
        "enable":false,
        "type":"timepicker"
      }
    ],
    "rows": [
      {

      }
    ],
    "style":"dark",
    "tags":[],
    "templating":{
      "list":[
      ]
    },
    "time":{
    },
    "timezone":"browser",
    "title":"Home",
    "version":5
  }
}
```

## Excluir snapshot por chave


```
DELETE /api/snapshots/:key
```

**Exemplo de solicitação**

```
DELETE /api/snapshots/YYYYYYY HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Exemplo de resposta**

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

{"message":"Snapshot deleted. It might take an hour before it's cleared from any CDN caches.", "id": 1}
```

## Excluir snapshot com deleteKey


Essa chamada de API pode ser usada sem autenticação usando a chave secreta de exclusão para o snapshot.

```
GET /api/snapshots-delete/:deleteKey
```

**Exemplo de solicitação**

```
GET /api/snapshots-delete/XXXXXXX HTTP/1.1
Accept: application/json
```

**Exemplo de resposta**

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

{"message":"Snapshot deleted. It might take an hour before it's cleared from any CDN caches.", "id": 1}
```