翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
データソース API
Data Source API を使用して、Amazon Managed Grafana ワークスペースのデータソースを作成、更新、削除、操作します。
注記
Amazon Managed Grafana ワークスペースで Grafana API を使用するには、有効なサービスアカウントトークンが必要です。このトークンは API リクエストの Authorization フィールドに含めます。
すべてのデータソースの取得
GET /api/datasources
リクエストの例
GET /api/datasources HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
レスポンスの例
HTTP/1.1 200 Content-Type: application/json [ { "id": 1, "orgId": 1, "uid": "H8joYFVGz" "name": "datasource_elastic", "type": "elasticsearch", "typeLogoUrl": "public/app/plugins/datasource/elasticsearch/img/elasticsearch.svg", "access": "proxy", "url": "http://mydatasource.com", "password": "", "user": "", "database": "grafana-dash", "basicAuth": false, "isDefault": false, "jsonData": { "esVersion": 5, "logLevelField": "", "logMessageField": "", "maxConcurrentShardRequests": 256, "timeField": "@timestamp" }, "readOnly": false } ]
UID による単一データソースの取得
GET /api/datasources/uid/:uid
リクエストの例
GET /api/datasources/uid/kLtEtcRGk HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
レスポンスの例
HTTP/1.1 200 Content-Type: application/json { "id": 1, "uid": "kLtEtcRGk", "orgId": 1, "name": "test_datasource", "type": "graphite", "typeLogoUrl": "", "access": "proxy", "url": "http://mydatasource.com", "password": "", "user": "", "database": "", "basicAuth": false, "basicAuthUser": "", "basicAuthPassword": "", "withCredentials": false, "isDefault": false, "jsonData": { "graphiteType": "default", "graphiteVersion": "1.1" }, "secureJsonFields": {}, "version": 1, "readOnly": false }
名前による単一データソースの取得
GET /api/datasources/name/:name
リクエストの例
GET /api/datasources/name/test_datasource HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
レスポンスの例
HTTP/1.1 200 Content-Type: application/json { "id": 1, "uid": "kLtEtcRGk", "orgId": 1, "name": "test_datasource", "type": "graphite", "typeLogoUrl": "", "access": "proxy", "url": "http://mydatasource.com", "password": "", "user": "", "database": "", "basicAuth": false, "basicAuthUser": "", "basicAuthPassword": "", "withCredentials": false, "isDefault": false, "jsonData": { "graphiteType": "default", "graphiteVersion": "1.1" }, "secureJsonFields": {}, "version": 1, "readOnly": false }
名前によるデータソース Id の取得
GET /api/datasources/id/:name
リクエストの例
GET /api/datasources/id/test_datasource HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
レスポンスの例
HTTP/1.1 200 Content-Type: application/json { "id":1 }
データソースを作成します。
POST /api/datasources
Graphite のリクエスト例
POST /api/datasources HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "name":"test_datasource", "type":"graphite", "url":"http://mydatasource.com", "access":"proxy", "basicAuth":false }
Graphite のレスポンス例
HTTP/1.1 200 Content-Type: application/json { "datasource": { "id": 1, "orgId": 1, "name": "test_datasource", "type": "graphite", "typeLogoUrl": "", "access": "proxy", "url": "http://mydatasource.com", "password": "", "user": "", "database": "", "basicAuth": false, "basicAuthUser": "", "basicAuthPassword": "", "withCredentials": false, "isDefault": false, "jsonData": {}, "secureJsonFields": {}, "version": 1, "readOnly": false }, "id": 1, "message": "Datasource added", "name": "test_datasource" }
注記
secureJsonData 内で password および basicAuthPassword を定義すると、Amazon Managed Grafana により暗号化された blob として、データベース内で安全に暗号化されます。その後、レスポンスにより secureJsonFields の暗号化フィールドが一覧表示されます。
基本的な認証が有効な Graphite のリクエスト例
POST /api/datasources HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "name": "test_datasource", "type": "graphite", "url": "http://mydatasource.com", "access": "proxy", "basicAuth": true, "basicAuthUser": "basicuser", "secureJsonData": { "basicAuthPassword": "basicpassword" } }
基本的な認証が有効なレスポンス例
HTTP/1.1 200 Content-Type: application/json { "datasource": { "id": 1, "orgId": 1, "name": "test_datasource", "type": "graphite", "typeLogoUrl": "", "access": "proxy", "url": "http://mydatasource.com", "password": "", "user": "", "database": "", "basicAuth": true, "basicAuthUser": "basicuser", "basicAuthPassword": "", "withCredentials": false, "isDefault": false, "jsonData": {}, "secureJsonFields": { "basicAuthPassword": true }, "version": 1, "readOnly": false }, "id": 102, "message": "Datasource added", "name": "test_datasource" }
CloudWatch のリクエスト例
POST /api/datasources HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "name": "test_datasource", "type": "cloudwatch", "url": "http://monitoring.us-west-1.amazonaws.com", "access": "proxy", "jsonData": { "authType": "keys", "defaultRegion": "us-west-1" }, "secureJsonData": { "accessKey": "Ol4pIDpeKSA6XikgOl4p", "secretKey": "dGVzdCBrZXkgYmxlYXNlIGRvbid0IHN0ZWFs" } }
UID でデータソースを更新する
PUT /api/datasources/uid/:uid
指定された UID に一致するデータソースを更新します。
リクエストの例
PUT /api/datasources/uid/kLtEtcRGk HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "name": "test_datasource", "type": "graphite", "url": "http://mydatasource.com", "access": "proxy", "basicAuth": false, "isDefault": false }
レスポンスの例
HTTP/1.1 200 Content-Type: application/json { "datasource": { "id": 1, "uid": "kLtEtcRGk", "orgId": 1, "name": "test_datasource", "type": "graphite", "access": "proxy", "url": "http://mydatasource.com", "basicAuth": false, "isDefault": false }, "name": "test_datasource" }
UID によるデータソースの削除
DELETE /api/datasources/uid/:uid
リクエストの例
DELETE /api/datasources/uid/kLtEtcRGk HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
レスポンスの例
HTTP/1.1 200 Content-Type: application/json {"message":"Data source deleted"}
名前によるデータソースの削除
DELETE /api/datasources/name/:datasourceName
リクエストの例
DELETE /api/datasources/name/test_datasource HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
レスポンスの例
HTTP/1.1 200 Content-Type: application/json { "message":"Data source deleted", "id": 1 }
データソースのプロキシコール
GET /api/datasources/proxy/:datasourceId/*
実際のデータソースへのすべてのコールをプロキシします。
データソースのクエリ
POST /api/ds/query
バックエンド実装があるデータソースをクエリします。大半の組み込みデータソースにはバックエンド実装があります。
リクエストの例
POST /api/ds/query HTTP/1.1 Accept: application/json Content-Type: application/json { "queries":[ { "refId":"A", "scenarioId":"csv_metric_values", "datasource":{ "uid":"PD8C576611E62080A" }, "format": "table", "maxDataPoints":1848, "intervalMs":200, "stringInput":"1,20,90,30,5,0" } ], "from":"now-5m", "to":"now" }
JSON ボディスキーマ:
from/to — クエリの時間範囲を指定します。時間は、ミリ秒単位のエポックタイムスタンプ、または Grafana 時間単位を使用する相対値のいずれかです。例えば、
now-5m。queries — 1 つまたは複数のクエリを指定します。少なくとも 1 つは必要です。
queries.datasource.uid — クエリの対象となるデータソースの UID を指定します。リクエスト内の各クエリには、一意の
datasourceが必要です。queries.refId — クエリの識別子を指定します。デフォルトは「A」です。
queries.format — データが返される形式を指定します。有効なオプションは、データソースに応じて
time_seriesまたはtableです。queries.maxDataPoints — ダッシュボードパネルがレンダリングできる、データポイントの最大数を指定します。デフォルトは 100 です。
queries.intervalMs — ミリ秒単位で時系列の時間間隔を指定します。デフォルトは 1000 です。
さらに、各データソースの特定のプロパティをリクエストに追加する必要があります (上記のリクエストに示すように、queries.stringInput など)。特定のデータソースのクエリを作成する方法の理解を深めるには、選択したブラウザでデベロッパーツールを使用し、/api/ds/query に対して行われる HTTP リクエストを調べます。
テストデータソースの時系列クエリレスポンスの例
HTTP/1.1 200 Content-Type: application/json { "results": { "A": { "frames": [ { "schema": { "refId": "A", "fields": [ { "name": "time", "type": "time", "typeInfo": { "frame": "time.Time" } }, { "name": "A-series", "type": "number", "typeInfo": { "frame": "int64", "nullable": true } } ] }, "data": { "values": [ [1644488152084, 1644488212084, 1644488272084, 1644488332084, 1644488392084, 1644488452084], [1, 20, 90, 30, 5, 0] ] } } ] } } }
既存のデータソースを更新する (廃止)
重要
このエンドポイントは廃止されました。代わりに UID でデータソースを更新する を使用します。
PUT /api/datasources/:datasourceId
リクエストの例
PUT /api/datasources/1 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "id":1, "orgId":1, "name":"test_datasource", "type":"graphite", "access":"proxy", "url":"http://mydatasource.com", "password":"", "user":"", "database":"", "basicAuth":true, "basicAuthUser":"basicuser", "secureJsonData": { "basicAuthPassword": "basicpassword" }, "isDefault":false, "jsonData":null }
レスポンスの例
HTTP/1.1 200 Content-Type: application/json { "datasource": { "id": 1, "orgId": 1, "name": "test_datasource", "type": "graphite", "typeLogoUrl": "", "access": "proxy", "url": "http://mydatasource.com", "password": "", "user": "", "database": "", "basicAuth": true, "basicAuthUser": "basicuser", "basicAuthPassword": "", "withCredentials": false, "isDefault": false, "jsonData": {}, "secureJsonFields": { "basicAuthPassword": true }, "version": 1, "readOnly": false }, "id": 102, "message": "Datasource updated", "name": "test_datasource" }
注記
secureJsonData 内で password および basicAuthPassword を定義して、暗号化された blob としてデータベースに安全に保存することをお勧めします。その後、レスポンスにより secureJsonFields の暗号化フィールドが一覧表示されます。
ID で単一のデータソースを取得する (廃止)
重要
このエンドポイントは廃止されました。代わりに UID による単一データソースの取得 を使用します。
GET /api/datasources/:datasourceId
リクエストの例
GET /api/datasources/1 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
レスポンスの例
HTTP/1.1 200 Content-Type: application/json { "id": 1, "uid": "kLtEtcRGk", "orgId": 1, "name": "test_datasource", "type": "graphite", "typeLogoUrl": "", "access": "proxy", "url": "http://mydatasource.com", "password": "", "user": "", "database": "", "basicAuth": false, "basicAuthUser": "", "basicAuthPassword": "", "withCredentials": false, "isDefault": false, "jsonData": { "graphiteType": "default", "graphiteVersion": "1.1" }, "secureJsonFields": {}, "version": 1, "readOnly": false }
ID でデータソースを削除する (廃止)
重要
このエンドポイントは廃止されました。代わりに UID によるデータソースの削除 を使用します。
DELETE /api/datasources/:datasourceId
リクエストの例
DELETE /api/datasources/1 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
レスポンスの例
HTTP/1.1 200 Content-Type: application/json {"message":"Data source deleted"}