ツール: clone_instance
Cloud SQL インスタンスを、ソース インスタンスのクローンとして作成します。
- このツールは、長時間実行オペレーションを返します。
get_operationツールを使用して、オペレーションが完了するまでステータスをポーリングします。 - クローン オペレーションには数分かかることがあります。コマンドライン ツールを使用して 30 秒間一時停止してから、ステータスを再確認します。
次のサンプルは、curl を使用して clone_instance MCP ツールを呼び出す方法を示しています。
| Curl リクエスト |
|---|
curl --location 'https://sqladmin.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "clone_instance", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
入力スキーマ
インスタンスのクローン リクエスト。
SqlInstancesCloneRequest
| JSON 表現 |
|---|
{
"instance": string,
"project": string,
"body": {
object ( |
| フィールド | |
|---|---|
instance |
必須。クローンを作成する Cloud SQL インスタンス(ソース)の ID。 プロジェクト ID は含みません。 |
project |
必須。ソースとクローン Cloud SQL インスタンスのプロジェクト ID。 |
body |
|
InstancesCloneRequest
| JSON 表現 |
|---|
{
"cloneContext": {
object ( |
| フィールド | |
|---|---|
cloneContext |
必須。クローンオペレーションの詳細が格納されます。 |
CloneContext
| JSON 表現 |
|---|
{ "kind": string, "pitrTimestampMs": string, "destinationInstanceName": string, "binLogCoordinates": { object ( |
| フィールド | |
|---|---|
kind |
これは常に |
pitrTimestampMs |
将来の使用のために予約。 |
destinationInstanceName |
必須。クローンとして作成する Cloud SQL インスタンスの名前。 |
binLogCoordinates |
バイナリログ座標。指定した場合、ソース インスタンスのどこまでをクローン作成するかを示す位置を特定します。指定しない場合、ソース インスタンスは最新のバイナリログ座標までクローン作成されます。 |
pointInTime |
タイムスタンプ。指定した場合、ソース インスタンスのどこまでをクローン作成するかを示す時間を特定します。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
allocatedIpRange |
プライベート IP Cloud SQL インスタンスに割り振られた IP 範囲の名前。(「google-managed-services-default」など)。設定されている場合、クローン インスタンスの IP は割り当てられた範囲で作成されます。範囲名は RFC 1035 に準拠している必要があります。具体的には、名前は長さが 1 ~ 63 文字で、正規表現 a-z? に一致している必要があります。将来の使用のために予約。 |
databaseNames[] |
(SQL Server のみ)ソース インスタンスから指定したデータベースのみをクローンします。空の場合は、すべてのデータベースをクローンします。 |
共用体フィールド
|
|
preferredZone |
省略可。インスタンスのクローンとポイントインタイム リカバリ クローンを指定されたゾーンにコピーします。ゾーンが指定されていない場合は、ソース インスタンスと同じプライマリ ゾーンにクローンを作成します。このフィールドはすべての DB タイプに適用されます。 |
共用体フィールド
|
|
preferredSecondaryZone |
省略可。指定されたゾーン内のリージョン インスタンスのコピー クローンとポイントインタイム リカバリ クローン。指定しない場合、ソース インスタンスと同じセカンダリ ゾーンにクローンを作成します。この値は preferred_zone フィールドと同じにすることはできません。このフィールドはすべての DB タイプに適用されます。 |
共用体フィールド
|
|
sourceInstanceDeletionTime |
ソース インスタンスが削除された時刻を特定するために使用されるタイムスタンプ。このインスタンスが削除された場合は、タイムスタンプを設定する必要があります。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
共用体フィールド
|
|
destinationProject |
省略可。クローン インスタンスが作成される宛先プロジェクトのプロジェクト ID。プロジェクト間のクローンを作成するには、このフィールドが必要です。指定しない場合、クローンはソース インスタンスと同じプロジェクトに作成されます。 |
共用体フィールド
|
|
destinationNetwork |
省略可。プライベート IP のプライベート サービス アクセスを介して、クローン インスタンスが接続される VPC ネットワークの完全修飾 URI。例: |
BinLogCoordinates
| JSON 表現 |
|---|
{ "binLogFileName": string, "binLogPosition": string, "kind": string } |
| 項目 | |
|---|---|
binLogFileName |
Cloud SQL インスタンスのバイナリ ログ ファイル名。 |
binLogPosition |
バイナリ ログ ファイル内の位置(オフセット)。 |
kind |
これは常に |
タイムスタンプ
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。 |
nanos |
ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。 |
出力スキーマ
オペレーション リソース。オペレーション リソースを返すオペレーションを成功させるため、オペレーションに関連するフィールドのみがリソースに入力されます。
オペレーション
| JSON 表現 |
|---|
{ "kind": string, "targetLink": string, "status": enum ( |
| フィールド | |
|---|---|
kind |
これは常に |
targetLink |
|
status |
オペレーションのステータス。 |
user |
このオペレーションを開始したユーザーのメールアドレス。 |
insertTime |
このオペレーションをキューに格納した時刻を、RFC 3339 形式の UTC タイムゾーンで表します。例: RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
startTime |
このオペレーションが実際に開始された時刻を、RFC 3339 形式の UTC タイムゾーンで表します。例: RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
endTime |
このオペレーションが完了した時刻を、RFC 3339 形式の UTC タイムゾーンで表します。例: RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
error |
このオペレーションの処理中にエラーが発生した場合、このフィールドにデータが設定されます。 |
apiWarning |
Admin API の警告メッセージ。 |
operationType |
オペレーションの種類。有効な値は、 |
importContext |
インポート オペレーションのコンテキスト(該当する場合)。 |
exportContext |
エクスポート オペレーションのコンテキスト(該当する場合)。 |
backupContext |
バックアップ オペレーションのコンテキスト(該当する場合)。 |
preCheckMajorVersionUpgradeContext |
このフィールドは、operation_type が PRE_CHECK_MAJOR_VERSION_UPGRADE の場合にのみ入力されます。PreCheckMajorVersionUpgradeContext メッセージ自体には、アップグレードのターゲット データベース バージョンやチェックの結果(検出された警告やエラーを含む)など、その事前チェックの詳細が含まれています。 |
name |
オペレーションを一意に識別する識別子。この識別子を使って、オペレーションに関する情報が格納されているオペレーション リソースを取得できます。 |
targetId |
このオペレーションが実行されるリソースの名前。 |
selfLink |
このリソースの URI。 |
targetProject |
このオペレーションに関連するターゲット インスタンスのプロジェクト ID。 |
acquireSsrsLeaseContext |
SSRS リース取得オペレーションのコンテキスト(該当する場合)。 |
subOperationType |
省略可。オペレーション タイプに基づくサブオペレーション。 |
タイムスタンプ
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。 |
nanos |
ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。 |
OperationErrors
| JSON 表現 |
|---|
{
"kind": string,
"errors": [
{
object ( |
| フィールド | |
|---|---|
kind |
これは常に |
errors[] |
このオペレーションの処理中に発生したエラーのリスト。 |
OperationError
| JSON 表現 |
|---|
{ "kind": string, "code": string, "message": string } |
| フィールド | |
|---|---|
kind |
これは常に |
code |
発生した具体的なエラーを示します。 |
message |
発生したエラーについての追加情報。 |
ApiWarning
| JSON 表現 |
|---|
{
"code": enum ( |
| フィールド | |
|---|---|
code |
警告タイプを一意に識別するコード。 |
message |
警告メッセージ |
region |
REGION_UNREACHABLE 警告のリージョン名。 |
ImportContext
| JSON 表現 |
|---|
{ "uri": string, "database": string, "kind": string, "fileType": enum ( |
| フィールド | |
|---|---|
uri |
Cloud Storage のインポート ファイルへのパス( |
database |
インポートのターゲット データベース。 |
kind |
これは常に |
fileType |
指定された URI のファイル形式。`SQL |
csvImportOptions |
データを CSV としてインポートするためのオプション。 |
importUser |
このインポート オペレーションの PostgreSQL ユーザー。PostgreSQL インスタンスのみ。 |
bakImportOptions |
SQL Server .BAK ファイル固有のインポート パラメータ |
sqlImportOptions |
省略可。SQL ステートメントからデータをインポートするためのオプション。 |
tdeImportOptions |
省略可。SQL Server TDE 証明書固有のインポート パラメータ |
SqlCsvImportOptions
| JSON 表現 |
|---|
{ "table": string, "columns": [ string ], "escapeCharacter": string, "quoteCharacter": string, "fieldsTerminatedBy": string, "linesTerminatedBy": string } |
| フィールド | |
|---|---|
table |
CSV データのインポート先のテーブル。 |
columns[] |
CSV データのインポート先の列。指定しない場合、データベース テーブルのすべての列に CSV データがロードされます。 |
escapeCharacter |
エスケープが必要なデータ文字の前に表示する文字を指定します。 |
quoteCharacter |
データ値を引用符で囲むときに使用する引用符文字を指定します。 |
fieldsTerminatedBy |
ファイルの各行の列を区切る文字を指定します。 |
linesTerminatedBy |
これは、行を区切るために使用されます。行にすべてのフィールドが含まれていない場合、残りの列はデフォルト値に設定されます。 |
SqlBakImportOptions
| JSON 表現 |
|---|
{ "encryptionOptions": { object ( |
| フィールド | |
|---|---|
encryptionOptions |
|
striped |
復元するバックアップ セットがストライプ化されているかどうか。Cloud SQL for SQL Server にのみ適用されます。 |
noRecovery |
バックアップのインポートで NORECOVERY オプションを使用してデータベースを復元するかどうか。Cloud SQL for SQL Server にのみ適用されます。 |
recoveryOnly |
バックアップ インポート リクエストで Bak コンテンツをダウンロードせずにデータベースをオンラインにするかどうか。no_recovery と recovery_only のいずれか 1 つのみを true にできます。それ以外の場合はエラーが返されます。Cloud SQL for SQL Server にのみ適用されます。 |
bakType |
bak コンテンツのタイプ(FULL または DIFF) |
stopAt |
省略可。インポートを停止するタイムスタンプ。このタイムスタンプは RFC 3339 形式(例: RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
stopAtMark |
省略可。インポートを停止するマーク付きトランザクション。このフィールドは STOPATMARK キーワードと同等で、Cloud SQL for SQL Server にのみ適用されます。 |
EncryptionOptions
| JSON 表現 |
|---|
{ "certPath": string, "pvkPath": string, "pvkPassword": string, "keepEncrypted": boolean } |
| フィールド | |
|---|---|
certPath |
Cloud Storage 内の証明書(.cer)へのパス( |
pvkPath |
Cloud Storage の証明書秘密鍵(.pvk)のパス( |
pvkPassword |
秘密鍵を暗号化するパスワード |
keepEncrypted |
省略可。インポートしたファイルが暗号化されたままになるかどうか。 |
BoolValue
| JSON 表現 |
|---|
{ "value": boolean } |
| フィールド | |
|---|---|
value |
ブール値。 |
SqlImportOptions
| JSON 表現 |
|---|
{
"threads": integer,
"parallel": boolean,
"postgresImportOptions": {
object ( |
| フィールド | |
|---|---|
threads |
省略可。並列インポートに使用するスレッドの数。 |
parallel |
省略可。インポートを並行して行うかどうか。 |
postgresImportOptions |
省略可。Cloud SQL for PostgreSQL インスタンスからインポートするためのオプション。 |
Int32Value
| JSON 表現 |
|---|
{ "value": integer } |
| フィールド | |
|---|---|
value |
int32 値。 |
PostgresImportOptions
| JSON 表現 |
|---|
{ "clean": boolean, "ifExists": boolean } |
| フィールド | |
|---|---|
clean |
省略可。pg_restore ユーティリティの --clean フラグ。このフラグは、Cloud SQL でファイルの並列インポートを有効にした場合にのみ適用されます。 |
ifExists |
省略可。pg_restore ユーティリティの --if-exists フラグ。このフラグは、Cloud SQL でファイルの並列インポートを有効にした場合にのみ適用されます。 |
SqlTdeImportOptions
| JSON 表現 |
|---|
{ "certificatePath": string, "privateKeyPath": string, "privateKeyPassword": string, "name": string } |
| フィールド | |
|---|---|
certificatePath |
必須。TDE 証明書の公開鍵へのパス(gs://bucketName/fileName の形式)。インスタンスには、ファイルに対する読み取りアクセス権が必要です。SQL Server インスタンスにのみ適用されます。 |
privateKeyPath |
必須。TDE 証明書の秘密鍵のパス(gs://bucketName/fileName の形式)。インスタンスには、ファイルに対する読み取りアクセス権が必要です。SQL Server インスタンスにのみ適用されます。 |
privateKeyPassword |
必須。秘密鍵を暗号化するパスワード。 |
name |
必須。証明書名。SQL Server インスタンスにのみ適用されます。 |
ExportContext
| JSON 表現 |
|---|
{ "uri": string, "databases": [ string ], "kind": string, "sqlExportOptions": { object ( |
| 項目 | |
|---|---|
uri |
エクスポートの保存先となる、Google Cloud Storage 内のファイルへのパス。URI の形式は |
databases[] |
エクスポートされるデータベース。 |
kind |
これは常に |
sqlExportOptions |
データを SQL 文としてエクスポートするためのオプション。 |
csvExportOptions |
データを CSV としてエクスポートするためのオプション。 |
fileType |
指定した URI のファイルタイプ。 |
offload |
サーバーレス エクスポートを実行するかどうか。 |
bakExportOptions |
データを BAK ファイルとしてエクスポートするためのオプション。 |
tdeExportOptions |
省略可。SQL Server TDE 証明書固有のエクスポート パラメータ |
SqlExportOptions
| JSON 表現 |
|---|
{ "tables": [ string ], "schemaOnly": boolean, "mysqlExportOptions": { object ( |
| フィールド | |
|---|---|
tables[] |
指定したデータベースからエクスポートするテーブルまたはエクスポートされたテーブル。テーブルを指定する場合は、データベースを 1 つだけ指定します。PostgreSQL インスタンスの場合、指定できるテーブルは 1 つのみです。 |
schemaOnly |
スキーマのみをエクスポートします。 |
mysqlExportOptions |
|
threads |
省略可。並列エクスポートに使用するスレッドの数。 |
parallel |
省略可。エクスポートを並行して行うかどうか。 |
postgresExportOptions |
省略可。Cloud SQL for PostgreSQL インスタンスからのエクスポート オプション。 |
MysqlExportOptions
| JSON 表現 |
|---|
{ "masterData": integer } |
| フィールド | |
|---|---|
masterData |
レプリケーションの設定に必要な SQL ステートメントを含めるオプション。 |
PostgresExportOptions
| JSON 表現 |
|---|
{ "clean": boolean, "ifExists": boolean } |
| フィールド | |
|---|---|
clean |
省略可。このオプションを使用して DROP を含めます
SQL ステートメント。これらのステートメントを使用して、インポート オペレーションを実行する前にデータベース オブジェクトを削除します。 |
ifExists |
省略可。クリーンアップによって生成される各 DROP ステートメントに IF EXISTS SQL ステートメントを含めるオプション。 |
SqlCsvExportOptions
| JSON 表現 |
|---|
{ "selectQuery": string, "escapeCharacter": string, "quoteCharacter": string, "fieldsTerminatedBy": string, "linesTerminatedBy": string } |
| フィールド | |
|---|---|
selectQuery |
データを抽出するために使用する select クエリ。 |
escapeCharacter |
エスケープが必要なデータ文字の前に表示する文字を指定します。 |
quoteCharacter |
データ値を引用符で囲むときに使用する引用符文字を指定します。 |
fieldsTerminatedBy |
ファイルの各行の列を区切る文字を指定します。 |
linesTerminatedBy |
これは、行を区切るために使用されます。行にすべてのフィールドが含まれていない場合、残りの列はデフォルト値に設定されます。 |
SqlBakExportOptions
| JSON 表現 |
|---|
{
"striped": boolean,
"stripeCount": integer,
"bakType": enum ( |
| フィールド | |
|---|---|
striped |
エクスポートをストライプ化するかどうか。 |
stripeCount |
エクスポートに使用するストライプの数を指定するオプション。空白で、ストライプ フィールドの値が true の場合、ストライプの数が自動的に選択されます。 |
bakType |
この bak ファイルのタイプ(export、FULL、DIFF)。SQL Server のみ |
copyOnly |
非推奨: copy_only は非推奨になりました。代わりに differential_base を使用する |
differentialBase |
バックアップを差分ベースとして使用できるかどうか。copy_only バックアップは差分ベースとして使用できません |
exportLogStartTime |
省略可。トランザクション ログがエクスポート オペレーションに含まれる開始タイムスタンプ。UTC の RFC 3339 形式(例: RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
exportLogEndTime |
省略可。トランザクション ログがエクスポート オペレーションに含まれる終了タイムスタンプ。UTC の RFC 3339 形式(例: RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
SqlTdeExportOptions
| JSON 表現 |
|---|
{ "certificatePath": string, "privateKeyPath": string, "privateKeyPassword": string, "name": string } |
| フィールド | |
|---|---|
certificatePath |
必須。TDE 証明書の公開鍵へのパス(gs://bucketName/fileName の形式)。インスタンスには、バケットへの書き込みアクセス権が必要です。SQL Server インスタンスにのみ適用されます。 |
privateKeyPath |
必須。TDE 証明書の秘密鍵のパス(gs://bucketName/fileName の形式)。インスタンスには、その場所への書き込み権限が必要です。SQL Server インスタンスにのみ適用されます。 |
privateKeyPassword |
必須。秘密鍵を暗号化するパスワード。 |
name |
必須。証明書名。SQL Server インスタンスにのみ適用されます。 |
BackupContext
| JSON 表現 |
|---|
{ "backupId": string, "kind": string, "name": string } |
| フィールド | |
|---|---|
backupId |
バックアップの識別子。 |
kind |
これは常に |
name |
バックアップの名前。形式: projects/{project}/backups/{backup} |
PreCheckMajorVersionUpgradeContext
| JSON 表現 |
|---|
{ "targetDatabaseVersion": enum ( |
| フィールド | |
|---|---|
targetDatabaseVersion |
必須。アップグレード先のターゲット データベース バージョン。 |
preCheckResponse[] |
出力専用。事前チェック オペレーションからのレスポンス。 |
kind |
省略可。これは常に |
PreCheckResponse
| JSON 表現 |
|---|
{ "actionsRequired": [ string ], // Union field |
| フィールド | |
|---|---|
actionsRequired[] |
ユーザーが対応する必要があるアクション。複数のアクションに repeated を使用します。 |
共用体フィールド
|
|
message |
ユーザーに表示するメッセージ。 |
共用体フィールド
|
|
messageType |
メッセージのタイプ(情報、警告、エラー)。 |
AcquireSsrsLeaseContext
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド
|
|
setupLogin |
SSRS の設定でデータベース サーバーに接続するために設定ログインとして使用するユーザー名。 |
共用体フィールド
|
|
serviceLogin |
SSRS の設定でレポート データベースに接続するためにサービス ログインとして使用するユーザー名。 |
共用体フィールド
|
|
reportDatabase |
SSRS の設定に使用するレポート データベース。 |
共用体フィールド
|
|
duration |
SSRS の設定に必要なリースの期間。
|
所要時間
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
期間の符号付き秒数。-315,576,000,000 ~+315,576,000,000 の範囲(両端を含む)にする必要があります。注: これらの境界は、60 秒/分 * 60 分/時間 * 24 時間/日 * 365.25 日/年 * 10,000 年から計算されます。 |
nanos |
期間のナノ秒分解能による、秒の符号付き小数以下部分。1 秒未満の期間は、0 の |
SqlSubOperationType
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド sub_operation_details。オペレーション タイプに対応するサブオペレーションの詳細。sub_operation_details は次のいずれかになります。 |
|
maintenanceType |
インスタンスで実行するメンテナンスのタイプ。 |
ツールのアノテーション
破壊的ヒント: ❌ | べき等ヒント: ❌ | 読み取り専用ヒント: ❌ | オープン ワールド ヒント: ❌