MCP Tools Reference: cloud-sql

工具:import_data

将数据导入 Cloud SQL 实例。

如果文件不是以 gs:// 开头,则假定该文件存储在本地。如果文件是本地文件,则必须先将文件上传到 Cloud Storage,然后才能进行实际的 import_data 调用。如需将文件上传到 Cloud Storage,您可以使用 gcloud 或 gsutil 命令。

在将文件上传到 Cloud Storage 之前,请考虑是要使用现有存储桶,还是在提供的项目中创建新存储桶。

将文件上传到 Cloud Storage 后,实例服务账号必须具有足够的权限才能从 Cloud Storage 存储桶中读取上传的文件。

这可以通过以下方式实现:

  1. 使用 get_instance 工具获取实例服务账号的电子邮件地址。从工具的输出中获取 serviceAccountEmailAddress 字段的值。
  2. 向实例服务账号授予所提供 Cloud Storage 存储桶的 storage.objectAdmin 角色。使用 gcloud storage buckets add-iam-policy-binding 等命令或向 Cloud Storage API 发出请求。角色授予和权限传播到 Cloud Storage 中的服务账号可能需要 2 到 7 分钟或更长时间。如果您在更新 IAM 政策后遇到权限错误,请等待几分钟,然后重试。

获得授权后,您就可以导入数据了。我们建议您将可选参数留空,并使用系统默认值。文件类型通常可以通过文件扩展名来确定。例如,如果文件是 SQL 文件,则为 .sql;如果文件是 CSV 文件,则为 .csv。

以下是适用于 MySQL 的 SQL importContext 示例。

{
          "uri": "gs://sample-gcs-bucket/sample-file.sql",
          "kind": "sql#importContext",
          "fileType": "SQL"
        }
        

MySQL 没有 database 参数,因为数据库名称应存在于 SQL 文件中。只能指定一个 URI。除 importContext 之外,无需填写其他字段。

对于 PostgreSQL,database 字段是必填字段。以下是指定了 database 字段的 PostgreSQL importContext 示例。

{
          "uri": "gs://sample-gcs-bucket/sample-file.sql",
          "kind": "sql#importContext",
          "fileType": "SQL",
          "database": "sample-db"
        }
        

import_data 工具会返回一个长时间运行的操作。使用 get_operation 工具轮询其状态,直到操作完成。

以下代码示例展示了如何使用 curl 调用 import_data 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": "import_data",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

输入架构

实例导入请求。

SqlInstancesImportRequest

JSON 表示法
{
  "instance": string,
  "project": string,
  "body": {
    object (InstancesImportRequest)
  },
  "location": string
}
字段
instance

string

Cloud SQL 实例 ID。不包括项目 ID。

project

string

实例所属项目的项目 ID。

body

object (InstancesImportRequest)

location

string

可选。Cloud SQL 实例的区域。

InstancesImportRequest

JSON 表示法
{
  "importContext": {
    object (ImportContext)
  }
}
字段
importContext

object (ImportContext)

包含导入操作的详情。

ImportContext

JSON 表示法
{
  "uri": string,
  "database": string,
  "kind": string,
  "fileType": enum (SqlFileType),
  "csvImportOptions": {
    object (SqlCsvImportOptions)
  },
  "importUser": string,
  "bakImportOptions": {
    object (SqlBakImportOptions)
  },
  "sqlImportOptions": {
    object (SqlImportOptions)
  },
  "tdeImportOptions": {
    object (SqlTdeImportOptions)
  }
}
字段
uri

string

Cloud Storage 中导入文件的路径,格式为 gs://bucketName/fileName。当 fileType 为 SQL 时,支持压缩的 gzip 文件 (.gz)。实例必须对存储分区拥有写入权限,并拥有文件的读取权限。

database

string

导入的目标数据库。如果 fileType 为 SQL,则仅当导入文件未指定数据库时,此字段才是必需的,并且会被导入文件中的任何数据库规范覆盖。对于整个实例并行导入操作,数据库会被存储在子目录名称中的数据库名称覆盖。如果 fileType 为 CSV,则必须指定一个数据库。

kind

string

始终为 sql#importContext。

fileType

enum (SqlFileType)

指定 URI 的文件类型。`SQL: The file contains SQL statements. \CSV`:文件包含 CSV 数据。

csvImportOptions

object (SqlCsvImportOptions)

用于以 CSV 格式导入数据的选项。

importUser

string

此导入操作的 PostgreSQL 用户。仅 PostgreSQL 实例。

bakImportOptions

object (SqlBakImportOptions)

特定于 SQL Server .BAK 文件的导入参数

sqlImportOptions

object (SqlImportOptions)

可选。用于从 SQL 语句导入数据的选项。

tdeImportOptions

object (SqlTdeImportOptions)

可选。特定于 SQL Server TDE 证书的导入参数

SqlCsvImportOptions

JSON 表示法
{
  "table": string,
  "columns": [
    string
  ],
  "escapeCharacter": string,
  "quoteCharacter": string,
  "fieldsTerminatedBy": string,
  "linesTerminatedBy": string
}
字段
table

string

将导入 CSV 数据的表格。

columns[]

string

将导入 CSV 数据的列。如果未指定,则数据库表的所有列都将加载 CSV 数据。

escapeCharacter

string

指定需转义的数据字符之前应显示的字符。

quoteCharacter

string

指定在引用数据值时要使用的引用字符。

fieldsTerminatedBy

string

指定用于在文件的每行中分隔列的字符。

linesTerminatedBy

string

此字符用于分隔行。如果某行未包含所有字段,则其余列会设置为默认值。

SqlBakImportOptions

JSON 表示法
{
  "encryptionOptions": {
    object (EncryptionOptions)
  },
  "striped": boolean,
  "noRecovery": boolean,
  "recoveryOnly": boolean,
  "bakType": enum (BakType),
  "stopAt": string,
  "stopAtMark": string
}
字段
encryptionOptions

object (EncryptionOptions)

striped

boolean

正在恢复的备份集是否已条带化。仅适用于 Cloud SQL for SQL Server。

noRecovery

boolean

备份导入是否会使用 NORECOVERY 选项恢复数据库。仅适用于 Cloud SQL for SQL Server。

recoveryOnly

boolean

备份导入请求是否只会使数据库联机,而不会下载 Bak 内容。只能将“no_recovery”和“recovery_only”中的一个设置为 true,否则会返回错误。仅适用于 Cloud SQL for SQL Server。

bakType

enum (BakType)

bak 内容的类型,FULL 或 DIFF

stopAt

string (Timestamp format)

可选。导入应停止的时间戳。此时间戳采用 RFC 3339 格式(例如 2023-10-01T16:19:00.094)。此字段等效于 STOPAT 关键字,仅适用于 Cloud SQL for SQL Server。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

stopAtMark

string

可选。导入应停止的标记事务。此字段等同于 STOPATMARK 关键字,仅适用于 Cloud SQL for SQL Server。

EncryptionOptions

JSON 表示法
{
  "certPath": string,
  "pvkPath": string,
  "pvkPassword": string,
  "keepEncrypted": boolean
}
字段
certPath

string

Cloud Storage 中证书 (.cer) 的路径,格式为 gs://bucketName/fileName。实例必须对存储分区拥有写入权限,并拥有文件的读取权限。

pvkPath

string

Cloud Storage 中证书私钥 (.pvk) 的路径,格式为 gs://bucketName/fileName。实例必须对存储分区拥有写入权限,并拥有文件的读取权限。

pvkPassword

string

加密私钥的密码

keepEncrypted

boolean

可选。导入的文件是否仍处于加密状态。

BoolValue

JSON 表示法
{
  "value": boolean
}
字段
value

boolean

Bool 值。

时间戳

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值,对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z)。

nanos

integer

秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代字段。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。

SqlImportOptions

JSON 表示法
{
  "threads": integer,
  "parallel": boolean,
  "postgresImportOptions": {
    object (PostgresImportOptions)
  }
}
字段
threads

integer

可选。用于并行导入的线程数。

parallel

boolean

可选。是否应并行导入。

postgresImportOptions

object (PostgresImportOptions)

可选。从 Cloud SQL for PostgreSQL 实例导入数据的选项。

Int32Value

JSON 表示法
{
  "value": integer
}
字段
value

integer

int32 值。

PostgresImportOptions

JSON 表示法
{
  "clean": boolean,
  "ifExists": boolean
}
字段
clean

boolean

可选。pg_restore 实用程序的 --clean 标志。此标志仅在您启用 Cloud SQL 并行导入文件时适用。

ifExists

boolean

可选。pg_restore 实用程序的 --if-exists 标志。仅当您启用了 Cloud SQL 以并行导入文件时,此标志才适用。

SqlTdeImportOptions

JSON 表示法
{
  "certificatePath": string,
  "privateKeyPath": string,
  "privateKeyPassword": string,
  "name": string
}
字段
certificatePath

string

必需。TDE 证书公钥的路径,格式为 gs://bucketName/fileName。实例必须对文件拥有读取权限。仅适用于 SQL Server 实例。

privateKeyPath

string

必需。TDE 证书私钥的路径,格式为 gs://bucketName/fileName。实例必须对文件拥有读取权限。仅适用于 SQL Server 实例。

privateKeyPassword

string

必需。用于加密私钥的密码。

name

string

必需。证书名称。仅适用于 SQL Server 实例。

SqlFileType

枚举
SQL_FILE_TYPE_UNSPECIFIED 文件类型未知。
SQL 包含 SQL 语句的文件。
CSV CSV 格式的文件。
BAK
TDE TDE 证书。

BakType

枚举
BAK_TYPE_UNSPECIFIED 默认类型。
FULL 完整备份。
DIFF 差分备份。
TLOG 事务日志备份

输出架构

Operation 资源。对于返回 Operation 资源的成功操作,仅会在资源中填充与操作相关的字段。

操作

JSON 表示法
{
  "kind": string,
  "targetLink": string,
  "status": enum (SqlOperationStatus),
  "user": string,
  "insertTime": string,
  "startTime": string,
  "endTime": string,
  "error": {
    object (OperationErrors)
  },
  "apiWarning": {
    object (ApiWarning)
  },
  "operationType": enum (SqlOperationType),
  "importContext": {
    object (ImportContext)
  },
  "exportContext": {
    object (ExportContext)
  },
  "backupContext": {
    object (BackupContext)
  },
  "preCheckMajorVersionUpgradeContext": {
    object (PreCheckMajorVersionUpgradeContext)
  },
  "startWorkloadCaptureContext": {
    object (StartWorkloadCaptureContext)
  },
  "stopWorkloadCaptureContext": {
    object (StopWorkloadCaptureContext)
  },
  "startWorkloadReplayContext": {
    object (StartWorkloadReplayContext)
  },
  "stopWorkloadReplayContext": {
    object (StopWorkloadReplayContext)
  },
  "name": string,
  "targetId": string,
  "selfLink": string,
  "targetProject": string,
  "acquireSsrsLeaseContext": {
    object (AcquireSsrsLeaseContext)
  },
  "subOperationType": {
    object (SqlSubOperationType)
  }
}
字段
kind

string

始终为 sql#operation。

targetLink

string

status

enum (SqlOperationStatus)

操作的状态。

user

string

启动此操作的用户的电子邮件地址。

insertTime

string (Timestamp format)

此操作在世界协调时间 (UTC) 时区排队的时间,采用 RFC 3339 格式,例如 2012-11-15T16:19:00.094Z。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

startTime

string (Timestamp format)

此操作实际开始的时间,采用世界协调时间 (UTC) 时区和 RFC 3339 格式,例如 2012-11-15T16:19:00.094Z。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

endTime

string (Timestamp format)

相应操作完成的时间,采用 RFC 3339 格式,以世界协调时间 (UTC) 时区表示,例如 2012-11-15T16:19:00.094Z。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

error

object (OperationErrors)

如果在处理此操作期间发生错误,系统将填充此字段。

apiWarning

object (ApiWarning)

Admin API 警告消息。

operationType

enum (SqlOperationType)

操作的类型。有效值包括:* CREATE * DELETE * UPDATE * RESTART * IMPORT * EXPORT * BACKUP_VOLUME * RESTORE_VOLUME * CREATE_USER * DELETE_USER * CREATE_DATABASE * DELETE_DATABASE

importContext

object (ImportContext)

导入操作的上下文(如果适用)。

exportContext

object (ExportContext)

导出操作的上下文(如果适用)。

backupContext

object (BackupContext)

备份操作的上下文(如果适用)。

preCheckMajorVersionUpgradeContext

object (PreCheckMajorVersionUpgradeContext)

仅当 operation_type 为 PRE_CHECK_MAJOR_VERSION_UPGRADE 时,才会填充此字段。PreCheckMajorVersionUpgradeContext 消息本身包含该预检查的详细信息,例如升级的目标数据库版本和检查结果(包括发现的任何警告或错误)。

startWorkloadCaptureContext

object (StartWorkloadCaptureContext)

StartWorkloadCapture 操作的上下文,其中包含在 Cloud SQL 实例上开始记录工作负载(SQL 查询)的详细信息。

stopWorkloadCaptureContext

object (StopWorkloadCaptureContext)

StopWorkloadCapture 操作的上下文,其中包含停止记录 Cloud SQL 实例上的工作负载(SQL 查询)的详细信息。

startWorkloadReplayContext

object (StartWorkloadReplayContext)

StartWorkloadReplay 操作的上下文,其中包含有关在重放实例(执行记录的 SQL 查询的 Cloud SQL 实例)上开始执行捕获的工作负载(记录的读取和写入 SQL 查询)的详细信息。

stopWorkloadReplayContext

object (StopWorkloadReplayContext)

StopWorkloadReplay 操作的上下文,其中包含有关停止在重放实例上执行捕获的工作负载(记录的读写 SQL 查询)的详细信息。

name

string

唯一标识操作的标识符。您可以使用此标识符检索包含操作相关信息的操作资源。

targetId

string

运行相应操作的资源的名称。

selfLink

string

此资源的 URI。

targetProject

string

与此操作相关的目标实例的项目 ID。

acquireSsrsLeaseContext

object (AcquireSsrsLeaseContext)

获取 SSRS 租约操作的上下文(如果适用)。

subOperationType

object (SqlSubOperationType)

可选。基于操作类型的子操作。

时间戳

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值,对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z)。

nanos

integer

秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代字段。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。

OperationErrors

JSON 表示法
{
  "kind": string,
  "errors": [
    {
      object (OperationError)
    }
  ]
}
字段
kind

string

始终为 sql#operationErrors。

errors[]

object (OperationError)

处理此操作时遇到的错误的列表。

OperationError

JSON 表示法
{
  "kind": string,
  "code": string,
  "message": string
}
字段
kind

string

始终为 sql#operationError。

code

string

确定发生的具体错误。

message

string

有关遇到的错误的其他信息。

ApiWarning

JSON 表示法
{
  "code": enum (SqlApiWarningCode),
  "message": string,
  "region": string
}
字段
code

enum (SqlApiWarningCode)

用于标识警告类型的唯一代码。

message

string

警告消息。

region

string

REGION_UNREACHABLE 警告的区域名称。

ImportContext

JSON 表示法
{
  "uri": string,
  "database": string,
  "kind": string,
  "fileType": enum (SqlFileType),
  "csvImportOptions": {
    object (SqlCsvImportOptions)
  },
  "importUser": string,
  "bakImportOptions": {
    object (SqlBakImportOptions)
  },
  "sqlImportOptions": {
    object (SqlImportOptions)
  },
  "tdeImportOptions": {
    object (SqlTdeImportOptions)
  }
}
字段
uri

string

Cloud Storage 中导入文件的路径,格式为 gs://bucketName/fileName。当 fileType 为 SQL 时,支持压缩的 gzip 文件 (.gz)。实例必须对存储分区拥有写入权限,并拥有文件的读取权限。

database

string

导入的目标数据库。如果 fileType 为 SQL,则仅当导入文件未指定数据库时,此字段才是必需的,并且会被导入文件中的任何数据库规范覆盖。对于整个实例并行导入操作,数据库会被存储在子目录名称中的数据库名称覆盖。如果 fileType 为 CSV,则必须指定一个数据库。

kind

string

始终为 sql#importContext。

fileType

enum (SqlFileType)

指定 URI 的文件类型。`SQL: The file contains SQL statements. \CSV`:文件包含 CSV 数据。

csvImportOptions

object (SqlCsvImportOptions)

用于以 CSV 格式导入数据的选项。

importUser

string

此导入操作的 PostgreSQL 用户。仅 PostgreSQL 实例。

bakImportOptions

object (SqlBakImportOptions)

特定于 SQL Server .BAK 文件的导入参数

sqlImportOptions

object (SqlImportOptions)

可选。用于从 SQL 语句导入数据的选项。

tdeImportOptions

object (SqlTdeImportOptions)

可选。特定于 SQL Server TDE 证书的导入参数

SqlCsvImportOptions

JSON 表示法
{
  "table": string,
  "columns": [
    string
  ],
  "escapeCharacter": string,
  "quoteCharacter": string,
  "fieldsTerminatedBy": string,
  "linesTerminatedBy": string
}
字段
table

string

将导入 CSV 数据的表格。

columns[]

string

将导入 CSV 数据的列。如果未指定,则数据库表的所有列都将加载 CSV 数据。

escapeCharacter

string

指定需转义的数据字符之前应显示的字符。

quoteCharacter

string

指定在引用数据值时要使用的引用字符。

fieldsTerminatedBy

string

指定用于在文件的每行中分隔列的字符。

linesTerminatedBy

string

此字符用于分隔行。如果某行未包含所有字段,则其余列会设置为默认值。

SqlBakImportOptions

JSON 表示法
{
  "encryptionOptions": {
    object (EncryptionOptions)
  },
  "striped": boolean,
  "noRecovery": boolean,
  "recoveryOnly": boolean,
  "bakType": enum (BakType),
  "stopAt": string,
  "stopAtMark": string
}
字段
encryptionOptions

object (EncryptionOptions)

striped

boolean

正在恢复的备份集是否已条带化。仅适用于 Cloud SQL for SQL Server。

noRecovery

boolean

备份导入是否会使用 NORECOVERY 选项恢复数据库。仅适用于 Cloud SQL for SQL Server。

recoveryOnly

boolean

备份导入请求是否只会使数据库联机,而不会下载 Bak 内容。只能将“no_recovery”和“recovery_only”中的一个设置为 true,否则会返回错误。仅适用于 Cloud SQL for SQL Server。

bakType

enum (BakType)

bak 内容的类型,FULL 或 DIFF

stopAt

string (Timestamp format)

可选。导入应停止的时间戳。此时间戳采用 RFC 3339 格式(例如 2023-10-01T16:19:00.094)。此字段等同于 STOPAT 关键字,仅适用于 Cloud SQL for SQL Server。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

stopAtMark

string

可选。导入应停止的标记事务。此字段等同于 STOPATMARK 关键字,仅适用于 Cloud SQL for SQL Server。

EncryptionOptions

JSON 表示法
{
  "certPath": string,
  "pvkPath": string,
  "pvkPassword": string,
  "keepEncrypted": boolean
}
字段
certPath

string

Cloud Storage 中证书 (.cer) 的路径,格式为 gs://bucketName/fileName。实例必须对存储分区拥有写入权限,并拥有文件的读取权限。

pvkPath

string

Cloud Storage 中证书私钥 (.pvk) 的路径,格式为 gs://bucketName/fileName。实例必须对存储分区拥有写入权限,并拥有文件的读取权限。

pvkPassword

string

加密私钥的密码

keepEncrypted

boolean

可选。导入的文件是否仍处于加密状态。

BoolValue

JSON 表示法
{
  "value": boolean
}
字段
value

boolean

布尔值。

SqlImportOptions

JSON 表示法
{
  "threads": integer,
  "parallel": boolean,
  "postgresImportOptions": {
    object (PostgresImportOptions)
  }
}
字段
threads

integer

可选。用于并行导入的线程数。

parallel

boolean

可选。是否应并行导入。

postgresImportOptions

object (PostgresImportOptions)

可选。从 Cloud SQL for PostgreSQL 实例导入数据的选项。

Int32Value

JSON 表示法
{
  "value": integer
}
字段
value

integer

int32 值。

PostgresImportOptions

JSON 表示法
{
  "clean": boolean,
  "ifExists": boolean
}
字段
clean

boolean

可选。pg_restore 实用程序的 --clean 标志。此标志仅在您启用 Cloud SQL 并行导入文件时适用。

ifExists

boolean

可选。pg_restore 实用程序的 --if-exists 标志。仅当您启用了 Cloud SQL 以并行导入文件时,此标志才适用。

SqlTdeImportOptions

JSON 表示法
{
  "certificatePath": string,
  "privateKeyPath": string,
  "privateKeyPassword": string,
  "name": string
}
字段
certificatePath

string

必需。TDE 证书公钥的路径,格式为 gs://bucketName/fileName。实例必须对文件拥有读取权限。仅适用于 SQL Server 实例。

privateKeyPath

string

必需。TDE 证书私钥的路径,格式为 gs://bucketName/fileName。实例必须对文件拥有读取权限。仅适用于 SQL Server 实例。

privateKeyPassword

string

必需。用于加密私钥的密码。

name

string

必需。证书名称。仅适用于 SQL Server 实例。

ExportContext

JSON 表示法
{
  "uri": string,
  "databases": [
    string
  ],
  "kind": string,
  "sqlExportOptions": {
    object (SqlExportOptions)
  },
  "csvExportOptions": {
    object (SqlCsvExportOptions)
  },
  "fileType": enum (SqlFileType),
  "offload": boolean,
  "bakExportOptions": {
    object (SqlBakExportOptions)
  },
  "tdeExportOptions": {
    object (SqlTdeExportOptions)
  }
}
字段
uri

string

Google Cloud Storage 中将存储导出的文件的路径。URI 的格式为 gs://bucketName/fileName。如果文件已存在,则请求成功,但操作失败。如果 fileType 为 SQL 且文件名以 .gz 结尾,则内容会进行压缩。

databases[]

string

要导出的数据库。
MySQL instances: 如果 fileType 为 SQL 且未指定数据库,则系统会导出所有数据库,但 mysql 系统数据库除外。如果 fileType 为 CSV,您可以使用此属性或 csvExportOptions.selectQuery 属性(优先于此属性)指定一个数据库。
PostgreSQL instances: 如果您未按名称指定数据库,则系统会导出实例中的所有用户数据库。这不包括系统数据库和用于管理内部操作的 Cloud SQL 数据库。导出所有用户数据库仅适用于目录格式的并行导出。如果 fileType 为 CSV,则此数据库必须与 csvExportOptions.selectQuery 属性中指定的数据库一致。
SQL Server instances: 您必须指定一个要导出的数据库,并且 fileType 必须为 BAK。

kind

string

始终为 sql#exportContext。

sqlExportOptions

object (SqlExportOptions)

用于将数据导出为 SQL 语句的选项。

csvExportOptions

object (SqlCsvExportOptions)

用于以 CSV 格式导出数据的选项。仅限 MySQL 和 PostgreSQL 实例。

fileType

enum (SqlFileType)

指定 URI 的文件类型。

offload

boolean

是否执行无服务器导出。

bakExportOptions

object (SqlBakExportOptions)

用于将数据导出为 BAK 文件的选项。

tdeExportOptions

object (SqlTdeExportOptions)

可选。特定于 SQL Server TDE 证书的导出参数

SqlExportOptions

JSON 表示法
{
  "tables": [
    string
  ],
  "schemaOnly": boolean,
  "mysqlExportOptions": {
    object (MysqlExportOptions)
  },
  "threads": integer,
  "parallel": boolean,
  "postgresExportOptions": {
    object (PostgresExportOptions)
  }
}
字段
tables[]

string

要从指定数据库导出或已导出的表。如果指定表,请指定一个且仅指定一个数据库。对于 PostgreSQL 实例,您只能指定一个表。

schemaOnly

boolean

仅导出架构。

mysqlExportOptions

object (MysqlExportOptions)

threads

integer

可选。用于并行导出的线程数。

parallel

boolean

可选。是否应并行导出。

postgresExportOptions

object (PostgresExportOptions)

可选。从 Cloud SQL for PostgreSQL 实例导出数据的选项。

MysqlExportOptions

JSON 表示法
{
  "masterData": integer
}
字段
masterData

integer

包含设置复制所需的 SQL 语句的选项。如果设置为 1,则转储文件会包含一个 CHANGE MASTER TO 语句以及二进制日志坐标,并且 --set-gtid-purged 会设置为 ON。如果设置为 2,则 CHANGE MASTER TO 语句会写入为 SQL 注释,并且不会生效。如果设置为 1 以外的任何值,则 --set-gtid-purged 设置为 OFF。

PostgresExportOptions

JSON 表示法
{
  "clean": boolean,
  "ifExists": boolean
}
字段
clean

boolean

可选。使用此选项可添加 DROP <object> SQL 语句。在运行导入操作之前,请使用以下语句删除数据库对象。

ifExists

boolean

可选。用于在 clean 生成的每个 DROP 语句中添加 IF EXISTS SQL 语句的选项。

SqlCsvExportOptions

JSON 表示法
{
  "selectQuery": string,
  "escapeCharacter": string,
  "quoteCharacter": string,
  "fieldsTerminatedBy": string,
  "linesTerminatedBy": string
}
字段
selectQuery

string

用于提取数据的 select 查询。

escapeCharacter

string

指定需转义的数据字符之前应显示的字符。

quoteCharacter

string

指定在引用数据值时要使用的引用字符。

fieldsTerminatedBy

string

指定用于在文件的每行中分隔列的字符。

linesTerminatedBy

string

用于分隔行。如果某行未包含所有字段,则其余列会设置为默认值。

SqlBakExportOptions

JSON 表示法
{
  "striped": boolean,
  "stripeCount": integer,
  "bakType": enum (BakType),
  "copyOnly": boolean,
  "differentialBase": boolean,
  "exportLogStartTime": string,
  "exportLogEndTime": string
}
字段
striped

boolean

导出是否应条带化。

stripeCount

integer

用于指定导出时要使用的条带数量的选项。如果留空,且条带化字段的值为 true,则系统会自动选择条带数量。

bakType

enum (BakType)

此 bak 文件的类型将为导出、FULL 或 DIFF,仅限 SQL Server

copyOnly
(deprecated)

boolean

已弃用:copy_only 已弃用。改用 differential_base

differentialBase

boolean

备份是否可用作差分库 copy_only 备份不能用作差分库

exportLogStartTime

string (Timestamp format)

可选。事务日志将包含在导出操作中的开始时间戳。RFC 3339 格式(例如 2023-10-01T16:19:00.094),采用世界协调时间 (UTC)。如果省略,则会包含自保留期限开始以来的所有可用日志。仅适用于 Cloud SQL for SQL Server。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

exportLogEndTime

string (Timestamp format)

可选。导出操作中将包含交易日志的结束时间戳。RFC 3339 格式(例如 2023-10-01T16:19:00.094),采用世界协调时间 (UTC)。如果省略,则会包含当前时间之前的所有可用日志。仅适用于 Cloud SQL for SQL Server。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

SqlTdeExportOptions

JSON 表示法
{
  "certificatePath": string,
  "privateKeyPath": string,
  "privateKeyPassword": string,
  "name": string
}
字段
certificatePath

string

必需。TDE 证书公钥的路径,格式为 gs://bucketName/fileName。实例必须具有对存储桶的写入权限。仅适用于 SQL Server 实例。

privateKeyPath

string

必需。TDE 证书私钥的路径,格式为 gs://bucketName/fileName。实例必须具有对该位置的写入权限。仅适用于 SQL Server 实例。

privateKeyPassword

string

必需。用于加密私钥的密码。

name

string

必需。证书名称。仅适用于 SQL Server 实例。

BackupContext

JSON 表示法
{
  "backupId": string,
  "kind": string,
  "name": string
}
字段
backupId

string (int64 format)

备份的标识符。

kind

string

始终为 sql#backupContext。

name

string

备份的名称。格式:projects/{project}/backups/{backup}

PreCheckMajorVersionUpgradeContext

JSON 表示法
{
  "targetDatabaseVersion": enum (SqlDatabaseVersion),
  "preCheckResponse": [
    {
      object (PreCheckResponse)
    }
  ],
  "kind": string,

  // Union field _max_runtime can be only one of the following:
  "maxRuntime": string
  // End of list of possible types for union field _max_runtime.
}
字段
targetDatabaseVersion

enum (SqlDatabaseVersion)

必需。要升级到的目标数据库版本。

preCheckResponse[]

object (PreCheckResponse)

仅限输出。预检操作的响应。

kind

string

可选。始终为 sql#preCheckMajorVersionUpgradeContext。

联合字段 _max_runtime。

_max_runtime 只能是下列其中一项:

maxRuntime

string (Duration format)

可选。预检查操作允许的最长运行时。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"。

PreCheckResponse

JSON 表示法
{
  "actionsRequired": [
    string
  ],

  // Union field _message can be only one of the following:
  "message": string
  // End of list of possible types for union field _message.

  // Union field _message_type can be only one of the following:
  "messageType": enum (MessageType)
  // End of list of possible types for union field _message_type.
}
字段
actionsRequired[]

string

用户需要采取的操作。使用 repeated 处理多项操作。

联合字段 _message。

_message 只能是下列其中一项:

message

string

要向用户显示的消息。

联合字段 _message_type。

_message_type 只能是下列其中一项:

messageType

enum (MessageType)

消息类型,是信息、警告还是错误。

时长

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

时间段的带符号秒数。必须介于 -315,576,000,000 到 +315,576,000,000 之间(含边界值)。注意:这些边界的计算公式为:60 秒/分钟 * 60 分钟/小时 * 24 小时/天 * 365.25 天/年 * 10000 年

nanos

integer

时间跨度的有符号秒数小数部分(以纳秒为单位)。小于 1 秒的时长用 0 seconds 字段和正或负 nanos 字段表示。对于时长为 1 秒或更长时间的情况,nanos 字段的非零值必须与 seconds 字段的符号相同。必须介于 -999,999,999 到 +999,999,999 之间(含边界值)。

StartWorkloadCaptureContext

JSON 表示法
{
  "enableLiveReplay": boolean,

  // Union field _replay_instance can be only one of the following:
  "replayInstance": string
  // End of list of possible types for union field _replay_instance.
}
字段
enableLiveReplay

boolean

可选。如果为 true,则捕获的工作负载会同时在单独的临时 Cloud SQL 实例上执行。此“直播回放”实例会自动预配,并从源实例克隆而来。如果为 false(默认值),则系统只会存储工作负载,而不会进行直播回放。稍后可以使用单独的 StartWorkloadReplayRequest 重新播放。注意:工作负载捕获会持续运行,直到发出明确的 StopWorkloadCaptureRequest。

联合字段 _replay_instance。

_replay_instance 只能是下列其中一项:

replayInstance

string

可选。如果 enable_live_replay 为 true,则必须提供此值。正在执行捕获的工作负载(SQL 查询)的 Cloud SQL 实例的名称,不含项目 ID(例如 my-replay-instance)。实例名称必须以小写字母开头,并且只能包含小写字母、数字和连字符。project-ID:instance-name 的总长度不得超过 98 个字符。

StopWorkloadCaptureContext

JSON 表示法
{
  "abortLiveReplay": boolean
}
字段
abortLiveReplay

boolean

可选。如果为 true,则立即中止并发实时重放,并舍弃所有未重放的流量,同时停止捕获。如果为 false(默认值),则捕获会停止记录新流量,但实时重放会继续执行,直到捕获的流量的整个积压工作都已重放。

StartWorkloadReplayContext

JSON 表示法
{
  "replayInstance": string,
  "workloadId": string
}
字段
replayInstance

string

必需。执行捕获的工作负载(SQL 查询)的 Cloud SQL 实例的名称,不包括项目 ID(例如 my-replay-instance)。实例名称必须以小写字母开头,并且只能包含小写字母、数字和连字符。project-ID:instance-name 的总长度不得超过 98 个字符。

workloadId

string

仅限输出。要在重放实例上开始执行的工作负载的 ID。每次工作负载捕获都会生成一个格式为 workload-<epoch_timestamp> 的唯一 ID(例如 workload-1786046400)。使用此 ID 即可开始执行记录的 SQL 查询。

AcquireSsrsLeaseContext

JSON 表示法
{

  // Union field _setup_login can be only one of the following:
  "setupLogin": string
  // End of list of possible types for union field _setup_login.

  // Union field _service_login can be only one of the following:
  "serviceLogin": string
  // End of list of possible types for union field _service_login.

  // Union field _report_database can be only one of the following:
  "reportDatabase": string
  // End of list of possible types for union field _report_database.

  // Union field _duration can be only one of the following:
  "duration": string
  // End of list of possible types for union field _duration.
}
字段

联合字段 _setup_login。

_setup_login 只能是下列其中一项:

setupLogin

string

用作设置登录名以连接到数据库服务器进行 SSRS 设置的用户名。

联合字段 _service_login。

_service_login 只能是下列其中一项:

serviceLogin

string

要用作服务登录名以连接到报告数据库进行 SSRS 设置的用户名。

联合字段 _report_database。

_report_database 只能是下列其中一项:

reportDatabase

string

要用于 SSRS 设置的报告数据库。

联合字段 _duration。

_duration 只能是下列其中一项:

duration

string (Duration format)

SSRS 设置所需的租约时长。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"。

SqlSubOperationType

JSON 表示法
{

  // Union field sub_operation_details can be only one of the following:
  "maintenanceType": enum (SqlMaintenanceType)
  // End of list of possible types for union field sub_operation_details.
}
字段
联合字段 sub_operation_details。与操作类型对应的子操作详细信息。sub_operation_details 只能是下列其中一项:
maintenanceType

enum (SqlMaintenanceType)

要对实例执行的维护类型。

SqlOperationStatus

操作的状态。

枚举
SQL_OPERATION_STATUS_UNSPECIFIED 操作的状态未知。
PENDING 操作已加入队列,但尚未开始。
RUNNING 操作正在运行。
DONE 操作已完成。

SqlApiWarningCode

枚举
SQL_API_WARNING_CODE_UNSPECIFIED 来自 Cloud SQL API 的未知或未设置警告类型。
REGION_UNREACHABLE 一个或多个区域无法访问时发出警告。返回的结果集可能不完整。
MAX_RESULTS_EXCEEDS_LIMIT 当用户提供的 maxResults 参数超出限制时发出警告。返回的结果集可能不完整。
COMPROMISED_CREDENTIALS 当用户尝试创建/更新具有之前因公开数据泄露而遭泄露的凭据的用户时,系统会发出警告。
INTERNAL_STATE_FAILURE 操作成功但某些非关键工作流状态失败时发出警告。

SqlOperationType

Cloud SQL 操作的类型。

枚举
SQL_OPERATION_TYPE_UNSPECIFIED 操作类型未知。
IMPORT 将数据导入 Cloud SQL 实例。
EXPORT 将数据从 Cloud SQL 实例导出到 Cloud Storage 存储桶。
CREATE 创建新的 Cloud SQL 实例。
UPDATE 更新 Cloud SQL 实例的设置。
DELETE 删除 Cloud SQL 实例。
RESTART 重启 Cloud SQL 实例。
BACKUP
SNAPSHOT
BACKUP_VOLUME 执行实例备份。
DELETE_VOLUME 删除实例备份。
RESTORE_VOLUME 恢复实例备份。
INJECT_USER 在 MySQL 中为 MOB 实例注入特权用户。
CLONE 克隆 Cloud SQL 实例。
STOP_REPLICA 停止 Cloud SQL 读取副本实例上的复制。
START_REPLICA 启动 Cloud SQL 读取副本实例上的复制。
PROMOTE_REPLICA 升级 Cloud SQL 副本实例。
CREATE_REPLICA 创建 Cloud SQL 副本实例。
CREATE_USER 在 Cloud SQL 实例中创建新用户。
DELETE_USER 从 Cloud SQL 实例中删除用户。
UPDATE_USER 更新 Cloud SQL 实例中的现有用户。如果不存在具有指定用户名的用户,则系统会创建新用户。
CREATE_DATABASE 在 Cloud SQL 实例中创建数据库。
DELETE_DATABASE 删除 Cloud SQL 实例中的数据库。
UPDATE_DATABASE 更新 Cloud SQL 实例中的数据库。
FAILOVER 对启用高可用性的 Cloud SQL 故障切换副本执行故障切换。
DELETE_BACKUP 删除通过备份作业运行的备份。
RECREATE_REPLICA
TRUNCATE_LOG 截断 MySQL 中的常规或慢日志表。
DEMOTE_MASTER 将独立实例降级为外部数据库服务器的 Cloud SQL 读取副本。
MAINTENANCE 表示实例当前正在维护中。维护通常会导致实例无法使用 1-3 分钟。
ENABLE_PRIVATE_IP 此字段已弃用,并将在未来版本的 API 中移除。
DEFER_MAINTENANCE
CREATE_CLONE 创建克隆实例。
RESCHEDULE_MAINTENANCE 将维护重新安排到其他时间。
START_EXTERNAL_SYNC 启动 Cloud SQL EM 副本与外部主实例之间的外部同步。
LOG_CLEANUP 从实例的旧数据磁盘中恢复日志。
AUTO_RESTART 自动重启已启用高可用性的 Cloud SQL 数据库以进行自动恢复。
REENCRYPT 使用最新密钥版本重新加密 CMEK 实例。
SWITCHOVER 切换主实例和副本对的角色。目标实例应为副本。
UPDATE_BACKUP 更新备份。
ACQUIRE_SSRS_LEASE 获取用于设置 SQL Server Reporting Services (SSRS) 的租约。
RELEASE_SSRS_LEASE 释放用于设置 SQL Server Reporting Services (SSRS) 的租约。
RECONFIGURE_OLD_PRIMARY 在提升副本操作后重新配置旧的主实例。此操作会执行对旧主实例的提升操作的效果,该操作与对副本执行的提升副本操作异步执行。
CLUSTER_MAINTENANCE 表示实例、其只读副本及其级联副本正在维护中。维护通常先在副本组上启动,然后再在主实例上启动。对于每个实例,维护通常会导致实例无法使用的时长为 1-3 分钟。
SELF_SERVICE_MAINTENANCE 表示实例(及其任何副本)当前正在维护中。此操作通过 SSM 作为自助服务请求发起。维护通常会导致实例无法使用 1-3 分钟。
SWITCHOVER_TO_REPLICA 将主实例切换为副本。此操作作为切换到原始主实例的操作的一部分运行。
MAJOR_VERSION_UPGRADE 更新 Cloud SQL 实例的主要版本。
ADVANCED_BACKUP 已弃用:ADVANCED_BACKUP 已弃用。请改用 ENHANCED_BACKUP。
MANAGE_BACKUP 更改 Cloud SQL 实例的 BackupTier。
ENHANCED_BACKUP 为增强型备份层级 Cloud SQL 实例创建备份。
REPAIR_READ_POOL 修复整个读取池或读取池中的指定读取池节点。
CREATE_READ_POOL 创建 Cloud SQL 读取池实例。
PRE_CHECK_MAJOR_VERSION_UPGRADE 预检主要版本升级操作。
SETUP_MIGRATION 此操作类型表示多步骤设置迁移工作流中的各个步骤:包括配置、复制、切换/回退和数据重新播种,具体取决于操作的意图。
CREATE_BLUE_GREEN_DEPLOYMENT 创建新的蓝绿部署。
SWITCHOVER_BLUE_GREEN_DEPLOYMENT 切换蓝绿部署。
DELETE_BLUE_GREEN_DEPLOYMENT 删除蓝绿部署。

SqlFileType

枚举
SQL_FILE_TYPE_UNSPECIFIED 文件类型未知。
SQL 包含 SQL 语句的文件。
CSV CSV 格式的文件。
BAK
TDE TDE 证书。

BakType

枚举
BAK_TYPE_UNSPECIFIED 默认类型。
FULL 完整备份。
DIFF 差分备份。
TLOG 事务日志备份

SqlDatabaseVersion

数据库引擎类型和版本。

枚举
SQL_DATABASE_VERSION_UNSPECIFIED 这是一个未知的数据库版本。
MYSQL_5_1 数据库版本为 MySQL 5.1。
MYSQL_5_5 数据库版本为 MySQL 5.5。
MYSQL_5_6 数据库版本为 MySQL 5.6。
MYSQL_5_7 数据库版本为 MySQL 5.7。
MYSQL_8_0 数据库版本为 MySQL 8。
MYSQL_8_0_18 数据库主要版本为 MySQL 8.0,次要版本为 18。
MYSQL_8_0_26 数据库主要版本为 MySQL 8.0,次要版本为 26。
MYSQL_8_0_27 数据库主要版本为 MySQL 8.0,次要版本为 27。
MYSQL_8_0_28 数据库主要版本为 MySQL 8.0,次要版本为 28。
MYSQL_8_0_29 数据库主要版本为 MySQL 8.0,次要版本为 29。
MYSQL_8_0_30 数据库主要版本为 MySQL 8.0,次要版本为 30。
MYSQL_8_0_31 数据库主要版本为 MySQL 8.0,次要版本为 31。
MYSQL_8_0_32 数据库主要版本为 MySQL 8.0,次要版本为 32。
MYSQL_8_0_33 数据库主要版本为 MySQL 8.0,次要版本为 33。
MYSQL_8_0_34 数据库主要版本为 MySQL 8.0,次要版本为 34。
MYSQL_8_0_35 数据库主要版本为 MySQL 8.0,次要版本为 35。
MYSQL_8_0_36 数据库主要版本为 MySQL 8.0,次要版本为 36。
MYSQL_8_0_37 数据库主要版本为 MySQL 8.0,次要版本为 37。
MYSQL_8_0_39 数据库主要版本为 MySQL 8.0,次要版本为 39。
MYSQL_8_0_40 数据库主要版本为 MySQL 8.0,次要版本为 40。
MYSQL_8_0_41 数据库主要版本为 MySQL 8.0,次要版本为 41。
MYSQL_8_0_42 数据库主要版本为 MySQL 8.0,次要版本为 42。
MYSQL_8_0_43 数据库主要版本为 MySQL 8.0,次要版本为 43。
MYSQL_8_0_44 数据库主要版本为 MySQL 8.0,次要版本为 44。
MYSQL_8_0_45 数据库主要版本为 MySQL 8.0,次要版本为 45。
MYSQL_8_0_46 数据库主要版本为 MySQL 8.0,次要版本为 46。
MYSQL_8_4 数据库版本为 MySQL 8.4。
MYSQL_9_7 数据库版本为 MySQL 9.7。
SQLSERVER_2017_STANDARD 数据库版本为 SQL Server 2017 Standard。
SQLSERVER_2017_ENTERPRISE 数据库版本为 SQL Server 2017 Enterprise。
SQLSERVER_2017_EXPRESS 数据库版本为 SQL Server 2017 Express。
SQLSERVER_2017_WEB 数据库版本为 SQL Server 2017 Web。
POSTGRES_9_6 数据库版本为 PostgreSQL 9.6。
POSTGRES_10 数据库版本为 PostgreSQL 10。
POSTGRES_11 数据库版本为 PostgreSQL 11。
POSTGRES_12 数据库版本为 PostgreSQL 12。
POSTGRES_13 数据库版本为 PostgreSQL 13。
POSTGRES_14 数据库版本为 PostgreSQL 14。
POSTGRES_15 数据库版本为 PostgreSQL 15。
POSTGRES_16 数据库版本为 PostgreSQL 16。
POSTGRES_17 数据库版本为 PostgreSQL 17。
POSTGRES_18 数据库版本为 PostgreSQL 18。
POSTGRES_19 数据库版本为 PostgreSQL 19。
POSTGRES_20 数据库版本为 PostgreSQL 20。
SQLSERVER_2019_STANDARD 数据库版本为 SQL Server 2019 Standard。
SQLSERVER_2019_ENTERPRISE 数据库版本为 SQL Server 2019 Enterprise。
SQLSERVER_2019_EXPRESS 数据库版本为 SQL Server 2019 Express。
SQLSERVER_2019_WEB 数据库版本为 SQL Server 2019 Web。
SQLSERVER_2022_STANDARD 数据库版本为 SQL Server 2022 Standard。
SQLSERVER_2022_ENTERPRISE 数据库版本为 SQL Server 2022 Enterprise。
SQLSERVER_2022_EXPRESS 数据库版本为 SQL Server 2022 Express。
SQLSERVER_2022_WEB 数据库版本为 SQL Server 2022 Web。
SQLSERVER_2025_STANDARD 数据库版本为 SQL Server 2025 Standard。
SQLSERVER_2025_ENTERPRISE 数据库版本为 SQL Server 2025 Enterprise。
SQLSERVER_2025_EXPRESS 数据库版本为 SQL Server 2025 Express。

MessageType

消息类型,可以是信息、警告或需要用户干预的错误。

枚举
MESSAGE_TYPE_UNSPECIFIED 默认未指定的值,可防止出现意外的行为变化。
INFO 无需采取行动的一般信息性消息。
WARNING 可能会影响升级但不会阻碍升级的警告。
ERROR 用户必须先解决这些错误,然后才能继续升级。

SqlMaintenanceType

要对实例执行的维护类型。

枚举
SQL_MAINTENANCE_TYPE_UNSPECIFIED 未指定维护类型。
INSTANCE_MAINTENANCE 表示独立实例正在进行维护。该实例可以是主实例,也可以是副本。
REPLICA_INCLUDED_MAINTENANCE 表示主实例及其所有副本(包括级联副本)正在进行维护。系统会先对副本组执行维护,然后再对主实例执行维护。
INSTANCE_SELF_SERVICE_MAINTENANCE 表示独立实例正在进行维护,由自助服务发起。该实例可以是主实例,也可以是副本。
REPLICA_INCLUDED_SELF_SERVICE_MAINTENANCE 表示主实例及其所有副本正在进行维护,由自助服务发起。系统会先对副本组执行维护,然后再对主实例执行维护。

工具注释

工具注释会发送给 MCP 客户端,用于描述指定工具的基本风险。大多数客户端会将这些提示视为不可信,但它们可用于决定何时向用户发送确认提示。

除了标题字符串之外,还定义了以下布尔值提示:

  • readOnlyHint:如果为 true,则该工具不会修改其环境。默认值:false。
  • destructiveHint:如果为 true,则该工具可以执行破坏性操作。如果为 false,则该工具只能执行添加操作。默认值:true。
  • idempotentHint:如果为 true,则使用相同实参重复调用该工具不会对其环境产生任何额外影响。默认值:false。
  • openWorldHint:如果为 true,则该工具可以与外部实体的“开放世界”进行交互。如果为 false,则该工具只能与内部实体互动。例如,网页搜索工具是开放世界工具,而内存工具不是开放世界工具。

破坏性提示:❌ | 等幂性提示:❌ | 只读提示:❌ | 开放世界提示:❌