Definitionen für benutzerdefinierte Berichte exportieren/importieren

Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zu Apigee X.
info

Mit Edge APIs können Sie benutzerdefinierte Berichte aus einer Organisationsumgebung in eine andere exportieren und importieren. Mit dieser nützlichen Technik können Sie benutzerdefinierte Berichtsdesigns, die Ihnen gefallen, in verschiedenen Organisationen und Umgebungen wiederverwenden. Außerdem können Sie das Design (eine einfache JSON-Textdatei) in Ihrer CSV-Datei speichern.

Verwenden Sie zuerst die API zum Auflisten von Definitionen von Analytics-Berichten, um die UUIDs aller für eine Organisation definierten Berichte abzurufen:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/org-name/reports" \
  -u email:password 

Für jeden Bericht enthält die Ausgabe den Anzeigenamen (der Name, der in der Edge-UI angezeigt wird) und die UUID:

{
  "qualifier": [
    {
      "displayName": "My Report 1",
      "name": "cb7cd16a-44c4-0bc83c3b9c92"
    },
    {
      "displayName": "My Other Report",
      "name": "a7e3fc4e-992a2ffc0e3d49d"
    },
    ...
  ]
}

Verwenden Sie jetzt die UUID des gewünschten Berichts, um seine Definition abzurufen. Rufen Sie dazu die API zum Abrufen einer Definition eines Analytics-Berichts auf. In diesem Beispiel rufen Sie die Definition des Berichts „My Report 1“ ab:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/org-name/reports/cb7cd16a-44c4-0bc83c3b9c92" \
  -u email:password 

Die Ausgabe enthält die Berichtsdefinition:

{
  "chartType": "column",
  "comments": [],
  "createdAt": 1506922614000,
  "createdBy": "11.111.121.57",
  "dimensions": [
    "apiproxy",
    "proxy_pathsuffix",
    "proxy_client_ip"
  ],
  "displayName": "My Report 1",
  "environment": "prod",
  "lastModifiedAt": 1512435450000,
  "lastModifiedBy": "111.111.121.57",
  "lastViewedAt": 1512435450000,
  "metrics": [
    {
      "function": "avg",
      "name": "response_size"
    },
    {
      "function": "avg",
      "name": "request_size"
    }
  ],
  "name": "cb7cd16a-44c4-0bc83c3b9c92",
  "organization": "myOrg",
  "properties": [
    {
      "property": "__ui__",
      "value": [
        {
          "name": "description"
        },
        {
          "name": "accuracy"
        }
      ]
    }
  ],
  "sortbyCols": [],
  "tags": [],
  "timeUnit": "hour"
}

Kopieren Sie die JSON-Ausgabe und aktualisieren Sie die Felder environment und organization nach Bedarf für das Ziel. Importieren Sie dann die Definition mit der API zum Erstellen einer Definition eines Analytics-Berichts.

So importieren Sie beispielsweise die Definition in die Umgebung test einer Organisation mit dem Namen destOrg:

curl -X POST -H "Content-Type: application/json" "https://api.enterprise.apigee.com/v1/organizations/destOrg/reports" \
-d "{
  "chartType": "column",
  "comments": [],
  "createdAt": 1506922614000,
  "createdBy": "11.111.121.57",
  "dimensions": [
    "apiproxy",
    "proxy_pathsuffix",
    "proxy_client_ip"
  ],
  "displayName": "My Report 1",
  "environment": "test",
  "lastModifiedAt": 1512435450000,
  "lastModifiedBy": "111.111.121.57",
  "lastViewedAt": 1512435450000,
  "metrics": [
    {
      "function": "avg",
      "name": "response_size"
    },
    {
      "function": "avg",
      "name": "request_size"
    }
  ],
  "name": "cb7cd16a-44c4-0bc83c3b9c92",
  "organization": "destOrg",
  "properties": [
    {
      "property": "__ui__",
      "value": [
        {
          "name": "description"
        },
        {
          "name": "accuracy"
        }
      ]
    }
  ],
  "sortbyCols": [],
  "tags": [],
  "timeUnit": "hour"
}" \
-u email:password 

Der Bericht sollte jetzt in der Edge-UI für die Organisation angezeigt werden.