MCP Tools Reference: cloud-sql

도구: import_data

Cloud SQL 인스턴스로 데이터를 가져옵니다.

파일이 gs://로 시작하지 않으면 파일이 로컬에 저장된 것으로 간주됩니다. 파일이 로컬인 경우 실제 import_data 호출을 하기 전에 파일을 Cloud Storage에 업로드해야 합니다. 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 파일인 경우 CSV 파일의 .sql 또는 .csv입니다.

다음은 MySQL용 샘플 SQL importContext입니다.

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

데이터베이스 이름이 SQL 파일에 있어야 하므로 MySQL에는 database 파라미터가 없습니다. 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 tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

입력 스키마

인스턴스 가져오기 요청입니다.

SqlInstancesImportRequest

JSON 표현
{
  "instance": string,
  "project": string,
  "body": {
    object (InstancesImportRequest)
  }
}
필드
instance

string

Cloud SQL 인스턴스 ID. 여기에는 프로젝트 ID가 포함되지 않습니다.

project

string

인스턴스가 포함된 프로젝트의 프로젝트 ID입니다.

body

object (InstancesImportRequest)

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 형식의 가져오기 파일 경로입니다. fileTypeSQL인 경우 압축된 gzip 파일 (.gz)이 지원됩니다. 인스턴스에 버킷에 대한 쓰기 권한과 파일에 대한 읽기 권한이 있어야 합니다.

database

string

가져올 대상 데이터베이스입니다. fileTypeSQL인 경우 가져오기 파일이 데이터베이스를 지정하지 않고 가져오기 파일의 데이터베이스 사양으로 재정의되는 경우에만 이 필드가 필요합니다. 전체 인스턴스 동시 가져오기 작업의 경우 데이터베이스는 하위 디렉터리 이름에 저장된 데이터베이스 이름으로 재정의됩니다. fileTypeCSV인 경우 하나의 데이터베이스를 지정해야 합니다.

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

복원되는 백업 세트가 스트라이프인지 여부입니다. SQL Server용 Cloud SQL에만 적용됩니다.

noRecovery

boolean

백업 가져오기가 NORECOVERY 옵션으로 데이터베이스를 복원하는지 여부입니다. SQL Server용 Cloud SQL에만 적용됩니다.

recoveryOnly

boolean

백업 가져오기 요청이 Bak 콘텐츠를 다운로드하지 않고 데이터베이스를 온라인 상태로만 전환할지 여부입니다. 'no_recovery'와 'recovery_only' 중 하나만 true일 수 있으며, 그렇지 않으면 오류가 반환됩니다. SQL Server용 Cloud SQL에만 적용됩니다.

bakType

enum (BakType)

bak 콘텐츠 유형(FULL 또는 DIFF)

stopAt

string (Timestamp format)

선택사항입니다. 가져오기가 중지되어야 하는 타임스탬프입니다. 이 타임스탬프는 RFC 3339 형식입니다 (예: 2023-10-01T16:19:00.094). 이 필드는 STOPAT 키워드와 동일하며 Cloud SQL for SQL Server에만 적용됩니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

stopAtMark

string

선택사항입니다. 가져오기를 중지해야 하는 표시된 트랜잭션입니다. 이 필드는 STOPATMARK 키워드와 동일하며 SQL Server용 Cloud SQL에만 적용됩니다.

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

불리언 값입니다.

타임스탬프

JSON 표현
{
  "seconds": string,
  "nanos": integer
}
필드
seconds

string (int64 format)

Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -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)

선택사항입니다. PostgreSQL용 Cloud SQL 인스턴스에서 가져오기 옵션입니다.

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

필수 항목입니다. gs://bucketName/fileName 형식의 TDE 인증서 공개 키 경로입니다. 인스턴스에 파일에 대한 읽기 권한이 있어야 합니다. SQL Server 인스턴스에만 적용됩니다.

privateKeyPath

string

필수 항목입니다. TDE 인증서 비공개 키의 경로(gs://bucketName/fileName 형식)입니다. 인스턴스에 파일에 대한 읽기 권한이 있어야 합니다. SQL Server 인스턴스에만 적용됩니다.

privateKeyPassword

string

필수 항목입니다. 비공개 키를 암호화하는 비밀번호입니다.

name

string

필수 항목입니다. 인증서 이름입니다. SQL Server 인스턴스에만 적용됩니다.

출력 스키마

작업 리소스입니다. 작업이 성공하여 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)
  },
  "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).

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

startTime

string (Timestamp format)

이 작업이 RFC 3339 형식으로 실제로 시작된 UTC 시간입니다(예: 2012-11-15T16:19:00.094Z).

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

endTime

string (Timestamp format)

이 작업이 UTC 시간대의 RFC 3339 형식으로 완료된 시간입니다(예: 2012-11-15T16:19:00.094Z).

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. '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 메시지 자체에는 업그레이드의 타겟 데이터베이스 버전, 확인 결과 (발견된 경고 또는 오류 포함)와 같은 사전 확인 세부정보가 포함됩니다.

name

string

작업을 고유하게 식별하는 식별자입니다. 이 식별자를 사용하여 작업에 관한 정보가 있는 Operations 리소스를 가져올 수 있습니다.

targetId

string

이 작업이 실행되는 리소스의 이름입니다.

selfLink

string

이 리소스의 URI입니다.

targetProject

string

이 작업과 관련된 타겟 인스턴스의 프로젝트 ID입니다.

acquireSsrsLeaseContext

object (AcquireSsrsLeaseContext)

SSRS 임대 획득 작업의 컨텍스트입니다(해당하는 경우).

subOperationType

object (SqlSubOperationType)

선택사항입니다. 작업 유형에 따른 하위 작업입니다.

타임스탬프

JSON 표현
{
  "seconds": string,
  "nanos": integer
}
필드
seconds

string (int64 format)

Unix epoch 1970-01-01T00:00:00Z 이후 UTC 시간의 초 단위로 표현합니다. -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 형식의 가져오기 파일 경로입니다. fileTypeSQL인 경우 압축된 gzip 파일 (.gz)이 지원됩니다. 인스턴스에 버킷에 대한 쓰기 권한과 파일에 대한 읽기 권한이 있어야 합니다.

database

string

가져올 대상 데이터베이스입니다. fileTypeSQL인 경우 가져오기 파일이 데이터베이스를 지정하지 않고 가져오기 파일의 데이터베이스 사양으로 재정의되는 경우에만 이 필드가 필요합니다. 전체 인스턴스 동시 가져오기 작업의 경우 데이터베이스는 하위 디렉터리 이름에 저장된 데이터베이스 이름으로 재정의됩니다. fileTypeCSV인 경우 하나의 데이터베이스를 지정해야 합니다.

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

복원되는 백업 세트가 스트라이프인지 여부입니다. SQL Server용 Cloud SQL에만 적용됩니다.

noRecovery

boolean

백업 가져오기가 NORECOVERY 옵션으로 데이터베이스를 복원하는지 여부입니다. SQL Server용 Cloud SQL에만 적용됩니다.

recoveryOnly

boolean

백업 가져오기 요청이 Bak 콘텐츠를 다운로드하지 않고 데이터베이스를 온라인 상태로만 전환할지 여부입니다. 'no_recovery'와 'recovery_only' 중 하나만 true일 수 있으며, 그렇지 않으면 오류가 반환됩니다. SQL Server용 Cloud SQL에만 적용됩니다.

bakType

enum (BakType)

bak 콘텐츠 유형(FULL 또는 DIFF)

stopAt

string (Timestamp format)

선택사항입니다. 가져오기가 중지되어야 하는 타임스탬프입니다. 이 타임스탬프는 RFC 3339 형식입니다 (예: 2023-10-01T16:19:00.094). 이 필드는 STOPAT 키워드와 동일하며 Cloud SQL for SQL Server에만 적용됩니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

stopAtMark

string

선택사항입니다. 가져오기를 중지해야 하는 표시된 트랜잭션입니다. 이 필드는 STOPATMARK 키워드와 동일하며 SQL Server용 Cloud SQL에만 적용됩니다.

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)

선택사항입니다. PostgreSQL용 Cloud SQL 인스턴스에서 가져오기 옵션입니다.

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

필수 항목입니다. gs://bucketName/fileName 형식의 TDE 인증서 공개 키 경로입니다. 인스턴스에 파일에 대한 읽기 권한이 있어야 합니다. 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 형식입니다. 파일이 이미 있으면 요청은 성공하지만 작업은 실패합니다. fileTypeSQL이고 파일 이름이 .gz로 끝나면 콘텐츠가 압축됩니다.

databases[]

string

내보낼 데이터베이스입니다.
MySQL instances: fileTypeSQL이고 데이터베이스가 지정되지 않은 경우 mysql 시스템 데이터베이스를 제외한 모든 데이터베이스가 내보내집니다. fileTypeCSV이면 이 속성을 사용하거나 이 속성보다 우선하는 csvExportOptions.selectQuery 속성을 사용하여 데이터베이스를 하나 지정할 수 있습니다.
PostgreSQL instances: 이름으로 데이터베이스를 지정하지 않으면 인스턴스의 모든 사용자 데이터베이스가 내보내집니다. 여기에는 내부 작업을 관리하는 데 사용되는 시스템 데이터베이스와 Cloud SQL 데이터베이스는 포함되지 않습니다. 모든 사용자 데이터베이스 내보내기는 디렉터리 형식의 동시 내보내기에서만 사용할 수 있습니다. fileTypeCSV인 경우 이 데이터베이스는 csvExportOptions.selectQuery 속성에 지정된 데이터베이스와 일치해야 합니다.
SQL Server instances: 내보낼 데이터베이스를 하나 지정해야 하며 fileTypeBAK이어야 합니다.

kind

string

항상 sql#exportContext입니다.

sqlExportOptions

object (SqlExportOptions)

데이터를 SQL 문으로 내보내기 옵션입니다.

csvExportOptions

object (SqlCsvExportOptions)

데이터를 CSV로 내보내기 옵션입니다. MySQLPostgreSQL 인스턴스만 해당

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)

선택사항입니다. PostgreSQL용 Cloud SQL 인스턴스에서 내보내기 옵션입니다.

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

내보내기에 사용할 스트라이프 수를 지정하는 옵션입니다. 비워두고 striped 필드의 값이 true이면 줄무늬 수가 자동으로 선택됩니다.

bakType

enum (BakType)

이 bak 파일의 유형은 export, FULL 또는 DIFF입니다(SQL Server만 해당).

copyOnly
(deprecated)

boolean

지원 중단됨: copy_only가 지원 중단되었습니다. 대신 differential_base 사용

differentialBase

boolean

백업을 차등 기준 사본으로 사용할 수 있는지 여부입니다. copy_only 백업은 차등 기준으로 제공될 수 없습니다.

exportLogStartTime

string (Timestamp format)

선택사항입니다. 트랜잭션 로그가 내보내기 작업에 포함될 시작 타임스탬프입니다. UTC의 RFC 3339 형식 (예: 2023-10-01T16:19:00.094) 생략하면 보관 기간 시작부터 사용 가능한 모든 로그가 포함됩니다. SQL Server용 Cloud SQL에만 적용됩니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

exportLogEndTime

string (Timestamp format)

선택사항입니다. 트랜잭션 로그가 내보내기 작업에 포함되는 종료 타임스탬프입니다. UTC의 RFC 3339 형식 (예: 2023-10-01T16:19:00.094) 생략하면 현재 시간까지 사용 가능한 모든 로그가 포함됩니다. SQL Server용 Cloud SQL에만 적용됩니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. '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

필수 항목입니다. gs://bucketName/fileName 형식의 TDE 인증서 공개 키 경로입니다. 인스턴스에 버킷에 대한 쓰기 액세스 권한이 있어야 합니다. 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
}
필드
targetDatabaseVersion

enum (SqlDatabaseVersion)

필수 항목입니다. 업그레이드할 대상 데이터베이스 버전입니다.

preCheckResponse[]

object (PreCheckResponse)

출력 전용입니다. 사전 확인 작업의 응답입니다.

kind

string

선택사항입니다. 항상 sql#preCheckMajorVersionUpgradeContext입니다.

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

사용자가 취해야 하는 조치입니다. 여러 작업에 대해 반복 사용

통합 필드 _message.

_message는 다음 중 하나여야 합니다.

message

string

사용자에게 표시할 메시지입니다.

통합 필드 _message_type.

_message_type는 다음 중 하나여야 합니다.

messageType

enum (MessageType)

정보, 경고, 오류 등 메시지 유형입니다.

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 설정에 필요한 임대 기간입니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

기간

JSON 표현
{
  "seconds": string,
  "nanos": integer
}
필드
seconds

string (int64 format)

시간 범위의 부호가 있는 초입니다. -315,576,000,000~+315,576,000,000(포함) 사이여야 합니다. 참고: 이 범위는 60초/분 * 60분/시간 * 24시간/일 * 365.25일/년 * 10,000년에서 계산됩니다.

nanos

integer

시간 범위의 나노초 단위로 된 부호가 있는 초수입니다. 1초 미만의 기간은 0 seconds 필드와 양수 또는 음수 nanos 필드로 표현됩니다. 1초 이상의 기간의 경우 nanos 필드의 0이 아닌 값은 seconds 필드와 부호가 같아야 합니다. -999,999,999~+999,999,999(포함) 사이여야 합니다.

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)

인스턴스에서 실행할 유지보수의 유형입니다.

도구 주석

파괴적 힌트: ❌ | 동일한 힌트: ❌ | 읽기 전용 힌트: ❌ | 오픈 월드 힌트: ❌