יצירה ועדכון של מחסן סרטונים לסטרימינג

מחסן Vision הוא רכיב שאפשר להוסיף לאפליקציה כדי לאחסן פלט של מודלים ונתונים של סטרימינג.

יצירת מחסן של סרטונים בסטרימינג

כדי לקשר מחסן נתונים לצמתים אחרים של רכיבים בתרשים האפליקציה, צריך קודם ליצור מחסן נתונים של סטרימינג וידאו.

המסוף

  1. פותחים את הכרטיסייה Warehouses (מחסני נתונים) במרכז הבקרה של Gemini Enterprise Agent Platform Vision.

    כניסה לכרטיסייה Warehouses

  2. לוחצים על יצירה.

  3. מוסיפים שם למחסן ובוחרים תקופת חיים (TTL) לנכסים שמאוחסנים במחסן. אפשר לשנות את הערכים האלה בהמשך.

    אחרי שיוצרים מחסן, אפשר להוסיף את המחסן לגרף של אפליקציה.

‏REST ושורת הפקודה

יוצר משאב corpus חדש בפרויקט הנתון, עם אפשרות לציין את corpus השם המוצג, התיאור וערך TTL.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-LOCATION_ID, כמו europe-west4-. מידע נוסף על נקודות קצה אזוריות
  • PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
  • LOCATION_ID: האזור שבו משתמשים ב-Agent Platform Vision. לדוגמה: us-central1, ‏ europe-west4. אזורים זמינים
  • DISPLAY_NAME: השם המוצג של מחסן הנתונים.
  • WAREHOUSE_DESCRIPTION: תיאור המחסן (corpus).
  • TIME_TO_LIVE: אורך החיים (TTL) של כל הנכסים בקורפוס, או אורך החיים של נכס ספציפי. לדוגמה, אם יש לכם מאגר נתונים עם נכסים שערך ה-TTL שלהם הוא 100 ימים, צריך לספק את הערך 8640000 (בשניות).

ה-method של ה-HTTP וכתובת ה-URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora

גוף בקשת JSON:

{
  "display_name": "DISPLAY_NAME",
  "description": "WAREHOUSE_DESCRIPTION",
  "type": "STREAM_VIDEO",
  "default_ttl": {
    "seconds": TIME_TO_LIVE
  }
}

כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:

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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora"

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://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora" | Select-Object -Expand Content

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/warehouseoperations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateCorpusMetadata"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.Corpus",
    "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID",
    "displayName": "DISPLAY_NAME",
    "description": "WAREHOUSE_DESCRIPTION",
    "type": "STREAM_VIDEO",
    "defaultTtl": "TIME_TO_LIVE"
  }
}

עדכון של מחסן סרטונים לסטרימינג

מעדכן מאגר קיים בפרויקט הנתון, עם אפשרות לעדכן את השם המוצג, התיאור, ברירת המחדל של ה-TTL או לעדכן את כל השדות הזמינים.

‏REST ושורת הפקודה

מעדכנים משאב corpus קיים בפרויקט הנתון. בדוגמה הזו מוסבר איך לעדכן את corpus השם המוצג, אבל אפשר גם לעדכן את התיאור, את ה-TTL או את כל השדות בבת אחת באמצעות אותו פורמט של כתובת URL וגוף בקשה מעודכן.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • REGIONALIZED_ENDPOINT: נקודת הקצה עשויה לכלול תחילית שתואמת ל-LOCATION_ID, כמו europe-west4-. מידע נוסף על נקודות קצה אזוריות
  • PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
  • LOCATION_ID: האזור שבו משתמשים ב-Agent Platform Vision. לדוגמה: us-central1, ‏ europe-west4. אזורים זמינים
  • CORPUS_ID: המזהה של מאגר הידע היעד.
  • ?updateMask=fieldToUpdate: אחד מהשדות הזמינים שאפשר להחיל עליהם updateMask. מציינים את הערך החדש המתאים של השדה בגוף הבקשה. הערך החדש הזה מחליף את הערך הקיים בשדה. השדות הזמינים:
    • השם המוצג: ?updateMask=display_name
    • תיאור: ?updateMask=description
    • אורך החיים (TTL) שמוגדר כברירת מחדל: ?updateMask=default_ttl
    • עדכון כל השדות: ?updateMask=*
  • UPDATED_FIELD_VALUE: ערך חדש לשדה שצוין. בדוגמה הזו, שם התצוגה החדש של משאב מחסן הנתונים שסופק על ידי המשתמש.

ה-method של ה-HTTP וכתובת ה-URL:

PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID?update_mask=display_name

גוף בקשת JSON:

{
  "displayName": "UPDATED_FIELD_VALUE",
  "description": "Original description",
  "defaultTtl": {
    "seconds": "7800"
  }
}

כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:

curl

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID?update_mask=display_name"

PowerShell

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

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

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID?update_mask=display_name" | Select-Object -Expand Content

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/corpora/CORPORA_ID",
  "displayName": "UPDATED_FIELD_VALUE",
  "description": "Original description",
  "defaultTtl": "7800s"
}