App-Instanzen erstellen und aktualisieren

Nachdem Sie Apps erstellt und bereitgestellt haben, können Sie diese App-Instanzen über die Google Cloud Konsole oder die Befehlszeile erstellen und aktualisieren.

App-Instanz erstellen

REST

Senden Sie zum Erstellen einer App-Instanz eine POST-Anfrage mit der projects.locations.applications.createApplicationInstances Methode.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

HTTP-Methode und URL:

POST https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:createApplicationInstances

JSON-Text der Anfrage:

{
  "applicationInstances": [
    {
      "instance": {
        "inputResources": [
          {
            "consumerNode": "input-stream",
            "inputResource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID"
          }
        ]
      },
      "instanceId": "INSTANCE_ID"
    },
    {
      "instance": {
         [...]
    },
    [...]
  ]
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:createApplicationInstances"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:createApplicationInstances" | Select-Object -Expand Content

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.OperationMetadata",
    "createTime": "[...]",
    "Target": "projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID"
    "Verb": "update"
    "apiVersion": "v1"
  },
  "done": false
}

App-Instanz aktualisieren

Nachdem Sie eine App erstellt und eine App-Instanz-ID erhalten haben, können Sie die folgenden App-Instanz-Ressourcen ändern:

  • Eingabestream*: Sie können das Asset des Eingabestreams ändern.
  • Asset des Ausgabedaten-Warehouse: Sie können das Ausgabe-Asset aktualisieren, wenn Sie mit einem Warehouse verbunden sind und die Ausgabe in ein anderes Warehouse-Asset (corpus) schreiben möchten.
  • Ausgabestream*: Sie können den Ausgabestream überschreiben, wenn Sie ihn von einem automatisch generierten Stream in einen bestimmten Stream ändern möchten, den Sie erstellen.

    * Der Eingabestream und der Ausgabestream müssen sich für dieselbe App-Instanz im selben Cluster befinden.

REST

Senden Sie zum Aktualisieren einer App-Instanz eine POST-Anfrage mit der projects.locations.applications.updateApplicationInstances Methode.

Im folgenden Codebeispiel werden der Eingabestream (inputResources) und alle mit der App-Instanz verknüpften Ausgaberessourcen (outputResources) aktualisiert.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT: Ihre Google Cloud Projekt-ID oder Projektnummer.
  • LOCATION_ID: Die Region, in der Sie Agent Platform Vision verwenden. Beispiel: us-central1, europe-west4. Verfügbare Regionen ansehen.
  • APPLICATION_ID: Die ID Ihrer Zielanwendung.
  • INSTANCE_NAME: Der vollständige Ressourcenname der App-Instanz. Beispiel:
    • projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID/instances/INSTANCE_ID
  • inputResources: Die Eingaberessource (oder -ressourcen) für die aktuelle App Instanz. Dies ist ein Array von Objekten mit den folgenden Feldern:
    • consumerNode: Der Name des Knotens im Diagramm, der die Eingaberessource empfängt.
    • inputResource: Der vollständige Name der Eingaberessource.
  • outputResources: Alle Ausgaberessourcen, die mit einer App-Instanz verknüpft sind. Dies ist ein Array von Objekten mit den folgenden Feldern:
    • outputResource: Der vollständige Name der Ausgaberessource.
    • producerNode: Der Name des Knotens im Diagramm, der den Namen der Ausgaberessource erzeugt.

HTTP-Methode und URL:

POST https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:updateApplicationInstances

JSON-Text der Anfrage:

{
  "applicationInstances": [
    {
      "instance": {
        "name": "INSTANCE_NAME",
        "inputResources": [
          {
            "consumerNode": "input-stream",
            "inputResource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID"
          }
        ],
        "outputResources":[
          {
            "outputResource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID",
            "producerNode": "warehouse"
          },
          {
            "outputResource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID",
            "producerNode": "occupancy-count"
          }
        ]
      },
    }
  ],
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:updateApplicationInstances"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json, und führen Sie den folgenden Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:updateApplicationInstances" | Select-Object -Expand Content
 

Apps im großen Maßstab verwalten

Die Methoden zum Bereitstellen und Aufheben der Bereitstellung sind für Anwendungen mit weniger als 20 Instanzen gültig. Wenn Ihre App mehr als 20 Instanzen hat, müssen Sie Instanzen inkrementell mit der API erstellen und entfernen. Der empfohlene Workflow ist wie folgt:

  1. Erstellen Sie Ihre App.
  2. Fügen Sie 1 bis 20 Testinstanzen hinzu.
  3. Stellen Sie Ihre App bereit.
  4. Prüfen Sie, ob Ihre App wie erwartet funktioniert.
  5. Verwenden Sie die createApplicationInstances Methode, um der bereitgestellten App inkrementell weitere Eingaben hinzuzufügen.
  6. App ausführen lassen.
  7. Verwenden Sie die deleteApplicationInstances Methode, um Eingaben inkrementell aus bereitgestellten Apps zu entfernen.
  8. Heben Sie die Bereitstellung der App auf.