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 Methode projects.locations.applications.createApplicationInstances.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_NUMBER: Ihre Google Cloud Projektnummer.
  • LOCATION_ID: Die Region, in der Sie Vertex AI Vision verwenden. Beispiele: us-central1, europe-west4. Verfügbare Regionen
  • APPLICATION_ID: Die ID Ihrer Zielanwendung.

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 abgerufen haben, können Sie die folgenden App-Instanz-Ressourcen ändern:

  • Eingabestream*: Sie können das Asset für den Eingabestream ändern.
  • Ausgabe-Warehouse-Asset: 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 Eingabe- und der Ausgabestream müssen sich für dieselbe Anwendungsinstanz im selben Cluster befinden.

REST

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

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

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT: Ihre Google Cloud-Projekt-ID oder Projektnummer.
  • LOCATION_ID: Die Region, in der Sie Vertex AI Vision verwenden. Beispiele: us-central1, europe-west4. Verfügbare Regionen
  • 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 (n) für die aktuelle Anwendungsinstanz. Dies ist ein Array von Objekten mit den folgenden Feldern:
    • consumerNode: Der Name des Diagrammknotens, der die Eingaberessource empfängt.
    • inputResource: Der vollständige Name der Eingaberessource.
  • outputResources: Alle Ausgaberessourcen, die einer Anwendungsinstanz zugeordnet sind. Dies ist ein Array von Objekten mit den folgenden Feldern:
    • outputResource: Der vollständige Name der Ausgaberessource.
    • producerNode: Der Name des Diagrammknotens, der den Namen der Ausgaberessource generiert.

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 in großem Umfang verwalten

Die Methoden „deploy“ und „undeploy“ 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 sieht so aus:

  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. Mit der Methode createApplicationInstances können Sie der bereitgestellten Anwendung nach und nach weitere Eingaben hinzufügen.
  6. App darf ausgeführt werden.
  7. Mit der Methode deleteApplicationInstances können Sie Eingaben schrittweise aus bereitgestellten Anwendungen entfernen.
  8. Heben Sie die Bereitstellung der Anwendung auf.