Anda dapat mengonfigurasi konektivitas pribadi untuk menjalankan pipeline menggunakan antarmuka Private Service Connect (PSC-I). Sebaiknya gunakan Private Service Connect Vertex AI untuk konektivitas pribadi, karena mengurangi kemungkinan kehabisan IP dan mendukung peering transitif.
Vertex AI Pipelines menggunakan infrastruktur PSC-I yang mendasarinya untuk pelatihan guna meneruskan detail koneksi ke tugas pelatihan kustom. Untuk mempelajari lebih lanjut batasan dan harga penggunaan PSC-I dengan pelatihan kustom, lihat Menggunakan antarmuka Private Service Connect untuk Pelatihan Vertex AI.
Batasan
Antarmuka Private Service Connect tidak mendukung alamat IP eksternal.
Harga
Harga untuk antarmuka Private Service Connect dijelaskan di halaman Semua harga jaringan.
Sebelum memulai
Untuk menggunakan PSC-I dengan Vertex AI Pipelines, Anda harus terlebih dahulu Menyiapkan antarmuka Private Service Connect untuk resource Vertex AI.
Membuat proses pipeline dengan PSC-I
Untuk membuat tugas pipeline, Anda harus membuat spesifikasi pipeline terlebih dahulu. Spesifikasi pipeline adalah objek dalam memori yang Anda buat dengan mengonversi definisi pipeline yang dikompilasi.
Membuat spesifikasi pipeline
Ikuti petunjuk berikut untuk membuat spesifikasi pipeline dalam memori yang dapat Anda gunakan untuk membuat proses pipeline:
Tentukan pipeline dan kompilasi menjadi file YAML. Untuk mengetahui informasi selengkapnya tentang cara menentukan dan mengompilasi pipeline, lihat Mem-build pipeline.
Gunakan contoh kode berikut untuk mengonversi file YAML pipeline yang dikompilasi menjadi spesifikasi pipeline dalam memori.
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)
Ganti COMPILED_PIPELINE_PATH dengan jalur lokal ke file YAML pipeline yang dikompilasi.
Membuat proses pipeline
Gunakan contoh berikut untuk membuat operasi pipeline menggunakan PSC-I:
Python
Untuk membuat proses pipeline dengan PSC-I menggunakan Vertex AI SDK untuk Python,
konfigurasi proses menggunakan
definisi aiplatform_v1beta1/services/pipeline_service
.
# Import aiplatform and the appropriate API version v1beta1
from google.cloud import aiplatform, aiplatform_v1beta1
# 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_v1beta1.PipelineServiceClient(client_options=client_options)
# Construct the request
request = aiplatform_v1beta1.CreatePipelineJobRequest(
parent=f"projects/PROJECT_ID/locations/LOCATION",
pipeline_job=aiplatform_v1beta1.PipelineJob(
display_name="DISPLAY_NAME",
pipeline_spec=PIPELINE_SPEC,
runtime_config=aiplatform_v1beta1.PipelineJob.RuntimeConfig(
gcs_output_directory="OUTPUT_DIRECTORY",
),
psc_interface_config=aiplatform_v1beta1.PscInterfaceConfig(
network_attachment="NETWORK_ATTACHMENT_NAME"
),
)
# Make the API call
response = client.create_pipeline_job(request=request)
# Print the response
print(response)
Ganti kode berikut:
- PROJECT_ID: Project ID project tempat Anda ingin membuat pipeline dijalankan.
- LOCATION: Region tempat Anda ingin membuat pipeline berjalan.
- DISPLAY_NAME: Nama tugas pipeline. Panjang maksimum untuk nama tampilan adalah 128 karakter UTF-8.
- PIPELINE_SPEC: Spesifikasi pipeline yang Anda buat di Membuat spesifikasi pipeline.
- OUTPUT_DIRECTORY: URI bucket Cloud Storage untuk menyimpan artefak output. Jalur ini adalah direktori output root untuk pipeline dan digunakan untuk membuat jalur artefak output.
- NETWORK_ATTACHMENT_NAME: Nama lampiran jaringan Compute Engine
yang akan dilampirkan ke resource
PipelineJob
. Untuk mendapatkan lampiran jaringan, Anda harus menyelesaikan langkah-langkah di bagian Sebelum memulai. Untuk informasi selengkapnya tentang lampiran jaringan, lihat Menyiapkan jaringan VPC, subnet, dan lampiran jaringan.
REST
Untuk membuat proses pipeline, kirim permintaan POST
menggunakan metode pipelineJobs.create.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_ID: Project ID project tempat Anda ingin membuat pipeline dijalankan.
- LOCATION: Region tempat Anda ingin membuat pipeline berjalan.
- DISPLAY_NAME: Nama tugas pipeline. Panjang maksimum untuk nama tampilan adalah 128 karakter UTF-8.
- PIPELINE_SPEC: Spesifikasi pipeline yang Anda buat di Membuat spesifikasi pipeline.
- OUTPUT_DIRECTORY: URI bucket Cloud Storage untuk menyimpan artefak output. Jalur ini adalah direktori output root untuk pipeline dan digunakan untuk membuat jalur artefak output.
- NETWORK_ATTACHMENT_NAME: Nama lampiran jaringan Compute Engine
yang akan dilampirkan ke resource
PipelineJob
. Untuk mendapatkan lampiran jaringan, Anda harus menyelesaikan langkah-langkah di bagian Sebelum memulai. Untuk informasi selengkapnya tentang lampiran jaringan, lihat Menyiapkan jaringan VPC, subnet, dan lampiran jaringan.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs
Isi JSON permintaan:
{ "display_name": "DISPLAY_NAME", "pipeline_spec": "PIPELINE_SPEC", "runtime_config": { "gcs_output_directory": "OUTPUT_DIRECTORY", }, "psc_interface_config": { "network_attachment": "NETWORK_ATTACHMENT_NAME" } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/pipelineJobs" | Select-Object -Expand Content
Anda akan melihat output yang mirip dengan berikut ini. PIPELINE_JOB_ID mewakili ID operasi pipeline dan SERVICE_ACCOUNT_NAME mewakili akun layanan yang digunakan untuk menjalankan pipeline.
{ "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" } }