Google Cloud Storage
วัตถุประสงค์
ตั้งค่าการทำ sanitization ไฟล์อัตโนมัติใน Google Cloud Storage โดยใช้ Glasswall Halo API ผ่านบริการ Google Cloud Run และ Eventarc
คู่มือการผสานรวม Google Cloud Storage
- ข้อกำหนดเบื้องต้น
- ขั้นตอนที่ 1 – การตั้งค่า
- ขั้นตอนที่ 2 – ปรับใช้ Google Cloud Run
- ขั้นตอนที่ 3 – ตั้งค่าเหตุการณ์ของพื้นที่จัดเก็บข้อมูล
- ขั้นตอนที่ 4 – ทดสอบแอปพลิเคชัน
ข้อกำหนดเบื้องต้น
- บัญชี Google Cloud Console
- บักเก็ต Google Cloud ต้นทาง
- บักเก็ต Google Cloud ปลายทาง
- Google Cloud CLI
- โค้ดตัวอย่าง Glasswall
หมายเหตุ:
- ก่อนเริ่มต้น ตรวจสอบให้แน่ใจว่าพารามิเตอร์การกำหนดค่าทั้งหมดมีชื่อถูกต้องและถูกเพิ่มไปยังแอปพลิเคชัน Google Cloud Run แล้ว เนื่องจากหากมีชื่อไม่ตรงกันจะทำให้เกิดความล้มเหลว
- โค้ดตัวอย่างที่ให้มาสาธิตเฉพาะกรณีการใช้งานนี้เท่านั้น โดยจัดการไฟล์แบบ flat file และไม่ได้รวมกลไกการบันทึก log ขั้นสูง
ขั้นตอนที่ 1 – การตั้งค่า
Google มีสถานการณ์ตัวอย่างที่คล้ายกันซึ่งสามารถใช้เพื่อเริ่มต้นได้ ให้ทำตามคู่มือ Before you begin สำหรับสิทธิ์ บัญชีบริการ และการตั้งค่าบรรทัดคำสั่ง
เมื่อดำเนินการเสร็จแล้ว คุณควรพร้อมสำหรับการปรับใช้โค้ดตัวอย่าง
โปรดตรวจสอบด้วยว่าคุณได้ทำตามขั้นตอนต่อไปนี้ครบถ้วนแล้ว:
- ลงชื่อเข้าใช้Google Cloud Console
- โคลนโค้ดตัวอย่างไปยังไดเรกทอรีทำงาน
- รันคำสั่งต่อไปนี้:
cd ./GCloudStorageEvents/dotnet
gcloud auth login
gcloud config set project "${PROJECT_ID}"
สามารถดู PROJECT_ID ได้จากหน้าต้อนรับของคอนโซล Google Cloud Platform
ขั้นตอนที่ 2 – ปรับใช้ Google Cloud Run
ในขั้นตอนต่อไปนี้ ให้แทนที่ ${SERVICE_NAME} ด้วยชื่อที่ต้องการของแอปพลิเคชัน Cloud Run ที่ปรับใช้
- หากต้องการปรับใช้จากบรรทัดคำสั่ง ให้ใช้คำสั่ง
gcloud run deploy:
gcloud run deploy "${SERVICE_NAME}" --source . --region "${SERVICE_REGION}" --set-env-vars OutputBucket="${OUTPUT_BUCKET_NAME}" --set-env-vars HALO_URL="${HALO_URL}" --set-env-vars HALO_USERNAME="${HALO_USERNAME}" --set-env-vars HALO_PASSWORD="${HALO_PASSWORD}"
- การกำหนดค่าจะดำเนินการระหว่างการ deploy แทนที่ตัวแปรที่อยู่ภายใน
${}ด้วยค่าที่เหมาะสม
| คีย์ | ค่า |
|---|---|
| Service_name | ชื่อของบริการ Cloud Run ที่จะถูกสร้าง |
| Service_region | รีเจียนที่จะ deploy บริการ Cloud Run |
| Output_bucket_name | ชื่อบักเก็ตปลายทางสำหรับจัดเก็บข้อมูล (ต้องมีอยู่แล้ว) |
| Halo_url | URL สำหรับ endpoint CDR-file (ตัวอย่างเช่น https://api.glasswall.com/api/v3/cdr-file) |
| Halo_username | ชื่อผู้ใช้สำหรับการยืนยันตัวตนแบบ basic ของ Halo API |
| Halo_password | รหัสผ่านสำหรับการยืนยันตัวตนแบบ basic ของ Halo API |
ดูรายละเอียดเพิ่มเติมได้ที่ เอกสาร Google Cloud Run deploy
ขั้นตอนที่ 3 – ตั้งค่าเหตุการณ์ของ storage
ในการกำหนดค่าเหตุการณ์ของพื้นที่จัดเก็บ ให้สร้างทริกเกอร์ Google Eventarc โดยใช้คำสั่งต่อไปนี้:
gcloud eventarc triggers create "${SERVICE_NAME}" --destination-run-service="${SERVICE_NAME}" --destination-run-region="${SERVICE_REGION}" --destination-run-path="/" --location="${SERVICE_REGION}" --event-filters="type=google.cloud.storage.object.v1.finalized" --event-filters="bucket=${INPUT_BUCKET_NAME}" --service-account="${PROJECT_NUMBER}[email protected]"
ขั้นตอนที่ 4 – ทดสอบแอปพลิเคชัน
หากต้องการทดสอบแอปพลิเคชัน ให้อัปโหลดไฟล์ที่รองรับไปยังบัคเก็ตอินพุต ไฟล์ที่ประมวลผลสำเร็จจะปรากฏในบัคเก็ตเอาต์พุต