概要
このページでは、Database Migration Service API を使用して PostgreSQL 移行元データベースの移行ジョブを管理する方法について説明します。
Database Migration Service API を使用する方法は 2 つあります。REST API 呼び出しを行うか、Google Cloud CLI(CLI)を使用できます。
gcloud
を使用して Database Migration Service 移行ジョブを管理する大まかな情報は、こちらをご覧ください。
移行ジョブの下書きを作成する
次の例は、ドラフトモードで移行ジョブを作成するリクエストを示しています。これにより、移行ジョブを一度に作成する必要がなくなります。一部を作成してから、PATCH
オペレーションを使用して更新できます。
たとえば、移行ジョブを作成するが、移行先データベースまたはネットワーク接続方法がない場合は、次のコードを使用できます。
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- region: プロジェクトのリージョン
- migration-job-id: 移行ジョブ ID
- migration-job-name: 移行ジョブ名
- source-connection-profile-id: ソース接続プロファイル ID
- destination-connection-profile-id: 宛先接続プロファイル ID
- provider: ソース データベースの分類タイプに関連付けられたプロバイダ。
- スタンドアロンの PostgreSQL インスタンスの場合は、
DATABASE_PROVIDER_UNSPECIFIED
を使用します。この値はオンプレミス データベースに関連付けられているためです。 - Cloud SQL for PostgreSQL インスタンスの場合は、
CLOUDSQL
を使用します。 - マネージド データベース サービスの場合は、対応する
ENUM
値を使用します。DatabaseProvider
オブジェクト リファレンスをご覧ください。
- スタンドアロンの PostgreSQL インスタンスの場合は、
HTTP メソッドと URL:
POST https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs?migrationJobId=migration-job-id
リクエストの本文(JSON):
{ "displayName": "migration-job-name ", "state": "DRAFT", "type": "CONTINUOUS", "source": "projects/project-id /locations/region /connectionProfiles/source-connection-profile-id ", //"destination":"projects/project-id /locations/region /connectionProfiles/destination-connection-profile-id ", "sourceDatabase": { "engine": "POSTGRESQL", "provider": "provider " }, //"vpcPeeringConnectivity": { //"vpc": "default" //} }
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs?migrationJobId=migration-job-id "
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs?migrationJobId=migration-job-id " | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/project-id /locations/region /operations/operation-1591975557292-5a7e4b195623c-e350e3da-713dee7d", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T15:25:57.430715421Z", "target": "projects/project-id /locations/region /migrationJobs/migration-job-id ", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
VPC ピアリング接続を使用して継続的な移行ジョブを作成する
次のコードは、VPC ピアリング接続を使用して、PostgreSQL データベース(Google Compute Engine VM で実行)を Cloud SQL for PostgreSQL に移行するための継続的な移行ジョブを作成するリクエストを示しています。
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- region: プロジェクトのリージョン
- migration-job-id: 移行ジョブ ID
- migration-job-name: 移行ジョブ名
- source-connection-profile-id: ソース接続プロファイル ID
- destination-connection-profile-id: 宛先接続プロファイル ID
- provider: ソース データベースの分類タイプに関連付けられたプロバイダ。
- スタンドアロンの PostgreSQL インスタンスの場合は、
DATABASE_PROVIDER_UNSPECIFIED
を使用します。この値はオンプレミス データベースに関連付けられているためです。 - Cloud SQL for PostgreSQL インスタンスの場合は、
CLOUDSQL
を使用します。 - マネージド データベース サービスの場合は、対応する
ENUM
値を使用します。DatabaseProvider
オブジェクト リファレンスをご覧ください。
- スタンドアロンの PostgreSQL インスタンスの場合は、
HTTP メソッドと URL:
POST https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs?migrationJobId=migration-job-id
リクエストの本文(JSON):
{ "displayName": "migration-job-name ", "state": "NOT_STARTED", "type": "CONTINUOUS", "source": "projects/project-id /locations/region /connectionProfiles/source-connection-profile-id ", "destination":"projects/project-id /locations/region /connectionProfiles/destination-connection-profile-id ", "sourceDatabase": { "engine": "POSTGRESQL", "provider": "provider " }, "vpcPeeringConnectivity": { "vpc": "default" } }
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs?migrationJobId=migration-job-id "
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs?migrationJobId=migration-job-id " | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/project-id /locations/region /operations/operation-1591975557292-5a7e4b195623c-e350e3da-713dee7d", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T15:25:57.430715421Z", "target": "projects/project-id /locations/region /migrationJobs/migration-job-id ", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
を使用して Database Migration Service 移行ジョブを作成する方法については、こちらをご覧ください。
リバース SSH 接続を使用して継続的な移行ジョブを作成する
次のコードは、リバース SSH 接続を使用して Amazon RDS PostgreSQL データベースを Cloud SQL for PostgreSQL に移行するための、継続的に実行される移行ジョブを作成するリクエストを示しています。
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- region: プロジェクトのリージョン
- migration-job-id: 移行ジョブ ID
- migration-job-name: 移行ジョブ名
- source-connection-profile-id: ソース接続プロファイル ID
- destination-connection-profile-id: 宛先接続プロファイル ID
- vm-name: SSH VM の名前。たとえば、dms-ssh-bastion です。
- vm-ip-address: SSH VM の IP アドレス。たとえば、11.22.33.44 などです。
- vm-port: SSH VM の接続ポート。例: 3306。
- vpc-name: VPC ネットワーク名。たとえば、projects/project-id/global/networks/test-network です。
- provider: ソース データベースの分類タイプに関連付けられたプロバイダ。
- スタンドアロンの PostgreSQL インスタンスの場合は、
DATABASE_PROVIDER_UNSPECIFIED
を使用します。この値はオンプレミス データベースに関連付けられているためです。 - Cloud SQL for PostgreSQL インスタンスの場合は、
CLOUDSQL
を使用します。 - マネージド データベース サービスの場合は、対応する
ENUM
値を使用します。DatabaseProvider
オブジェクト リファレンスをご覧ください。
- スタンドアロンの PostgreSQL インスタンスの場合は、
HTTP メソッドと URL:
POST https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs?migrationJobId=migration-job-id
リクエストの本文(JSON):
{ "displayName": "migration-job-name ", "state": "NOT_STARTED", "type": "CONTINUOUS", "source": "projects/project-id /locations/region /connectionProfiles/source-connection-profile-id ", "destination":"projects/project-id /locations/region /connectionProfiles/destination-connection-profile-id ", "sourceDatabase": { "engine": "POSTGRESQL", "provider": "provider " }, "reverseSshConnectivity": { "vm": "vm-name ", "vm_ip": "vm-ip-address ", "vm_port":vm-port , "vpc": "vpc-name " } }
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs?migrationJobId=migration-job-id "
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs?migrationJobId=migration-job-id " | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/project-id /locations/region /operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id /locations/region /migrationJobs/migration-job-id ", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
を使用して Database Migration Service 移行ジョブを作成する方法については、こちらをご覧ください。
IP 許可リスト接続を使用して移行ジョブを作成する
次のコードは、IP 許可リストを使用して、スタンドアロンの PostgreSQL インスタンスまたはマネージド データベース サービスを Cloud SQL for PostgreSQL データベースに移行するための移行ジョブを作成するリクエストを示しています。
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- region: プロジェクトのリージョン
- migration-job-id: 移行ジョブ ID
- migration-job-name: 移行ジョブ名
- source-connection-profile-id: ソース接続プロファイル ID
- destination-connection-profile-id: 宛先接続プロファイル ID
- provider: ソース データベースの分類タイプに関連付けられたプロバイダ。
- スタンドアロンの PostgreSQL インスタンスの場合は、
DATABASE_PROVIDER_UNSPECIFIED
を使用します。この値はオンプレミス データベースに関連付けられているためです。 - Cloud SQL for PostgreSQL インスタンスの場合は、
CLOUDSQL
を使用します。 - マネージド データベース サービスの場合は、対応する
ENUM
値を使用します。DatabaseProvider
オブジェクト リファレンスをご覧ください。
- スタンドアロンの PostgreSQL インスタンスの場合は、
HTTP メソッドと URL:
POST https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs?migrationJobId=migration-job-id
リクエストの本文(JSON):
{ "displayName": "migration-job-name ", "state": "NOT_STARTED", "type": "CONTINUOUS", "source": "projects/project-id /locations/region /connectionProfiles/source-connection-profile-id ", "destination":"projects/project-id /locations/region /connectionProfiles/destination-connection-profile-id ", "sourceDatabase": { "engine": "POSTGRESQL", "provider": "provider " }, "staticIpConnectivity": {} }
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs?migrationJobId=migration-job-id "
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs?migrationJobId=migration-job-id " | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/project-id /locations/region /operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id /locations/region /migrationJobs/migration-job-id ", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
を使用して Database Migration Service 移行ジョブを作成する方法については、こちらをご覧ください。
移行ジョブに関する情報を取得する
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- region: プロジェクトのリージョン
- migration-job-id: 移行ジョブ ID
HTTP メソッドと URL:
GET https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id "
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id " | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/project-id /locations/region /migrationJobs/one-time-vpc-job", "createTime": "2020-06-12T15:48:39.666093835Z", "updateTime": "2020-06-12T15:48:39.666093835Z", "displayName": "migration-job-display-name ", "state": "CREATING", "type": "CONTINUOUS", "source": "projects/project-id /locations/region /connectionProfiles/connection-profile-id ", "destination": "projects/project-id /locations/region /connectionProfiles/connection-profile-id ", "sourceDatabase": { "engine": "POSTGRESQL" }, "destinationDatabase": { "provider": "CLOUDSQL" }, "vpcPeeringConnectivity": { "vpc": "default" } }
gcloud
を使用して移行ジョブに関する情報を取得する方法の詳細については、こちらをご覧ください。
移行ジョブを一覧表示する
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- region: プロジェクトのリージョン
orderBy:
このフィルタを使用すると、特定のリージョンのすべての移行ジョブのリストをアルファベット順で取得できます。たとえば、orderBy=name
フィルタは、すべての移行ジョブを名前でアルファベット順に返します。-
pageSize:
このフィルタを使用すると、Database Migration Service が取得してページに表示する移行ジョブの最大数を指定できます。たとえば、pageSize=10
を設定すると、Database Migration Service は 1 ページに最大 10 個の移行ジョブを返します。
移行ジョブが 10 件を超える場合は、他のページに表示されます。各ページの最後に、nextPageToken
パラメータと一意の識別子(oasndfoasdnoasun1241243ojsandf
など)が表示されます。この識別子を使用して、次のページの移行ジョブのリストを取得します。最後のページには、nextPageToken
パラメータと一意の識別子は表示されません。
HTTP メソッドと URL:
GET https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs"
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "migrationJobs": [ { "name": "projects/project-id /locations/region /migrationJobs/name-of-first-migration-job ", "createTime": "2020-06-12T15:48:39.666093835Z", "updateTime": "2020-06-12T15:48:39.666093835Z", "displayName": "display-name-of-first-migration-job ", "state": "NOT_STARTED", "type": "CONTINUOUS", "source": "projects/project-id /locations/region /connectionProfiles/connection-profile-id ", "destination": "projects/project-id /locations/region /connectionProfiles/connection-profile-id ", "sourceDatabase": { "engine": "POSTGRESQL" }, "destinationDatabase": { "provider": "CLOUDSQL" }, "vpcPeeringConnectivity": { "vpc": "default" } } { "name": "projects/project-id /locations/region /migrationJobs/name-of-second-migration-job ", "createTime": "2021-02-13T11:59:39.104613835Z", "updateTime": "2021-02-13T12:01:38.666093835Z", "displayName": "display-name-of-second-migration-job ", "state": "RUNNING", "type": "CONTINUOUS", "source": "projects/project-id /locations/region /connectionProfiles/connection-profile-id ", "destination": "projects/project-id /locations/region /connectionProfiles/connection-profile-id ", "sourceDatabase": { "engine": "POSTGRESQL" }, "destinationDatabase": { "provider": "CLOUDSQL" }, "staticIpConnectivity": {} "vpc": "default" } ], "nextPageToken": "unique-identifier " }
gcloud
を使用してすべての移行ジョブに関する情報を取得する方法については、こちらをご覧ください。
移行ジョブの SSH トンネル構成スクリプトを生成する
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- region: プロジェクトのリージョン
- migration-job-id: 移行ジョブ ID
HTTP メソッドと URL:
POST https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :generateSshScript
リクエストの本文(JSON):
{ "vm":"vm-name ", "vmCreationConfig":{ "vmMachineType":"machine-type ", "subnet":"subnet-name " } }
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :generateSshScript"
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$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://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :generateSshScript" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/project-id /locations/region /operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id /locations/region /migrationJobs/migration-job-id ", "verb": "generate", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
を使用して移行ジョブの SSH スクリプトを生成する方法の詳細については、こちらをご覧ください。
移行ジョブを確認する
次の例は、移行ジョブを確認するリクエストを示しています。移行ジョブを検証することで、ジョブが正常に開始して実行されることを確認できます。
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- region: プロジェクトのリージョン
- migration-job-id: 移行ジョブ ID
HTTP メソッドと URL:
POST https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :verify
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :verify"
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :verify" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/project-id /locations/region /operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id /locations/region /migrationJobs/migration-job-id ", "verb": "verify", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
を使用して移行ジョブを確認する方法の詳細については、こちらをご覧ください。
移行ジョブを更新する
次の例は、既存の移行ジョブの表示名を更新するリクエストを示しています。リクエストで updateMask
パラメータを使用することによって、これらのフィールドのみをリクエストの本文に含めば済むようになります。
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- region: プロジェクトのリージョン
- migration-job-id: 移行ジョブ ID
HTTP メソッドと URL:
PATCH https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles/connection-profile-id ?updateMask=displayName
リクエストの本文(JSON):
{ "displayName": "updated-display-name ", }
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles/connection-profile-id ?updateMask=displayName"
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /connectionProfiles/connection-profile-id ?updateMask=displayName" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/project-id /locations/region /operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id /locations/region /migrationJobs/migration-job-id ", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
を使用して移行ジョブを更新する方法の詳細については、こちらをご覧ください。
移行ジョブを開始する
次のコードは、移行ジョブを開始するリクエストを示しています。
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- region: プロジェクトのリージョン
- migration-job-id: 移行ジョブ ID
HTTP メソッドと URL:
POST https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :start
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :start"
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :start" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/project-id /locations/region /operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id /locations/region /migrationJobs/migration-job-id ", "verb": "start", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
を使用して移行ジョブを開始する方法の詳細については、こちらをご覧ください。
失敗した移行ジョブを再起動する
次の例は、移行ジョブを再起動するリクエストを示しています。移行に失敗して復元できない場合や、完全なダンプ中に停止した場合は、移行ジョブを最初から再開できます。
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- region: プロジェクトのリージョン
- migration-job-id: 移行ジョブ ID
HTTP メソッドと URL:
POST https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :restart
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :restart"
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :restart" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/project-id /locations/region /operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id /locations/region /migrationJobs/migration-job-id ", "verb": "restart", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
を使用して移行ジョブを再起動する方法の詳細については、こちらをご覧ください。
移行ジョブを停止する
次の例は、移行ジョブを停止するリクエストを示しています。
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- region: プロジェクトのリージョン
- migration-job-id: 移行ジョブ ID
HTTP メソッドと URL:
POST https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :stop
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :stop"
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :stop" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/project-id /locations/region /operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id /locations/region /migrationJobs/migration-job-id ", "verb": "stop", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
を使用して移行ジョブを停止する方法の詳細については、こちらをご覧ください。
移行ジョブを再開する
次のコードは、移行ジョブを再開するリクエストを示しています。
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- region: プロジェクトのリージョン
- migration-job-id: 移行ジョブ ID
HTTP メソッドと URL:
POST https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :resume
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :resume"
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :resume" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/project-id /locations/region /operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id /locations/region /migrationJobs/migration-job-id ", "verb": "resume", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
を使用して移行ジョブを再開する方法の詳細については、こちらをご覧ください。
移行ジョブをプロモートする
次の例は、移行ジョブを昇格させるリクエストを示しています。
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- region: プロジェクトのリージョン
- migration-job-id: 移行ジョブ ID
HTTP メソッドと URL:
POST https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :promote
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :promote"
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id :promote" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/project-id /locations/region /operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id /locations/region /migrationJobs/migration-job-id ", "verb": "promote", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
を使用して移行ジョブを昇格させる方法の詳細については、こちらをご覧ください。
移行ジョブを削除する
次のコードは、移行ジョブを削除するリクエストを示しています。
リクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- region: プロジェクトのリージョン
- migration-job-id: 移行ジョブ ID
HTTP メソッドと URL:
DELETE https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id "
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://datamigration.googleapis.com/v1/projects/project-id /locations/region /migrationJobs/migration-job-id " | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/project-id /locations/region /operations/operation-1591973161667-5a7e422cb0ba4-3004980d-2ae97165", "metadata": { "@type": "type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata", "createTime": "2020-06-12T14:46:01.744267779Z", "target": "projects/project-id /locations/region /migrationJobs/migration-job-id ", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
gcloud
を使用して移行ジョブを削除する方法の詳細については、こちらをご覧ください。