Después de compilar e implementar aplicaciones, puedes crear y actualizar estas instancias de aplicaciones mediante la consola Google Cloud o la línea de comandos.
Crear una instancia de aplicación
REST
Para crear una instancia de aplicación, envía una solicitud POST mediante el método projects.locations.applications.createApplicationInstances.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_NUMBER: tu Google Cloud número de proyecto.
- LOCATION_ID: la región en la que usas Vertex AI Vision. Por ejemplo:
us-central1,europe-west4. Consulta las regiones disponibles. - APPLICATION_ID: ID de la aplicación de destino.
Método HTTP y URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:createApplicationInstances
Cuerpo JSON de la solicitud:
{
"applicationInstances": [
{
"instance": {
"inputResources": [
{
"consumerNode": "input-stream",
"inputResource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID"
}
]
},
"instanceId": "INSTANCE_ID"
},
{
"instance": {
[...]
},
[...]
]
}
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$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
Deberías recibir una respuesta JSON similar a la siguiente:
{
"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
}
Actualizar una instancia de aplicación
Después de crear una aplicación y obtener un ID de instancia de aplicación, puede modificar los siguientes recursos de instancia de aplicación:
- Secuencia de entrada*: puedes cambiar el recurso de la secuencia de entrada.
- Recurso de almacén de datos de salida: puede actualizar el recurso de salida si se ha conectado a un almacén de datos y quiere escribir la salida en otro recurso de almacén de datos (
corpus). Secuencia de salida*: puedes sobrescribir la secuencia de salida si quieres cambiarla de una secuencia generada automáticamente a una específica que crees.
* El flujo de entrada y el flujo de salida deben estar en el mismo clúster para la misma instancia de aplicación.
REST
Para actualizar una instancia de aplicación, envía una solicitud POST mediante el método projects.locations.applications.updateApplicationInstances.
En el siguiente ejemplo de código se actualiza el flujo de entrada (inputResources) y todos los recursos de salida asociados a la instancia de la aplicación (outputResources).
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT: tu Google Cloud ID de proyecto o número de proyecto.
- LOCATION_ID: la región en la que usas Vertex AI Vision. Por ejemplo:
us-central1,europe-west4. Consulta las regiones disponibles. - APPLICATION_ID: ID de la aplicación de destino.
- INSTANCE_NAME: nombre completo del recurso de la instancia de la aplicación. Por ejemplo:
projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID/instances/INSTANCE_ID
inputResources: el recurso o los recursos de entrada de la instancia actual de la aplicación. Es una matriz de objetos que contiene los siguientes campos:consumerNode: El nombre del nodo del gráfico que recibe el recurso de entrada.inputResource: nombre completo del recurso de entrada.
outputResources: todos los recursos de salida asociados a una instancia de aplicación. Es una matriz de objetos que contiene los siguientes campos:outputResource: el nombre completo del recurso de salida.producerNode: Nombre del nodo del gráfico que genera el nombre del recurso de salida. .
Método HTTP y URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:updateApplicationInstances
Cuerpo JSON de la solicitud:
{
"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"
}
]
},
}
],
}
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
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
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$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
Gestionar aplicaciones a gran escala
Los métodos deploy y undeploy son válidos para aplicaciones con menos de 20 instancias. Si tu aplicación tiene más de 20 instancias, debes crear y eliminar instancias de forma incremental con la API. El flujo de trabajo recomendado es el siguiente:
- Crea tu aplicación.
- Añade entre 1 y 20 instancias experimentales.
- Despliega tu aplicación.
- Verifica que tu aplicación funciona correctamente.
- Usa el método
createApplicationInstancespara añadir más entradas de forma incremental a la aplicación implementada. - Permite que la aplicación se ejecute.
- Usa el método
deleteApplicationInstancespara quitar entradas de forma incremental de las aplicaciones implementadas. - Retira la aplicación.