Archive in einer Apigee-Umgebung bereitstellen und verwalten

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Entwickeln und testen Sie die programmierbaren API-Proxys mit Apigee in VS Code. Stellen Sie dann ein Archiv Ihrer API-Proxy-Konfigurationsumgebung in der Test- und Produktionsumgebung von Apigee Integration bereit, wie in den folgenden Abschnitten beschrieben.

Archivbereitstellung in einer Apigee-Umgebung aktivieren

Bevor Sie ein Archiv bereitstellen können, müssen Sie die Archivbereitstellung in Ihrer Apigee-Umgebung aktivieren.

Aktivieren Sie die Archivbereitstellung, wie in den folgenden Abschnitten beschrieben.

Klassische Apigee-UI

Wählen Sie zum Aktivieren der Archivbereitstellung in Ihrer Apigee-Umgebung beim Erstellen einer Apigee-Umgebung (außerhalb des Bereitstellungsassistenten) unter "Bereitstellungstyp" die Option Archiv aus.

Dialogfeld „Neue Umgebung“

Apigee API

Zur Aktivierung der Archivbereitstellung beim Erstellen einer Umgebung mit der API legen Sie im Anfragetext deploymentType auf ARCHIVE fest.

Beispiel:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments" \
   -X POST \
   -H "Authorization: Bearer $TOKEN" \
   -H "Content-type: application/json" \
   -d
   '{
      "name": "integration-test",
      "description": "Integration test environment",
      "displayName" : "Integration test",
      "deploymentType" : "ARCHIVE"
   }'

Dabei ist $TOKEN auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl-Optionen finden Sie unter curl verwenden. Eine Beschreibung der verwendeten Umgebungsvariablen findet sich unter Umgebungsvariablen für Apigee API-Anfragen festlegen.

Im Folgenden finden Sie ein Beispiel für die Antwort:

{
  "name": "organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
    "operationType": "INSERT",
    "targetResourceName": "organizations/$ORG/environments/integration-test",
    "state": "IN_PROGRESS"
  }
}

Sie können den Status des Vorgangs prüfen. Beispiel:

curl https://apigee.googleapis.com/v1/organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7 /
   -H "Authorization: Bearer $TOKEN"

Im Folgenden finden Sie ein Beispiel für die Antwort: Der Status des Vorgangs lautet FINISHED und der Status der Umgebung ist auf ACTIVE gesetzt.

{
  "name": "organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
    "operationType": "INSERT",
    "targetResourceName": "organizations/$ORG/environments/integration-test",
    "state": "FINISHED"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.apigee.v1.Environment",
    "name": "integration-test",
    "description": "Integration test environment",
    "createdAt": "1615553880084",
    "lastModifiedAt": "1615553881911",
    "displayName": "Integration test",
    "state": "ACTIVE",
    "deploymentType": "ARCHIVE"
  }
}

Weitere Informationen.

Archiv in einer Apigee-Umgebung bereitstellen

Verwenden Sie den folgenden gcloud-Befehl, um ein Archiv in einer Apigee-Umgebung bereitzustellen:

gcloud beta apigee archives deploy \
    --environment=$ENV \
    [--organization=$ORG] \
    [--source=$SOURCE] \
    [--labels $KEY=$VALUE[,$KEY2=$VALUE2,$KEY3=$VALUE3,...]]

Sie müssen die Apigee-Umgebung angeben, in der Sie das Archiv mit dem Flag --environment bereitstellen möchten. Die Apigee-Umgebung muss für Archivbereitstellungen aktiviert sein. Weitere Informationen finden Sie unter gcloud beta apigee archives deploy.

Das Archiv wird standardmäßig bereitgestellt:

  • Die Organisation, die dem aktuell aktiven Projekt zugeordnet ist, das für gcloud konfiguriert ist.

    Führen Sie gcloud config list aus, um die aktuelle gcloud-Konfiguration aufzurufen. Verwenden Sie das Flag --organization, um die Organisation anzugeben.

  • Aus dem aktuellen Arbeitsverzeichnis:
    Wenn sich das Stammverzeichnis src/main/apigee des Archivs an einem anderen Speicherort als das aktuelle Arbeitsverzeichnis befindet, verwenden Sie das Flag --source, um den Speicherort des Stammverzeichnisses des Archivs anzugeben. Siehe auch die Struktur eines Apigee-Arbeitsbereichs.

Optional können Sie mit dem Flag --labels bis zu 64 Schlüssel/Wert-Paare aus benutzerdefinierten Labels hinzufügen. Sie können beispielsweise ein Archiv mit einer Build-Nummer versehen. Die Labels werden angezeigt, wenn Sie Archivbereitstellungen auflisten. Schlüssel/Wert-Paare müssen den folgenden Richtlinien entsprechen:

  • Maximale Länge: 63 Zeichen
  • Maximale Größe: 128 Byte.
  • UTF-8-codiert
  • Entspricht dem folgenden Perl-kompatiblen regulären Ausdruck (PCRE): [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}

Im Hintergrund führt der Befehl gcloud bei der Bereitstellung in Apigee in Google Cloud die folgenden Schritte aus:

  1. Erstellt eine ZIP-Datei mit dem Apigee-Arbeitsbereich "src/main/apigee". Weitere Informationen finden Sie unter Funktionsweise eines Apigee-Arbeitsbereichs.
  2. Stellt das Archiv in Apigee in Google Cloud bereit:
    1. Generiert eine signierte URL für den Google Cloud Storage-Bucket in dem Projekt, das mit der aktuellen Apigee-Organisation verknüpft ist, mithilfe der API generateUploadUrl.
    2. Er lädt die Archiv-ZIP-Datei mit der signierten URL in den Cloud Storage-Bucket.
    3. Stellt das aktuell im Cloud Storage-Bucket bereitgestellte Archiv für Apigee in Google Cloud bereit. Dazu verwendet er die Archive Deployments API.

Beispielanfragen

Im folgenden Beispiel wird ein ZIP-Archiv von src/main/apigee im aktuellen Verzeichnis erstellt und in der angegebenen Apigee-Umgebung bereitgestellt:

gcloud beta apigee archives deploy --environment=$ENV

Das folgende Beispiel zeigt, wie Sie eine Organisation angeben können, die nicht mit dem derzeit für gcloud konfigurierten aktiven Projekt verknüpft ist:

gcloud beta apigee archives deploy --environment=$ENV --organization=$ORG

Im folgenden Beispiel wird ein ZIP-Archiv des Verzeichnisses src/main/apigee unter myarchive erstellt und in der angegebenen Apigee-Umgebung bereitgestellt:

gcloud beta apigee archives deploy --environment=$ENV --source=/myarchive

Im folgenden Beispiel werden die Labels status und build_id zur Archivbereitstellung hinzugefügt:

gcloud beta apigee archives deploy --environment=$ENV --labels=status=released,build=210315

Beispielantwort

Im Folgenden finden Sie ein Beispiel für die Antwort:

Using Apigee organization 'myorg'
Waiting for operation [b64c2665-b5ac-43cc-9e2d-232e8895c2ed] to complete...done.

Status der Archivbereitstellung überprüfen

Mit dem Befehl gcloud alpha apigee operations können Sie den Status der Archivierung überprüfen.

Das folgende Beispiel zeigt den Status der Archivbereitstellung für den Vorgang mit der Überarbeitungs-ID 439fa3f7-6aa4-42ad-8b12-3ca912c75d5c: IN_PROGRESS.

gcloud alpha apigee operations describe b64c2665-b5ac-43cc-9e2d-232e8895c2ed

Im Folgenden finden Sie ein Beispiel für die Antwort: state ist auf IN_PROGRESS eingestellt.

Using Apigee organization 'myorg'
done: true
metadata:
  '@type': type.googleapis.com/google.cloud.apigee.v1.OperationMetadata
  operationType: INSERT
  state: IN_PROGRESS
  targetResourceName: uri
name: organizations/myorg/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed
organization: myorg
response:
  '@type': type.googleapis.com/google.cloud.apigee.v1.CanaryEvaluation
  control: 1-5-0-20210319-071117-ghq74
  endTime: '2021-03-20T06:15:44.329363950Z'
  metricLabels:
    env: test
    location: us-central1
  name: uri
  startTime: '2021-03-20T06:14:44.306534584Z'
  treatment: 1-5-0-20210319-190954-if0wk
  verdict: NONE
uuid: b64c2665-b5ac-43cc-9e2d-232e8895c2ed

Wenn der Vorgang abgeschlossen ist, ist state auf FINISHED.

Alle Archivbereitstellungen in einer Umgebung auflisten

Listen Sie alle Archivbereitstellungen in einer Umgebung auf, wie in den folgenden Abschnitten beschrieben.

gcloud

Verwenden Sie den folgenden gcloud-Befehl, um alle Archivbereitstellungen in Apigee in Google Cloud aufzulisten:

gcloud beta apigee archives list --environment=$ENV

Sie müssen die Apigee-Umgebung angeben, in der Sie Archivierungsbereitstellungen mit dem Flag --environment aufrufen möchten. Die Apigee-Umgebung muss Details für eine Archivbereitstellung ansehen. Weitere Informationen finden Sie unter gcloud beta apigee archives list.

Im Folgenden finden Sie ein Beispiel für die Antwort:

Using Apigee organization 'myorg'
ARCHIVE ID                        ENVIRONMENT   DEPLOYED AT           LABELS                         OPERATION STATUS
pzfbs8uidbdv224joz                myorg         2021-03-10 11:21:29   status=released,build=210315   Deployed
fb4r8log2gm63r3gtu                myorg         2021-03-05 13:40:30
vrytwbhso558oil53m                myorg         2021-03-03 21:20:53

Apigee API

Senden Sie eine GET-Anfrage an die folgende API, um die Archivbereitstellungen in einer Umgebung aufzulisten: https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments.

Beispiel:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments" \
  -H "Authorization: Bearer $TOKEN"

Dabei ist $TOKEN auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl-Optionen finden Sie unter curl verwenden. Eine Beschreibung der verwendeten Umgebungsvariablen findet sich unter Umgebungsvariablen für Apigee API-Anfragen festlegen.

Im Folgenden finden Sie ein Beispiel für die Antwort:

{
  "archiveDeployments": [
    {
      "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz",
      "labels": {
        "status": "released",
        "build": "210315"
      },
      "createdAt": "1615821232451727",
      "updatedAt": "1615821232451727",
      "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed"
    },
    {
      "name": "organizations/myorg/environments/integration-test/archiveDeployments/fb4r8log2gm63r3gtu",
      "createdAt": "1615819281858447",
      "updatedAt": "1615819281858447",
      "operation": "organizations/apigee-docs-c/operations/71549b9c-4493-41b6-9838-c0ad5b1b3181"
    },
    {
      "name": "organizations/myorg/environments/integration-test/archiveDeployments/vrytwbhso558oil53m",
      "createdAt": "1615578337832207",
      "updatedAt": "1615578337832207",
      "operation": "organizations/apigee-docs-c/operations/a2eb50b5-f276-4de4-96a3-72fac3d4c05e"
    }
  ]
}

Details für eine Archivbereitstellung ansehen

Zeigen Sie Details für eine Archivbereitstellung an, wie in den folgenden Abschnitten beschrieben.

gcloud

Verwenden Sie den folgenden gcloud-Befehl, um Details für eine Archivbereitstellung in Apigee in Google Cloud aufzurufen:

gcloud beta apigee archives describe $ID --environment=$ENV

Sie müssen Folgendes angeben:

  • ID der Überarbeitungsarchivierung.
  • Apigee-Umgebung, in der Sie Archivbereitstellungen mit dem Flag --environment aufrufen möchten. Die Apigee-Umgebung muss für Archivbereitstellungen aktiviert sein.

Weitere Informationen finden Sie unter gcloud beta apigee archives describe.

Beispiel:

gcloud apigee archives describe pzfbs8uidbdv224joz --environment=$ENV

Im Folgenden finden Sie ein Beispiel für die Antwort:

Using Apigee organization 'myorg'
createdAt: '1615578337832207'
labels:
  status: 'released'
  build: '210315'
name: organizations/myorg/environments/$ENV/archiveDeployments/pzfbs8uidbdv224joz
operation: organizations/myorg/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed
operationStatus: Deployed
updatedAt: '1615821232451727'

Apigee API

Wenn Sie Details für eine Archivbereitstellung aufrufen möchten, senden Sie eine GET-Anfrage an die folgende API: https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID.

Sie müssen die ID der Überarbeitung der Archivbereitstellung übergeben. Informationen zum Aufrufen der Liste der Überarbeitungs-IDs der Archivbereitstellung für eine Apigee-Umgebung finden Sie unter Alle Archivbereitstellungen in einer Umgebung auflisten.

Beispiel:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/pzfbs8uidbdv224joz" \
  -X GET \
  -H "Authorization: Bearer $TOKEN"

Dabei ist $TOKEN auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl-Optionen finden Sie unter curl verwenden. Eine Beschreibung der verwendeten Umgebungsvariablen findet sich unter Umgebungsvariablen für Apigee API-Anfragen festlegen.

Im Folgenden finden Sie ein Beispiel für die Antwort:

{
  "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz",
  "labels": {
     "status": "released",
     "build": "210315"
  },
  "createdAt": "1615578337832207",
  "updatedAt": "1615821232451727",
  "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed"
}

Labels für eine Archivbereitstellung aktualisieren

Aktualisieren Sie die Labels für eine Archivbereitstellung, wie in den folgenden Abschnitten beschrieben.

gcloud

Verwenden Sie den folgenden gcloud-Befehl, um Labels für eine Archivbereitstellung in Apigee in Google Cloud zu aktualisieren:

gcloud beta apigee archives update [$ID] --environment=$ENV
  [--update-labels=$KEY=$VALUE[,$KEY2=$VALUE2...$KEYn=$VALUEn]],
  [--clear-labels | --remove-labels=$KEY[,$KEY2...$KEYn]]

Sie müssen Folgendes angeben:

  • ID der Überarbeitungsarchivierung
  • Apigee-Umgebung, in der Sie Archivbereitstellungen mit dem Flag --environment aufrufen möchten. Die Apigee-Umgebung muss für Archivbereitstellungen aktiviert sein.
  • Eines oder mehrere der folgenden Flags:
    Flag Beschreibung
    --clear-labels Entfernt alle Labels. Wenn auch --update-labels angegeben wird, wird zuerst --clear-labels angewendet.

    Kann nicht angegeben werden, wenn --remove-labels angegeben ist.

    --remove-labels Entfernt die angegebenen Labels. Wenn auch --update-labels angegeben wird, wird zuerst angewendet.

    Kann nicht angegeben werden, wenn --clear-labels angegeben ist.

    --update-labels Aktualisieren Sie die Labels. Wenn ein Label vorhanden ist, wird sein Wert geändert, andernfalls wird ein neues Label erstellt. Zusammen mit den Flags --remove-labels oder --clear-labels können Sie eine Teilmenge bzw. alle Labels entfernen und damit Labels aktualisieren.

Weitere Informationen finden Sie unter gcloud beta apigee archives update.

Beispiel:

gcloud apigee archives update pzfbs8uidbdv224joz --environment=$ENV \
  --clear-labels --update-labels=status=released,build=210315,tier=1

Im Folgenden finden Sie ein Beispiel für die Antwort:

Using Apigee organization `myorg`
createdAt: 2020-04-04T04:04:04.004Z
labels:
  status: released,
  build: 210315,
  tier: 1
name: organizations/apigee-docs-c/environments/dev/archiveDeployments/pzfbs8uidbdv224joz
operation: organizations/apigee-docs-c/operations/bf587121-8b5c-4897-9d8f-9b1ef0cb06ca
updatedAt: '1633450432067431'

Apigee API

Um Labels für eine Archivbereitstellung in Apigee in Google Cloud zu aktualisieren, senden Sie eine PATCH-Anfrage an die folgende API: https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID.

Sie müssen die ID der Überarbeitung der Archivbereitstellung übergeben. Informationen zum Aufrufen der Liste der Archivierungs-IDs für die Archivierung einer Apigee-Umgebung finden Sie unter Alle Archivbereitstellungen in einer Umgebung auflisten.

Übergeben Sie alle Labels, die Sie zum Archiv hinzufügen möchten, im Anfragetext. Die Labels, die Sie übergeben, überschreiben den aktuellen Satz von Labels, sodass Sie Labels durch Entfernen aus dem Anfragetext entfernen oder alle Labels aus einer leeren Liste entfernen können.

Beispiel:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID" \
  -X PATCH \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
    "labels": {
      "status" : "released",
      "build" : "210315"
    }
  }'

Dabei ist $TOKEN auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl-Optionen finden Sie unter curl verwenden. Eine Beschreibung der verwendeten Umgebungsvariablen findet sich unter Umgebungsvariablen für Apigee API-Anfragen festlegen.

Im Folgenden finden Sie ein Beispiel für die Antwort:

{
  "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz",
  "labels": {
     "status": "released",
     "build": "210315"
  },
  "createdAt": "1615578337832207",
  "updatedAt": "1615821232451727",
  "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed"
}

Apigee-Umgebung mit Archivbereitstellungen löschen

So löschen Sie eine Apigee-Umgebung mit Archivbereitstellungen:

  1. Erstellen Sie in einem temporären Ordner die folgende Verzeichnisstruktur, wobei $ENV mit dem Namen der Umgebung übereinstimmt, die Sie löschen möchten. Beispiel:
    mkdir -p /$TEMP/archive/src/main/apigee/environments/$ENV
  2. Fügen Sie die Datei deployments.json dem Verzeichnis hinzu. Beispiel:
    touch /$TEMP/archive/src/main/apigee/environments/$ENV/deployments.json
  3. Aktualisieren Sie deployments.json wie unten dargestellt und fügen ein leeres proxies-Array ein.
    {
    "proxies" : []
    }
  4. Ändern Sie das Verzeichnis (cd) in den Ordner $TEMP/archive.
    cd $TEMP/archive

    Wenn Sie

  5. Stellen Sie das Archiv in der Apigee-Umgebung bereit, die Sie löschen möchten.
    gcloud beta apigee archives deploy --environment=$ENV
    
  6. Löschen Sie die Apigee-Umgebung.

Überarbeitung einer Archivbereitstellung löschen

Löschen Sie eine Überarbeitung einer Archivbereitstellung, wie im folgenden Abschnitt beschrieben.

gcloud

Verwenden Sie den folgenden gcloud-Befehl, um eine Überarbeitung einer Archivbereitstellung in Apigee in Google Cloud zu löschen:

gcloud beta apigee archives delete $ID --environment=$ENV

Sie müssen Folgendes angeben:

  • Die ID der Überarbeitung, die Sie löschen möchten.
  • Apigee-Umgebung, in der Sie Archivbereitstellungen mit dem Flag --environment aufrufen möchten. Die Apigee-Umgebung muss für Archivbereitstellungen aktiviert sein.

Beispiel:

gcloud apigee archives delete fb4r8log2gm63r3gtu --environment=dev

Im Folgenden finden Sie ein Beispiel für die Antwort:

Archive deployment revision "fb4r8log2gm63r3gtu" deleted

Apigee API

Um eine Überarbeitung einer Archivbereitstellung in Apigee in Google Cloud zu löschen, senden Sie eine DELETE-Anfrage an die folgende API: https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID.

Sie müssen die ID der Überarbeitung der Archivbereitstellung übergeben, die Sie löschen möchten. Informationen zum Aufrufen der Liste der IDs der Überarbeitungen der Archivbereitstellungen für eine Umgebung finden Sie unter Alle Archivbereitstellungen in einer Umgebung auflisten.

Beispiel:

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID" \
  -X DELETE \
  -H "Authorization: Bearer $TOKEN" \

Dabei ist $TOKEN auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl-Optionen finden Sie unter curl verwenden. Eine Beschreibung der verwendeten Umgebungsvariablen findet sich unter Umgebungsvariablen für Apigee API-Anfragen festlegen.

Im Folgenden finden Sie ein Beispiel für die Antwort:

{}