1. ภาพรวม
ในห้องทดลองนี้ คุณจะได้เรียนรู้วิธีใช้เหตุการณ์ของที่เก็บข้อมูล Cloud Storage และ Eventarc เพื่อทริกเกอร์การประมวลผลเหตุการณ์ คุณจะใช้ Cloud Functions (รุ่นที่ 2) เพื่อวิเคราะห์ข้อมูลและประมวลผลรูปภาพ ฟังก์ชันนี้จะใช้ Vision API ของ Google และบันทึกภาพที่ได้กลับเข้าไปในที่เก็บข้อมูล Cloud Storage
สิ่งที่คุณจะได้เรียนรู้
วิธีสร้างไปป์ไลน์การประมวลผลรูปภาพ
- กำหนดค่าที่เก็บข้อมูลของพื้นที่เก็บข้อมูล
- สร้าง Cloud Function เพื่ออ่านและเขียนออบเจ็กต์ใน Cloud Storage
- ผสานรวม Vision API เพื่อตรวจจับรูปภาพอาหาร
- ทำให้ Cloud Function ใช้งานได้
- ทำให้ทริกเกอร์ Eventarc ใช้งานได้
- ทดสอบและตรวจสอบโซลูชันแบบครบวงจร
ข้อกำหนดเบื้องต้น
- ห้องทดลองนี้จะถือว่ามีความคุ้นเคยกับ Cloud Console และสภาพแวดล้อมของ Shell
- ประสบการณ์การใช้งาน Cloud Storage, Cloud Functions หรือ Vision API แบบเดิมมีประโยชน์แต่ไม่บังคับ
2. การตั้งค่าและข้อกำหนด
ตั้งค่าโปรเจ็กต์ที่อยู่ในระบบคลาวด์
- ลงชื่อเข้าใช้ Google Cloud Console และสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี
- ชื่อโครงการคือชื่อที่แสดงของผู้เข้าร่วมโปรเจ็กต์นี้ เป็นสตริงอักขระที่ Google APIs ไม่ได้ใช้ โดยคุณจะอัปเดตได้ทุกเมื่อ
- รหัสโปรเจ็กต์จะไม่ซ้ำกันในทุกโปรเจ็กต์ของ Google Cloud และจะเปลี่ยนแปลงไม่ได้ (เปลี่ยนแปลงไม่ได้หลังจากตั้งค่าแล้ว) Cloud Console จะสร้างสตริงที่ไม่ซ้ำกันโดยอัตโนมัติ ปกติแล้วคุณไม่สนว่าอะไรเป็นอะไร ใน Codelab ส่วนใหญ่ คุณจะต้องอ้างอิงรหัสโปรเจ็กต์ (โดยปกติจะระบุเป็น
PROJECT_ID
) หากคุณไม่ชอบรหัสที่สร้างขึ้น คุณสามารถสร้างรหัสแบบสุ่มอื่นได้ หรือคุณจะลองดำเนินการเองแล้วดูว่าพร้อมให้บริการหรือไม่ และไม่สามารถเปลี่ยนแปลงได้หลังจากขั้นตอนนี้และจะยังคงอยู่ตลอดระยะเวลาของโปรเจ็กต์ - สำหรับข้อมูลของคุณ ค่าที่ 3 คือหมายเลขโปรเจ็กต์ที่ API บางตัวใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าทั้ง 3 ค่าได้ในเอกสารประกอบ
- ถัดไป คุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของระบบคลาวด์ การใช้งาน Codelab นี้น่าจะไม่มีค่าใช้จ่ายใดๆ หากมี หากต้องการปิดทรัพยากรเพื่อไม่ให้มีการเรียกเก็บเงินนอกเหนือจากบทแนะนำนี้ คุณสามารถลบทรัพยากรที่คุณสร้างหรือลบทั้งโปรเจ็กต์ได้ ผู้ใช้ใหม่ของ Google Cloud จะมีสิทธิ์เข้าร่วมโปรแกรมทดลองใช้ฟรี$300 USD
เปิดใช้งาน Cloud Shell
เปิดใช้งาน Cloud Shell โดยคลิกไอคอนทางด้านขวาของแถบค้นหา
การตั้งค่าสภาพแวดล้อม
- สร้างโปรเจ็กต์และตัวแปรสภาพแวดล้อมที่เกี่ยวข้องกับทรัพยากรโดยการเรียกใช้คำสั่งด้านล่างในเทอร์มินัล Cloud Shell
export PROJECT_ID=$(gcloud config get-value project)
export PROJECT_NAME=$(gcloud config get-value project)
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
export REGION=us-east1
export UPLOAD_BUCKET=gs://menu-item-uploads-$PROJECT_ID
export BUCKET_THUMBNAILS=gs://menu-item-thumbnails-$PROJECT_ID
export MENU_SERVICE_NAME=menu-service
export USER_EMAIL=$(gcloud config list account --format "value(core.account)")
- เปิดใช้ API ที่จำเป็นสำหรับห้องทดลอง
gcloud services enable \
vision.googleapis.com \
cloudfunctions.googleapis.com \
pubsub.googleapis.com \
cloudbuild.googleapis.com \
logging.googleapis.com \
eventarc.googleapis.com \
artifactregistry.googleapis.com \
run.googleapis.com \
--quiet
- เปิดใช้ API ที่จำเป็นสำหรับห้องทดลอง (ขั้นตอนเฉพาะสำหรับ Qwiklabs)
gcloud services disable cloudfunctions.googleapis.com
gcloud services enable cloudfunctions.googleapis.com
- โคลนที่เก็บ
git clone https://github.com/GoogleCloudPlatform/cymbal-eats.git && cd cymbal-eats/cloud-functions
3. กำหนดค่าที่เก็บข้อมูล Cloud Storage
สร้างที่เก็บข้อมูลของพื้นที่เก็บข้อมูล
สร้างการอัปโหลดและภาพปกของที่เก็บข้อมูล Cloud Storage สำหรับไปป์ไลน์การประมวลผลรูปภาพ
ใช้คำสั่ง gsutil mb และชื่อที่ไม่ซ้ำกันเพื่อสร้างที่เก็บข้อมูล 2 รายการ ได้แก่
- อัปโหลดที่เก็บข้อมูลที่จะอัปโหลดรูปภาพก่อน
- ที่เก็บข้อมูลภาพขนาดย่อสำหรับจัดเก็บภาพขนาดย่อที่สร้างขึ้น
สร้างที่เก็บข้อมูลเพื่ออัปโหลดรูปภาพใหม่
gsutil mb -p $PROJECT_ID -l $REGION $UPLOAD_BUCKET
ตัวอย่างเอาต์พุต:
Creating gs://menu-item-uploads-cymbal-eats-8399-3119/...
สร้างที่เก็บข้อมูลเพื่อจัดเก็บภาพขนาดย่อที่สร้างขึ้น
gsutil mb -p $PROJECT_ID -l $REGION $BUCKET_THUMBNAILS
ตัวอย่างเอาต์พุต:
Creating gs://menu-item-thumbnails-cymbal-eats-8399-3119/...
อัปเดตสิทธิ์ของที่เก็บข้อมูล
อัปเดตสิทธิ์ของที่เก็บข้อมูลของพื้นที่เก็บข้อมูลเพื่ออนุญาตสิทธิ์การอ่านสำหรับผู้ใช้
ใช้คำสั่ง gsutil iam ch เพื่อให้สิทธิ์ในการอ่านและเขียนออบเจ็กต์ในที่เก็บข้อมูลของคุณ:
gsutil iam ch allUsers:objectViewer $UPLOAD_BUCKET
gsutil iam ch allUsers:objectViewer $BUCKET_THUMBNAILS
ตัวอย่างเอาต์พุต
Updated IAM policy for project [cymbal-eats-8399-3119]. [...]
4. กำหนดค่าบัญชีบริการ
สร้างบัญชีบริการที่กำหนดเองสำหรับ Cloud Function เพื่อประมวลผลภาพขนาดย่อ โดยทำดังนี้
export CF_SERVICE_ACCOUNT=thumbnail-service-sa
gcloud iam service-accounts create ${CF_SERVICE_ACCOUNT}
มอบบทบาท artifactregistry.reader
เพื่ออนุญาตการดำเนินการอ่านจาก Artifact Registry:
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member "serviceAccount:${CF_SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com" \
--role "roles/artifactregistry.reader"
มอบบทบาท storage.objectCreator
เพื่ออนุญาตให้จัดเก็บรูปภาพที่สร้างขึ้นในที่เก็บข้อมูลภาพขนาดย่อ:
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member "serviceAccount:${CF_SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com" \
--role "roles/storage.objectCreator"
มอบบทบาท run.invoker
เพื่ออนุญาตการเรียกใช้บริการ Cloud Run:
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member "serviceAccount:${CF_SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com" \
--role "roles/run.invoker"
มอบบทบาท eventarc.eventReceiver
เพื่ออนุญาตให้รับเหตุการณ์จากผู้ให้บริการ:
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member "serviceAccount:${CF_SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com" \
--role "roles/eventarc.eventReceiver"
มอบบทบาท pubsub.publisher
ให้กับบัญชีบริการ Cloud Storage การดำเนินการนี้จะช่วยให้บัญชีบริการเผยแพร่เหตุการณ์เมื่อมีการอัปโหลดรูปภาพลงในที่เก็บข้อมูลได้
GCS_SERVICE_ACCOUNT=$(gsutil kms serviceaccount -p $PROJECT_NUMBER)
gcloud projects add-iam-policy-binding $PROJECT_NUMBER \
--member "serviceAccount:$GCS_SERVICE_ACCOUNT" \
--role "roles/pubsub.publisher"
5. ภาพรวมของฟังก์ชันการประมวลผลรูปภาพ
สร้างฟังก์ชันเพื่อดาวน์โหลดรูปภาพจาก Cloud Storage, ปรับขนาดรูปภาพ และอัปโหลดรูปภาพกลับไปยัง Cloud Storage ฟังก์ชันนี้จะเรียกใช้ Vision API เพื่อกำหนดป้ายกำกับคำอธิบายให้กับรูปภาพ ฟังก์ชันนี้จะตรวจสอบป้ายกำกับคำอธิบาย หากป้ายกำกับระบุรูปภาพเป็น "อาหาร" ระบบจะส่งเหตุการณ์ไปยังบริการเมนูเพื่ออัปเดตรูปภาพและภาพขนาดย่อของรายการเมนู
การเรียกฟังก์ชัน
ฟังก์ชัน Cloud Storage จะอิงตามการแจ้งเตือน Pub/Sub จาก Cloud Storage และรองรับประเภทเหตุการณ์ที่คล้ายกัน ดังนี้
ในห้องทดลองนี้ คุณจะได้ทำให้ใช้งานได้และทริกเกอร์ฟังก์ชันเมื่อมีการสรุปออบเจ็กต์ใน Cloud Storage
มีการทำให้วัตถุสิ้นสุด
ออบเจ็กต์ทำให้เหตุการณ์ทริกเกอร์ขั้นสุดท้ายเมื่อ "write" ของออบเจ็กต์ Cloud Storage เสร็จเรียบร้อยแล้ว ซึ่งหมายความว่าการสร้างออบเจ็กต์ใหม่หรือเขียนทับออบเจ็กต์ที่มีอยู่จะทริกเกอร์เหตุการณ์นี้ ทริกเกอร์นี้ไม่สนใจการดำเนินการเก็บถาวรและการอัปเดตข้อมูลเมตา
6. ผสานรวม Cloud Storage
Cloud Storage คือบริการสำหรับจัดเก็บออบเจ็กต์ใน Google Cloud ออบเจ็กต์คือชิ้นส่วนข้อมูลที่เปลี่ยนแปลงไม่ได้ ซึ่งประกอบไปด้วยไฟล์รูปแบบใดๆ ก็ตาม คุณจัดเก็บออบเจ็กต์ในคอนเทนเนอร์ที่เรียกว่าที่เก็บข้อมูล ที่เก็บข้อมูลทั้งหมดเชื่อมโยงกับโปรเจ็กต์ และคุณจะจัดกลุ่มโปรเจ็กต์ภายใต้องค์กรได้ ไลบรารีไคลเอ็นต์และ API ทำให้ผสานรวมกับ Cloud Storage
ในห้องทดลองนี้ คุณจะใช้ไลบรารีของไคลเอ็นต์เพื่ออ่านและเขียนออบเจ็กต์ไปยัง Cloud Storage
การติดตั้งไลบรารีของไคลเอ็นต์
ไลบรารีของไคลเอ็นต์ระบบคลาวด์มีให้บริการในภาษาโปรแกรมยอดนิยมจำนวนมาก หากต้องการเริ่มใช้ไลบรารี คุณต้องติดตั้งไลบรารีของไคลเอ็นต์
การใช้ไลบรารีของไคลเอ็นต์
รายละเอียดการใช้งานจำนวนมากขึ้นอยู่กับภาษาโปรแกรม หากต้องการใช้ไลบรารีของไคลเอ็นต์ในแอปพลิเคชันของคุณ ขั้นตอนแรกคือการนำเข้าทรัพยากร Dependency ของ Cloud Storage ตัวอย่างเช่น ในโปรเจ็กต์ Node.js ระบบจะเพิ่มการนําเข้าในไฟล์package.json ตัวอย่างข้อมูลด้านล่างแสดงประกาศไฟล์Package.json ของห้องทดลองนี้
package.json
{ "name": "thumbnail-service", "version": "0.1.0", "dependencies": { "@google-cloud/functions-framework": "^3.0.0", "@google-cloud/storage": "^5.18.2", "@google-cloud/vision": "^2.4.2", ... } }
ลงทะเบียน Callback ของ CloudEvent
ลงทะเบียน Callback CloudEvent ด้วยเฟรมเวิร์กฟังก์ชันที่จะทริกเกอร์โดย Cloud Storage เมื่อมีการอัปโหลดรูปภาพใหม่ลงในที่เก็บข้อมูล
index.js
functions.cloudEvent('process-thumbnails', async (cloudEvent) => { console.log(`Event ID: ${cloudEvent.id}`); console.log(`Event Type: ${cloudEvent.type}`); ...
การสร้างออบเจ็กต์อ้างอิงพื้นที่เก็บข้อมูล
หลังจากนำเข้าไลบรารีของไคลเอ็นต์แล้ว คุณจะต้องสร้างไคลเอ็นต์พื้นที่เก็บข้อมูลและที่เก็บข้อมูลใหม่ที่แอปพลิเคชันจะโต้ตอบด้วย
index.js
const storage = new Storage(); const bucket = storage.bucket(file.bucket); const thumbBucket = storage.bucket(process.env.BUCKET_THUMBNAILS);
ดาวน์โหลดออบเจ็กต์ Cloud Storage
index.js
await bucket.file(file.name).download({ destination: originalFile });
อัปโหลดออบเจ็กต์ไปยัง Cloud Storage
คุณส่งคำขออัปโหลดไปยัง Cloud Storage ได้ 3 วิธี ได้แก่ คำขอเดียว คำขอกลับมาทำงานต่อ หรือการอัปโหลดหลายส่วนของ XML API สำหรับการอัปโหลดขนาดใหญ่ขึ้นหรือการอัปโหลดแบบสตรีมมิง ให้ใช้การอัปโหลดที่ดำเนินการต่อได้ ไฟล์ XML API จะอัปโหลดเป็นส่วนๆ และประกอบเข้าด้วยกันเป็นออบเจ็กต์เดียว สำหรับออบเจ็กต์ขนาดเล็ก ให้ใช้การอัปโหลดแบบคำขอรวมครั้งเดียว
โค้ดด้านล่างจะอัปโหลดรูปภาพไปยังพื้นที่เก็บข้อมูลระบบคลาวด์โดยใช้การอัปโหลดคำขอเดียว
index.js
const thumbnailImage = await thumbBucket.upload(thumbFile);
7. ผสานรวม Vision API
Cloud Vision ช่วยให้นักพัฒนาซอฟต์แวร์ผสานรวมฟีเจอร์การตรวจจับการมองเห็นในแอปพลิเคชันได้อย่างง่ายดาย รวมถึงการติดป้ายกำกับรูปภาพ การตรวจจับใบหน้าและจุดสังเกต การรู้จำอักขระด้วยภาพ (OCR) และการติดแท็กเนื้อหาที่อาจไม่เหมาะสม
การติดตั้งไลบรารีของไคลเอ็นต์
ไลบรารีของไคลเอ็นต์ระบบคลาวด์มีให้บริการในภาษาโปรแกรมยอดนิยมจำนวนมาก หากต้องการเริ่มใช้ไลบรารี คุณต้องติดตั้งไลบรารีของไคลเอ็นต์
สร้างไคลเอ็นต์ตัวเขียนคำอธิบายประกอบรูปภาพ
หากต้องการเข้าถึง Google APIs โดยใช้ SDK ของไคลเอ็นต์อย่างเป็นทางการ คุณต้องสร้างออบเจ็กต์บริการตามเอกสารการค้นพบของ API ซึ่งจะอธิบายถึง API ของ SDK นั้น คุณจะต้องดึงข้อมูลจากบริการค้นพบของ Vision API โดยใช้ข้อมูลเข้าสู่ระบบของคุณ
ดัชนี.js
const client = new vision.ImageAnnotatorClient();
สร้างคำขอ Vision API
Vision API สามารถตรวจหาฟีเจอร์ในไฟล์รูปภาพได้โดยส่งเนื้อหาของไฟล์ภาพเป็นสตริงที่เข้ารหัส base64 ในเนื้อหาคำขอ
วิธีสร้างคำขอโดยใช้ทรัพยากรรูปภาพเพื่อใส่คำอธิบายประกอบในรูปภาพ คำขอที่ส่งไปยัง API นี้อยู่ในรูปแบบของออบเจ็กต์ที่มีรายการคำขอ แต่ละรายการในลิสต์นี้ประกอบด้วยข้อมูล 2 บิต ดังนี้
- ข้อมูลรูปภาพที่เข้ารหัสฐาน 64
- รายการฟีเจอร์ที่คุณต้องการใส่คำอธิบายประกอบเกี่ยวกับรูปภาพนั้น
index.js
const client = new vision.ImageAnnotatorClient(); const visionRequest = { image: { source: { imageUri: `gs://${file.bucket}/${file.name}` } }, features: [ { type: 'LABEL_DETECTION' }, ] }; const visionPromise = client.annotateImage(visionRequest);
8. ทำให้ Cloud Function ใช้งานได้
บริการปรับขนาดรูปภาพนี้เป็นส่วนหนึ่งของระบบ Cymbal Eats ที่ใหญ่กว่า ในส่วนนี้ คุณจะได้ปรับใช้เฉพาะคอมโพเนนต์ที่เกี่ยวข้องกับฟีเจอร์การประมวลผลรูปภาพ การติดตั้งเต็มรูปแบบจะรวม UI สำหรับอัปโหลดรูปภาพและคำขอดาวน์สตรีมเพื่อเก็บข้อมูลเมตาที่ได้ ความสามารถเหล่านี้จะไม่ได้รับการติดตั้งในห้องทดลองนี้
คอมโพเนนต์ต่อไปนี้จะสร้างขึ้นระหว่างการทำให้ฟังก์ชันใช้งานได้
- Cloud Function
- บริการ Cloud Run
- ทริกเกอร์ Eventarc
- หัวข้อ Pub/Sub และการสมัครใช้บริการ
ในเทอร์มินัล Cloudshell ให้เรียกใช้คำสั่งด้านล่างเพื่อทำให้ Cloud Function ใช้งานได้ด้วยที่เก็บข้อมูลทริกเกอร์ใน menu-item-uploads-$PROJECT_ID
gcloud functions deploy process-thumbnails \
--gen2 \
--runtime=nodejs16 \
--source=thumbnail \
--region=$REGION \
--project=$PROJECT_ID \
--entry-point=process-thumbnails \
--trigger-bucket=$UPLOAD_BUCKET \
--service-account="${CF_SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com" \
--set-env-vars=BUCKET_THUMBNAILS=$BUCKET_THUMBNAILS,MENU_SERVICE_URL=$MENU_SERVICE_URL \
--max-instances=1 \
--quiet
หากการทำให้ใช้งานได้ล้มเหลวเนื่องจากปัญหาด้านสิทธิ์บนที่เก็บข้อมูลของพื้นที่เก็บข้อมูลอัปโหลด โปรดรอให้การเปลี่ยนแปลง IAM จากขั้นตอนก่อนหน้าเผยแพร่ โดยปกติแล้วจะใช้เวลา 1-2 นาที จากนั้นลองทำให้ใช้งานได้อีกครั้ง
ตัวอย่างเอาต์พุต
Deploying function (may take a while - up to 2 minutes)...done. [...]
ตรวจสอบ Cloud Function ที่สร้างขึ้นต่อไปนี้ใน Cloud Console
ใน Cloud Console ให้ตรวจสอบบริการ Cloud Run ที่สร้างขึ้นสำหรับฟังก์ชัน ดังนี้
ใน Cloud Console ให้ตรวจสอบทริกเกอร์ Eventarc ที่สร้างขึ้นสำหรับฟังก์ชัน ดังนี้
ใน Cloud Console ให้ตรวจสอบหัวข้อและการสมัครใช้บริการ Pub/Sub ที่สร้างขึ้นสำหรับทริกเกอร์ Eventarc ดังนี้
9. ทดสอบและตรวจสอบโซลูชันแบบครบวงจร
อัปโหลดรูปภาพใหม่ไปยัง Cloud Storage และตรวจสอบความคืบหน้าของไปป์ไลน์ขณะวิเคราะห์รูปภาพ คุณจะต้องทดสอบโซลูชันจากต้นทางถึงปลายทางโดยการตรวจสอบบันทึกของฟังก์ชันระบบคลาวด์
การอัปโหลดรูปภาพที่เหมาะสม
- บันทึกอิมเมจนี้ลงในเครื่องของคุณ
- เปลี่ยนชื่อไฟล์ 1.jpg
- เปิดคอนโซล Cloud Storage
- คลิกที่เก็บข้อมูล menu-item-uploads-...
- คลิกอัปโหลดไฟล์
- อัปโหลด 1.jpg ไปยังที่เก็บข้อมูลของพื้นที่เก็บข้อมูล
- ใน Cloud Console ให้ไปที่ Cloud Functions
- คลิกภาพปกกระบวนการ
- คลิกแท็บบันทึก
- ไปที่ที่เก็บข้อมูล Cloud Storage menu-item-thumbnails-$PROJECT_ID
- ตรวจสอบว่าระบบสร้างภาพขนาดย่อในที่เก็บข้อมูลภาพขนาดย่อแล้ว
การอัปโหลดรูปภาพที่ไม่ใช่อาหาร
ในการตรวจสอบว่าฟังก์ชันทำงานอย่างถูกต้อง คุณจะต้องอัปโหลดรูปภาพที่ไม่มีวัตถุที่จัดว่าเป็น "อาหาร" รายการ
- บันทึกอิมเมจนี้ลงในเครื่องของคุณ
- เปลี่ยนชื่อไฟล์ 2.jpg
- เปิดคอนโซล Cloud Storage
- คลิกที่เก็บข้อมูล menu-item-uploads-...
- คลิกอัปโหลดไฟล์
- อัปโหลด 2.jpg ไปยังที่เก็บข้อมูลของพื้นที่เก็บข้อมูล
- ใน Cloud Console ให้ไปที่ Cloud Functions
- คลิกภาพปกกระบวนการ
- คลิกแท็บบันทึก
10. ยินดีด้วย
ยินดีด้วย คุณใช้งานห้องทดลองเสร็จแล้ว
ขั้นตอนต่อไปที่ทำได้
สำรวจ Codelab อื่นๆ ของ Cymbal Eats
- การทริกเกอร์เวิร์กโฟลว์ระบบคลาวด์ด้วย Eventarc
- การเชื่อมต่อกับ Private CloudSQL จาก Cloud Run
- การเชื่อมต่อกับฐานข้อมูลที่มีการจัดการครบวงจรจาก Cloud Run
- แอปพลิเคชัน Serverless ที่ปลอดภัยด้วย Identity Aware Proxy (IAP)
- การทริกเกอร์งาน Cloud Run ด้วย Cloud Scheduler
- การทำให้ Cloud Run ใช้งานได้อย่างปลอดภัย
- การรักษาความปลอดภัยการรับส่งข้อมูลขาเข้าของ Cloud Run
- การเชื่อมต่อกับ AlloyDB แบบส่วนตัวจาก GKE Autopilot
ล้างข้อมูล
เพื่อหลีกเลี่ยงไม่ให้เกิดการเรียกเก็บเงินกับบัญชี Google Cloud สำหรับทรัพยากรที่ใช้ในบทแนะนำนี้ โปรดลบโปรเจ็กต์ที่มีทรัพยากรดังกล่าวหรือเก็บโปรเจ็กต์ไว้และลบทรัพยากรแต่ละรายการ
กำลังลบโปรเจ็กต์
วิธีที่ง่ายที่สุดในการยกเลิกการเรียกเก็บเงินคือการลบโปรเจ็กต์ที่คุณสร้างไว้สำหรับบทแนะนำ