אחרי שיוצרים ופורסים אפליקציות, אפשר ליצור ולעדכן את מופעי האפליקציות האלה באמצעות מסוף Google Cloud או שורת פקודה.
יצירת מופע של אפליקציה
REST
כדי ליצור מופע של אפליקציה, שולחים בקשת POST באמצעות השיטה projects.locations.applications.createApplicationInstances.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - APPLICATION_ID: המזהה של אפליקציית היעד.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:createApplicationInstances
גוף בקשת JSON:
{
"applicationInstances": [
{
"instance": {
"inputResources": [
{
"consumerNode": "input-stream",
"inputResource": "projects/PROJECT_NUMBER/locations/LOCATION_ID/clusters/application-cluster-0/streams/STREAM_ID"
}
]
},
"instanceId": "INSTANCE_ID"
},
{
"instance": {
[...]
},
[...]
]
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"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
}
עדכון מופע של אפליקציה
אחרי שיוצרים אפליקציה ומקבלים מזהה מופע אפליקציה, אפשר לשנות את המשאבים הבאים של מופע האפליקציה:
- זרם קלט*: אפשר לשנות את נכס זרם הקלט.
- נכס של מחסן נתונים של פלט: אתם יכולים לעדכן את נכס הפלט אם התחברתם למחסן נתונים ואתם רוצים לכתוב את הפלט לנכס אחר של מחסן נתונים (
corpus). זרם פלט*: אפשר להחליף את זרם הפלט אם רוצים לעדכן אותו מזרם שנוצר אוטומטית לזרם ספציפי שיצרתם.
* מקור הנתונים ומקור הפלט חייבים להיות באותו אשכול עבור אותו מופע של האפליקציה.
REST
כדי לעדכן מופע של אפליקציה, שולחים בקשת POST באמצעות השיטה projects.locations.applications.updateApplicationInstances.
בדוגמת הקוד הבאה מתבצע עדכון של זרם הקלט (inputResources) ושל כל משאבי הפלט שמשויכים למופע האפליקציה (outputResources).
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT: מזהה הפרויקט או מספר הפרויקט ב- Google Cloud.
- LOCATION_ID: האזור שבו אתם משתמשים ב-Vertex AI Vision. לדוגמה:
us-central1, europe-west4. אזורים זמינים - APPLICATION_ID: המזהה של אפליקציית היעד.
- INSTANCE_NAME: שם המשאב המלא של מופע האפליקציה. לדוגמה:
projects/PROJECT/locations/LOCATION_ID/applications/APPLICATION_ID/instances/INSTANCE_ID
-
inputResources: משאב הקלט (או המשאבים) של מופע האפליקציה הנוכחי. זהו מערך של אובייקטים שמכילים את השדות הבאים:-
consumerNode: השם של צומת הגרף שמקבל את משאב הקלט. inputResource: שם המשאב המלא של הקלט.
-
-
outputResources: כל משאבי הפלט שמשויכים למופע אחד של אפליקציה. זהו מערך של אובייקטים שמכילים את השדות הבאים:-
outputResource: שם המשאב המלא של הפלט. -
producerNode: השם של צומת הגרף שמייצר את שם משאב הפלט.
-
ה-method של ה-HTTP וכתובת ה-URL:
POST https://visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/applications/APPLICATION_ID:updateApplicationInstances
גוף בקשת JSON:
{
"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"
}
]
},
}
],
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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
ניהול אפליקציות בקנה מידה גדול
השיטות deploy ו-undeploy תקפות לאפליקציות עם פחות מ-20 מופעים. אם באפליקציה יש יותר מ-20 מופעים, צריך ליצור ולהסיר מופעים באופן מצטבר באמצעות ה-API. תהליך העבודה המומלץ הוא כדלקמן:
- יוצרים את האפליקציה.
- מוסיפים 1 עד 20 מופעים ניסיוניים.
- פורסים את האפליקציה.
- מוודאים שהאפליקציה פועלת כמצופה.
- כדי להוסיף עוד קלטים לאפליקציה שנפרסה, אפשר להשתמש בשיטה
createApplicationInstances. - מאשרים את הפעלת האפליקציה.
- משתמשים בשיטה
deleteApplicationInstancesכדי להסיר בהדרגה קלטים מאפליקציות שפרסתם. - מבטלים את הפריסה של האפליקציה.