אתם יכולים להגדיר קישוריות פרטית להרצת צינור עיבוד הנתונים באמצעות ממשק Private Service Connect. Google ממליצה להשתמש ב-Private Service Connect של Gemini Enterprise Agent Platform לקישוריות פרטית, כי הוא מפחית את הסיכויים למיצוי כתובות IP ותומך ב-transitive peering.
Gemini Enterprise Agent Platform Pipelines משתמש בתשתית של ממשק Private Service Connect כדי להעביר את פרטי החיבור למשימת האימון המותאמת אישית. מידע נוסף על המגבלות והתמחור של שימוש בממשקי Private Service Connect עם אימון מותאם אישית זמין במאמר שימוש בממשק Private Service Connect לאימון פלטפורמת Gemini Enterprise Agent.
מגבלות
ממשקי Private Service Connect לא תומכים בכתובות IP חיצוניות.
תמחור
המחירים של ממשקי Private Service Connect מפורטים בדף כל המחירים של שירותי הרשת.
לפני שמתחילים
כדי להשתמש בממשק Private Service Connect עם צינורות של Agent Platform, קודם צריך להגדיר ממשק Private Service Connect למשאבי Gemini Enterprise Agent Platform.
יצירת הפעלה של צינור עיבוד נתונים עם ממשקי Private Service Connect
כדי ליצור הפעלה של צינור עיבוד נתונים, קודם צריך ליצור מפרט של צינור עיבוד נתונים. מפרט של צינור עיבוד נתונים הוא אובייקט בזיכרון שנוצר על ידי המרה של הגדרה של צינור עיבוד נתונים שעבר קומפילציה.
יצירת מפרט של פייפליין
כדי ליצור מפרט של צינור עיבוד נתונים בזיכרון שאפשר להשתמש בו כדי ליצור את ההרצה של צינור עיבוד הנתונים, פועלים לפי ההוראות הבאות:
מגדירים צינור עיבוד נתונים ומקמפלים אותו לקובץ YAML. מידע נוסף על הגדרה והידור של צינור זמין במאמר יצירת צינור.
אפשר להשתמש בדוגמת הקוד הבאה כדי להמיר את קובץ ה-YAML של צינור עיבוד הנתונים שעבר קומפילציה למפרט של צינור עיבוד נתונים בזיכרון.
import yaml with open("COMPILED_PIPELINE_PATH", "r") as stream: try: pipeline_spec = yaml.safe_load(stream) print(pipeline_spec) except yaml.YAMLError as exc: print(exc)מחליפים את COMPILED_PIPELINE_PATH בנתיב המקומי לקובץ ה-YAML של צינור העיבוד (pipeline) שקומפל.
יצירת ההרצה של צינור עיבוד הנתונים
אפשר להשתמש בדוגמאות הבאות כדי ליצור הפעלה של צינור באמצעות ממשקי Private Service Connect:
Python
כדי ליצור הפעלה של צינור עיבוד נתונים עם ממשקי Private Service Connect באמצעות Agent Platform SDK ל-Python, צריך להגדיר את ההפעלה באמצעות ההגדרה aiplatform_v1/services/pipeline_service.
# Import aiplatform and the appropriate API version v1
from google.cloud import aiplatform, aiplatform_v1
# Initialize the Vertex SDK using PROJECT_ID and LOCATION
aiplatform.init(project="PROJECT_ID", location="LOCATION")
# Create the API endpoint
client_options = {
"api_endpoint": f"LOCATION-aiplatform.googleapis.com"
}
# Initialize the PipelineServiceClient
client = aiplatform_v1.PipelineServiceClient(client_options=client_options)
PSCI_INTERFACE_CONFIG = {
"network_attachment": "NETWORK_ATTACHMENT_NAME",
"dns_peering_configs": [
{
"domain": "DNS_DOMAIN",
"target_project": "TARGET_PROJECT",
"target_network": "TARGET_NETWORK"
}
]
}
# Construct the request
request = aiplatform_v1.CreatePipelineJobRequest(
parent=f"projects/PROJECT_ID/locations/LOCATION",
pipeline_job=aiplatform_v1.PipelineJob(
display_name="DISPLAY_NAME",
pipeline_spec=PIPELINE_SPEC,
runtime_config=aiplatform_v1.PipelineJob.RuntimeConfig(
gcs_output_directory="OUTPUT_DIRECTORY",
),
psc_interface_config=aiplatform_v1.PscInterfaceConfig(
PSCI_INTERFACE_CONFIG
),
)
# Make the API call
response = client.create_pipeline_job(request=request)
# Print the response
print(response)
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את ההרצה של צינור העיבוד.
- LOCATION: האזור שבו רוצים ליצור את הרצת צינור העיבוד.
- DISPLAY_NAME: השם של משימת הצינור. האורך המקסימלי של שם לתצוגה הוא 128 תווים בקידוד UTF-8.
- PIPELINE_SPEC: מפרט הפייפליין שיצרתם במאמר יצירת מפרט פייפליין.
- OUTPUT_DIRECTORY: ה-URI של קטגוריית Cloud Storage לאחסון פריטי פלט. הנתיב הזה הוא ספריית הפלט הבסיסית של צינור העיבוד, והוא משמש ליצירת הנתיבים של פריטי הפלט.
- NETWORK_ATTACHMENT_NAME: השם של רכיב ה-Compute Engine network attachment שמצרפים למשאב
PipelineJob. כדי לקבל את קובץ הרשת המצורף, צריך לבצע את השלבים שבקטע לפני שמתחילים. מידע נוסף על צירוף רשת זמין במאמר הגדרה של רשת VPC, רשת משנה וצירוף רשת. - DNS_DOMAIN: שם ה-DNS של תחום ה-DNS בענן הפרטי שיצרתם כשהגדרתם שילוב של שרת DNS פרטי.
- TARGET_PROJECT: הפרויקט שמארח את רשת ה-VPC.
- TARGET_NETWORK: השם של רשת ה-VPC.
REST
כדי ליצור הפעלה של צינור עיבוד נתונים, שולחים בקשת POST באמצעות ה-method pipelineJobs.create.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את ההרצה של צינור העיבוד.
- LOCATION: האזור שבו רוצים ליצור את הרצת צינור העיבוד.
- DISPLAY_NAME: השם של משימת הצינור. האורך המקסימלי של שם לתצוגה הוא 128 תווים בקידוד UTF-8.
- PIPELINE_SPEC: מפרט הפייפליין שיצרתם במאמר יצירת מפרט פייפליין.
- OUTPUT_DIRECTORY: ה-URI של קטגוריית Cloud Storage לאחסון פריטי פלט. הנתיב הזה הוא ספריית הפלט הבסיסית של צינור העיבוד, והוא משמש ליצירת הנתיבים של פריטי הפלט.
- NETWORK_ATTACHMENT_NAME: השם של רכיב ה-Compute Engine network attachment שמצרפים למשאב
PipelineJob. כדי לקבל את קובץ הרשת המצורף, צריך לבצע את השלבים שבקטע לפני שמתחילים. מידע נוסף על צירוף רשת זמין במאמר הגדרה של רשת VPC, רשת משנה וצירוף רשת. - DNS_DOMAIN: שם ה-DNS של תחום ה-DNS בענן הפרטי שיצרתם כשהגדרתם שילוב של שרת DNS פרטי.
- TARGET_PROJECT: הפרויקט שמארח את רשת ה-VPC.
- TARGET_NETWORK: השם של רשת ה-VPC.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs
גוף בקשת JSON:
{
"display_name": "DISPLAY_NAME",
"pipeline_spec": "PIPELINE_SPEC",
"runtime_config": {
"gcs_output_directory": "OUTPUT_DIRECTORY",
},
"psc_interface_config": {
"network_attachment": "NETWORK_ATTACHMENT_NAME",
"dns_peering_configs": [
{
"domain": "DNS_DOMAIN",
"target_project": "TARGET_PROJECT",
"target_network": "TARGET_NETWORK"
}
]
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs"
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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs" | Select-Object -Expand Content
הפלט שיוצג אמור להיות דומה לזה שמופיע כאן. PIPELINE_JOB_ID מייצג את המזהה של הפעלת צינור עיבוד הנתונים, ו-SERVICE_ACCOUNT_NAME מייצג את חשבון השירות שמשמש להפעלת צינור עיבוד הנתונים.
{
"name": "projects/PROJECT_ID/locations/LOCATION/pipelineJobs/PIPELINE_JOB_ID",
"displayName": "DISPLAY_NAME",
"createTime": "20xx-01-01T00:00:00.000000Z",
"updateTime": "20xx-01-01T00:00:00.000000Z",
"pipelineSpec": PIPELINE_SPEC,
"state": "PIPELINE_STATE_PENDING",
"labels": {
"vertex-ai-pipelines-run-billing-id": "VERTEX_AI_PIPELINES_RUN_BILLING_ID"
},
"runtimeConfig": {
"gcsOutputDirectory": "OUTPUT_DIRECTORY"
},
"serviceAccount": "SERVICE_ACCOUNT_NAME"
"pscInterfaceConfig": {
"networkAttachment": "NETWORK_ATTACHMENT_NAME",
"dnsPeeringConfigs": [
{
"domain": "DNS_DOMAIN",
"targetProject": "TARGET_PROJECT",
"targetNetwork": "TARGET_NETWORK"
}
]
}
}