

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# API de anotaciones
<a name="v10-Grafana-API-Annotations"></a>

Use la API de anotaciones para crear, actualizar y eliminar anotaciones, y trabajar con ellas, en el espacio de trabajo de Amazon Managed Grafana. 

Las anotaciones se guardan en la base de datos de Grafana del espacio de trabajo (sqlite, mysql o postgres). Las anotaciones pueden ser anotaciones globales que se pueden mostrar en cualquier panel configurando un origen de datos de anotaciones. Las anotaciones se filtran por etiquetas. También se pueden vincular a un panel de otro panel y mostrarse solo en ese panel.

**nota**  
Para usar una API de Grafana con tu espacio de trabajo de Grafana gestionado por Amazon, debes tener un token de cuenta de servicio válido. Lo incluye en el campo `Authorization` de la solicitud de API.

## Búsqueda de anotaciones
<a name="v10-Grafana-API-Annotations-Find"></a>

```
GET /api/annotations?from=1506676478816&to=1507281278816&tags=tag1&tags=tag2&limit=100
```

**Ejemplo de solicitud**

```
GET /api/annotations?from=1506676478816&to=1507281278816&tags=tag1&tags=tag2&limit=100 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

Parámetros de consulta:
+ **from**: (opcional) fecha y hora de la época en milisegundos.
+ **to**: (opcional) fecha y hora de la época en milisegundos.
+ **limit**: (opcional) número máximo de resultados devueltos. El valor predeterminado es 100.
+ **alertid**: (opcional) busque las anotaciones de la alerta especificada.
+ **dashboardId**: (opcional) busque las anotaciones limitadas al panel especificado.
+ **panelId**: (opcional) busque las anotaciones limitadas al panel especificado.
+ **userId**: (opcional) busque las anotaciones creadas por el usuario especificado.
+ **type**: (opcional) especifique si desea devolver las alertas o las anotaciones creadas por el usuario. Los valores son `alert` y `annotation`. 
+ **tags**: (opcional) utilice esta opción para filtrar las anotaciones globales. Las anotaciones globales son anotaciones de un origen de datos de anotaciones que no están conectadas específicamente a ningún panel. Para hacer un filtrado “AND” con varias etiquetas, especifique el parámetro de etiquetas varias veces. Por ejemplo, `tags=tag1&tags=tag2`. Son etiquetas de Grafana, no AWS etiquetas. 

**Ejemplo de respuesta**

```
HTTP/1.1 200
Content-Type: application/json
[
    {
        "id": 1124,
        "alertId": 0,
        "dashboardId": 468,
        "panelId": 2,
        "userId": 1,
        "userName": "",
        "newState": "",
        "prevState": "",
        "time": 1507266395000,
        "timeEnd": 1507266395000,
        "text": "test",
        "metric": "",
        "tags": [
            "tag1",
            "tag2"
        ],
        "data": {}
    },
    {
        "id": 1123,
        "alertId": 0,
        "dashboardId": 468,
        "panelId": 2,
        "userId": 1,
        "userName": "",
        "newState": "",
        "prevState": "",
        "time": 1507265111000,
        "text": "test",
        "metric": "",
        "tags": [
            "tag1",
            "tag2"
        ],
        "data": {}
    }
]
```

## Creación de una anotación
<a name="v10-Grafana-API-Annotations-create"></a>

```
POST /api/annotations
```

Crea una anotación en la base de datos de Grafana del espacio de trabajo. Los campos `dashboardId` y `panelId` son opcionales. Si no se especifican, se crea una anotación global que se puede consultar en cualquier panel que agregue el origen de datos de anotaciones de Grafana. Al crear una anotación de región, asegúrese de incluir la propiedad `timeEnd`.

El formato para `time` y `timeEnd` debe ser números de época con una resolución de milisegundos.

**Ejemplo de solicitud**

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

{
  "dashboardId":468,
  "panelId":1,
  "time":1507037197339,
  "timeEnd":1507180805056,
  "tags":["tag1","tag2"],
  "text":"Annotation Description"
}
```

**Ejemplo de respuesta**

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

{
    "message":"Annotation added",
    "id": 1,
}
```

## Creación de una anotación en formato de Graphite
<a name="v10-Grafana-API-Annotations-create-graphite"></a>

```
POST /api/annotations/graphite
```

Crea una anotación mediante un formato de Graphite-compatible evento. Los campos `when` y `data` son opcionales. Si no se especifica `when`, la hora actual se utiliza como marca de tiempo de la anotación. El campo `tags` también puede tener un formato anterior al de Graphite 0.10.0 (cadena con varias etiquetas separadas por un espacio). 

**Ejemplo de solicitud**

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

{
  "what": "Event - deploy",
  "tags": ["deploy", "production"],
  "when": 1467844481,
  "data": "deploy of master branch happened at Wed Jul 6 22:34:41 UTC 2016"
}
```

**Ejemplo de respuesta**

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

{
    "message":"Graphite annotation added",
    "id": 1
}
```

## Actualización de una anotación
<a name="v10-Grafana-API-Annotations-update"></a>

```
PUT /api/annotations/:id
```

Actualice todas las propiedades de una anotación que coincida con el ID especificado. Para actualizar solo determinadas propiedades, utilice la operación de anotación de revisiones.

**Ejemplo de solicitud**

```
PUT /api/annotations/1141 HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Content-Type: application/json

{
  "time":1507037197339,
  "timeEnd":1507180805056,
  "text":"Annotation Description",
  "tags":["tag3","tag4","tag5"]
}
```

**Ejemplo de respuesta:**

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

{
    "message":"Annotation updated"
}
```

## Anotación de revisiones
<a name="v10-Grafana-API-Annotations-patch"></a>

```
PATCH /api/annotations/:id
```

Actualice una o más propiedades de una anotación que coincida con el ID especificado. Actualmente, esta operación permite actualizar las propiedades `text`, `tags`, `time` y `timeEnd`.

**Ejemplo de solicitud:**

```
PATCH /api/annotations/1145 HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Content-Type: application/json
       
{
   "text":"New Annotation Description",
   "tags":["tag6","tag7","tag8"]
}
```

**Ejemplo de respuesta**

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

{
    "message":"Annotation patched"
}
```

## Eliminación de una anotación por ID
<a name="v10-Grafana-API-Annotations-deteebyId"></a>

```
DELETE /api/annotations/:id
```

Elimina la anotación que coincide con el ID especificado.

**Ejemplo de solicitud**

```
DELETE /api/annotations/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Ejemplo de respuesta**

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

{
    "message":"Annotation deleted"
}
```