總覽
資料庫移轉服務提供 REST API,可透過程式輔助方式管理連線設定檔和遷移工作。REST API 是由與建立及管理連線設定檔和遷移工作相關的資源所定義。如要瞭解所有資源及其方法的詳細資料,請參閱「資料庫移轉服務 API 參考資料」。
直接向 Database Migration Service REST API 發出要求時,您必須建立正確格式的要求、以已驗證使用者的身分授權要求,並處理傳回的所有回應。本說明文件中的許多工作都提供使用 cURL 的 API 範例。
如需更多 API 使用範例,請參閱「Database Migration Service API 參考資料」中的要求頁面。每個頁面都有以多種程式設計語言呼叫 API 的範例,以及要求專屬的 Explorer,可協助您瞭解格式正確的要求內容,以及回應的預期結果。
使用下列任何一種執行個體管理方式時,您也會間接使用資料庫移轉服務 API:
Google Cloud CLI:指令列介面 (CLI),可用於處理執行個體。
Google Cloud console:圖形化網頁介面。
使用這些方法 (尤其是Google Cloud 控制台) 的優點是,視您的使用情況而定,這些方法可大幅簡化連線設定檔和遷移工作的管理作業。如果您剛開始使用 Database Migration Service,建議先使用其中一種工具,再直接使用 REST API。
啟用 API
如要使用資料庫移轉服務 API,請啟用該 API:
控制台
- 啟用資料庫移轉服務 API。
- 選取專案。
- 選取 [繼續]。
gcloud
- 輸入下列指令,顯示 Google Cloud專案的專案 ID:
gcloud projects list
- 設定預設專案:
gcloud config set project YOUR_PROJECT_ID
- 啟用 Cloud SQL Admin API:
gcloud services enable datamigration.googleapis.com
權限
您必須具備必要權限,才能使用 Database Migration Service API。這些權限包括:
- 資料庫遷移管理員:具備這項權限的使用者可以存取所有資料庫遷移服務資源,用來管理連線設定檔和遷移作業。
- 資料庫遷移檢視者:具備這項權限的使用者,在資料庫遷移服務中擁有連線設定檔和遷移工作的唯讀存取權。
- Cloud SQL 管理員:具備這項權限的使用者,可以在資料庫遷移服務中建立及管理 Cloud SQL 的連線設定檔和遷移工作。
Google Cloud 提供「身分與存取權管理」(IAM) 功能,可讓您以更精細的方式授予使用者特定 Google Cloud 資源的存取權,避免其他資源遭到未經授權者擅自存取。您可以使用 Google Cloud console、API 的 IAM 方法或 Google Cloud CLI,取得及設定資料庫移轉服務的權限。詳情請參閱「授予、變更及撤銷資源的存取權」。
API 範例
如要查看使用 cURL 呼叫資料庫移轉服務 API 的範例,請參閱「使用 API 管理連線設定檔」和「使用 API 管理遷移工作」。
從檔案提供 JSON 資料
使用 cURL 搭配 API 時,您會透過指令列提供屬性值。如果您要處理密碼或安全金鑰等機密值,在指令列中提供這些值可能會造成安全風險。為提高安全性,您可以建立包含 API 呼叫 JSON 資料的檔案,並在指令列中提供該檔案的路徑。
如要從檔案提供 JSON 資料給 cURL API 呼叫,請按照下列步驟操作:
建立檔案,內含
--data
欄位中以單引號括住的所有內容。請加入大括號,但不要加入單引號。
在指令列中,提供檔案路徑,並在路徑前加上
@
字元,做為--data
參數:--data @<path-to-file>/<filename>
舉例來說,如要為 Cloud SQL 來源資料庫建立連線設定檔,可以建立名為
request.json
的檔案,並加入下列內容:{ "displayName": "my Cloud SQL connection profile", "mysql": { "host": "10.11.12.13", "port": 5432, "username": "myusername", "password": "mypassword" } }
接著,您會在指令列使用下列 cURL 指令:
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header 'Content-Type: application/json' \ --data @./request.json \ -X POST \ https://datamigration.googleapis.com/v1/projects/myProject/locations/myLocation/connectionProfiles?connectionProfileId=myCloudSQLconnectionprofile
處理長時間執行的 API 呼叫
部分 API 呼叫 (例如建立物件) 可能需要一段時間才能完成。由於 API 是非同步,即使作業仍在進行中,呼叫也會立即傳回。如果後續的 API 呼叫使用新建立的物件,您必須等待第一個作業完成,才能繼續操作。
您可以使用資料庫移轉服務 API 管理作業。包括:
資料庫移轉服務和 Google API 探索服務
Google API 探索服務可協助您探索 Google API。舉例來說,您使用 Google APIs Explorer 工具時,就是在使用 Discovery Service。
在 Discovery Service 中,資料庫移轉服務會以「datamigration」表示 (例如:https://datamigration.googleapis.com/$discovery/rest?version=v1)。