-
Notifications
You must be signed in to change notification settings - Fork 0
Cloud Deployment
itsaldray97 edited this page Jul 20, 2026
·
1 revision
這份清單是給「未來真的要接上一個獨立的 GCP 沙箱環境」時使用,目前預設完全不會執行任何雲端動作(見 安全機制)。
flowchart TD
A["1. 建立獨立的沙箱 GCP 專案<br/>(含獨立帳單與預算警示)"] --> B["2. 手動啟用 Pub/Sub、BigQuery、<br/>Dataflow、Cloud Storage API"]
B --> C[3. 建立 GCS Bucket]
C --> D[4. 建立 Pub/Sub 主題與訂閱]
D --> E[5. 套用 BigQuery Schema]
E --> F[6. 設定最小權限 IAM]
F --> G[7. 依 .env.example 填寫 .env]
G --> H["8. 執行 preflight_cloud.py<br/>(唯讀檢查)"]
H --> I["9. 三個閘門旗標都開啟後<br/>才能送出真實 Dataflow Job"]
| 步驟 | 對應文件 |
|---|---|
| GCP 專案與 API | demo/infra/README_CLOUD_SETUP.md |
| Bucket / Dataflow 送出 | demo/infra/dataflow_submission_plan.md |
| Pub/Sub | demo/infra/pubsub_resource_plan.md |
| BigQuery Schema | demo/infra/bigquery_schema.sql |
| IAM 權限 | demo/infra/iam_role_plan.md |
| 費用控管與清理 | demo/infra/cost_and_cleanup_plan.md |
# 送出(需要三個旗標都開啟)
.venv\Scripts\python demo\scripts\submit_dataflow.py `
--enable-cloud-mode --execute-dataflow-job `
--confirm-synthetic-sandbox-only I_CONFIRM_SYNTHETIC_SANDBOX_ONLY
# 停止
.venv\Scripts\python demo\scripts\stop_dataflow.py `
--job-id <JOB_ID> --confirm-stop-sandbox-job沒有帶齊旗標的話,這兩支腳本只會印出「等效的指令」給你看,不會真的執行任何動作,也不會建立任何 GCP 用戶端。
- 使用獨立的帳單專案與預算警示。
- Worker 數量採保守上限。
- 每次展示結束後務必執行
stop_dataflow.py停止串流 Job。 - 定期清理沙箱裡的 BigQuery/Pub/Sub/GCS 產出物。