MCP Tools Reference: dataform.googleapis.com

도구: list_repositories

특정 Google Cloud 프로젝트와 위치의 Dataform 저장소를 나열합니다.

parent 매개변수 값은 projects/{project_id}/locations/{location} 형식이어야 합니다.

다음 샘플은 curl를 사용하여 list_repositories MCP 도구를 호출하는 방법을 보여줍니다.

curl 요청
                  
curl --location 'https://dataform.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "list_repositories",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

입력 스키마

ListRepositories 요청 메시지입니다.

ListRepositoriesRequest

JSON 표현
{
  "parent": string,
  "pageSize": integer,
  "pageToken": string,
  "orderBy": string,
  "filter": string
}
필드
parent

string

필수 항목입니다. 저장소를 나열할 위치입니다. projects/*/locations/* 형식이어야 합니다.

pageSize

integer

선택사항입니다. 반환할 최대 저장소 수입니다. 서버에서 요청한 것보다 적은 항목을 반환할 수 있습니다. 지정하지 않으면 서버에서 적절한 기본값을 선택합니다.

pageToken

string

선택사항입니다. 이전 ListRepositories 호출에서 받은 페이지 토큰입니다. 후속 페이지를 검색하려면 이를 입력합니다.

페이지로 나누는 경우 page_size을 제외하고 ListRepositories에 제공된 다른 모든 매개변수가 페이지 토큰을 제공한 호출과 일치해야 합니다.

orderBy

string

선택사항입니다. 이 필드는 name에 의한 정렬만 지원합니다. 지정하지 않으면 서버에서 순서를 선택합니다. 지정된 경우 name 필드의 기본 순서는 오름차순입니다.

filter

string

선택사항입니다. 반환된 목록의 필터입니다.

출력 스키마

ListRepositories 응답 메시지입니다.

ListRepositoriesResponse

JSON 표현
{
  "repositories": [
    {
      object (Repository)
    }
  ],
  "nextPageToken": string,
  "unreachable": [
    string
  ]
}
필드
repositories[]

object (Repository)

저장소 목록입니다.

nextPageToken

string

다음 페이지를 검색하기 위해 page_token으로 전송할 수 있는 토큰입니다. 이 필드를 생략하면 후속 페이지가 표시되지 않습니다.

unreachable[]

string

도달할 수 없는 위치입니다.

저장소

JSON 표현
{
  "name": string,
  "createTime": string,
  "displayName": string,
  "gitRemoteSettings": {
    object (GitRemoteSettings)
  },
  "npmrcEnvironmentVariablesSecretVersion": string,
  "workspaceCompilationOverrides": {
    object (WorkspaceCompilationOverrides)
  },
  "labels": {
    string: string,
    ...
  },
  "setAuthenticatedUserAdmin": boolean,
  "serviceAccount": string,
  "kmsKeyName": string,
  "dataEncryptionState": {
    object (DataEncryptionState)
  },

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

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

  // Union field _internal_metadata can be only one of the following:
  "internalMetadata": string
  // End of list of possible types for union field _internal_metadata.
}
필드
name

string

식별자. 저장소 이름입니다.

createTime

string (Timestamp format)

출력 전용입니다. 저장소가 생성된 시점의 타임스탬프입니다.

생성된 출력은 항상 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"입니다.

displayName

string

선택사항입니다. 저장소의 사용자 친화적인 이름입니다.

gitRemoteSettings

object (GitRemoteSettings)

선택사항입니다. 설정된 경우 이 저장소가 Git 원격 저장소에 연결되도록 구성합니다.

npmrcEnvironmentVariablesSecretVersion

string

선택사항입니다. 패키지 설치 작업을 위해 변수를 .npmrc 파일에 삽입하는 데 사용할 Secret Manager 보안 비밀 버전의 이름입니다. projects/*/secrets/*/versions/* 형식이어야 합니다. 파일 자체는 JSON 형식이어야 합니다.

workspaceCompilationOverrides

object (WorkspaceCompilationOverrides)

선택사항입니다. 설정된 경우 workspace_compilation_overrides 필드는 작업공간 범위 컴파일 결과를 만들 때 dataform.json에 지정된 기본 컴파일 설정을 재정의합니다. 자세한 내용은 WorkspaceCompilationOverrides 문서를 참고하세요.

labels

map (key: string, value: string)

선택사항입니다. 저장소 사용자 라벨입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

setAuthenticatedUserAdmin

boolean

선택사항입니다. 입력 전용입니다. true로 설정하면 인증된 사용자에게 생성된 저장소에 대한 roles/dataform.admin 역할이 부여됩니다. 나중에 생성된 저장소에 대한 액세스 권한을 수정하려면 https://cloud.google.com/dataform/reference/rest#rest-resource:-v1beta1.projects.locations.repositories에서 setIamPolicy를 적용하세요.

serviceAccount

string

선택사항입니다. 워크플로 호출을 실행할 서비스 계정입니다.

kmsKeyName

string

선택사항입니다. KMS 암호화 키에 대한 참조입니다. 제공된 경우 저장소 및 모든 하위 리소스의 사용자 데이터를 암호화하는 데 사용됩니다. 저장소를 만든 후에는 암호화 키를 추가하거나 업데이트할 수 없습니다. 예: projects/{kms_project}/locations/{location}/keyRings/{key_location}/cryptoKeys/{key}

dataEncryptionState

object (DataEncryptionState)

출력 전용입니다. 이 저장소가 KMS 키로 보호되는 경우 Git 저장소의 데이터 암호화 상태입니다.

통합 필드 _containing_folder.

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

containingFolder

string

선택사항입니다. 저장소의 포함 폴더 이름입니다. 이 필드는 변경할 수 없으며 MoveRepository 작업을 통해 수정할 수 있습니다. 형식은 projects/*/locations/*/folders/*입니다. 또는 projects/*/locations/*/teamFolders/*입니다.

통합 필드 _team_folder_name.

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

teamFolderName

string

출력 전용입니다. 이 저장소가 연결된 TeamFolder의 리소스 이름입니다. projects/{project}/locations/{location}/teamFolders/{teamFolder} 형식이어야 합니다. 이 값이 설정되지 않으면 저장소가 TeamFolder와 연결되지 않습니다.

통합 필드 _internal_metadata.

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

internalMetadata

string

출력 전용입니다. 리소스를 제공하기 위해 내부적으로 사용되는 모든 메타데이터 정보입니다. 예: 타임스탬프, 플래그, 상태 필드 등 이 필드의 형식은 JSON 문자열입니다.

타임스탬프

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(포함) 사이여야 합니다.

GitRemoteSettings

JSON 표현
{
  "url": string,
  "defaultBranch": string,
  "effectiveDefaultBranch": string,
  "authenticationTokenSecretVersion": string,
  "sshAuthenticationConfig": {
    object (SshAuthenticationConfig)
  },
  "tokenStatus": enum (TokenStatus),

  // Union field _git_repository_link can be only one of the following:
  "gitRepositoryLink": string
  // End of list of possible types for union field _git_repository_link.
}
필드
url

string

필수 항목입니다. Git 원격의 URL입니다.

defaultBranch

string

선택사항입니다. Git 원격의 기본 브랜치 이름입니다. 설정하지 않으면 main이 사용됩니다.

effectiveDefaultBranch

string

출력 전용입니다. Git 원격의 유효 기본 브랜치 이름입니다. 설정된 경우 Git 원격의 기본 브랜치 이름입니다. 그렇지 않으면 main입니다.

authenticationTokenSecretVersion

string

선택사항입니다. Git 작업의 인증 토큰으로 사용할 Secret Manager 보안 비밀 버전의 이름입니다. projects/*/secrets/*/versions/* 형식이어야 합니다.

sshAuthenticationConfig

object (SshAuthenticationConfig)

선택사항입니다. SSH 프로토콜을 사용하는 원격 URI의 인증 필드입니다.

tokenStatus
(deprecated)

enum (TokenStatus)

출력 전용입니다. 지원 중단됨: 필드에 토큰 상태 정보가 포함되어 있지 않습니다. 대신 https://cloud.google.com/dataform/reference/rest/v1beta1/projects.locations.repositories/computeAccessTokenStatus를 사용하세요.

통합 필드 _git_repository_link.

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

gitRepositoryLink

string

선택사항입니다. 머신 사용자 인증 정보에 사용되는 GitRepositoryLink의 리소스 이름입니다. projects/*/locations/*/connections/*/gitRepositoryLinks/* 형식이어야 합니다.

SshAuthenticationConfig

JSON 표현
{
  "userPrivateKeySecretVersion": string,
  "hostPublicKey": string
}
필드
userPrivateKeySecretVersion

string

필수 항목입니다. Git 작업의 ssh 비공개 키로 사용할 Secret Manager 보안 비밀 버전의 이름입니다. projects/*/secrets/*/versions/* 형식이어야 합니다.

hostPublicKey

string

필수 항목입니다. 원격 Git 호스트의 ID를 확인하는 공개 SSH 키의 콘텐츠입니다.

WorkspaceCompilationOverrides

JSON 표현
{
  "defaultDatabase": string,
  "schemaSuffix": string,
  "tablePrefix": string
}
필드
defaultDatabase

string

선택사항입니다. 기본 데이터베이스(Google Cloud 프로젝트 ID)입니다.

schemaSuffix

string

선택사항입니다. 모든 스키마 (BigQuery 데이터 세트 ID) 이름에 추가해야 하는 서픽스입니다.

tablePrefix

string

선택사항입니다. 모든 테이블 이름 앞에 추가되어야 하는 프리픽스입니다.

LabelsEntry

JSON 표현
{
  "key": string,
  "value": string
}
필드
key

string

value

string

DataEncryptionState

JSON 표현
{
  "kmsKeyVersionName": string
}
필드
kmsKeyVersionName

string

필수 항목입니다. 리소스의 데이터가 암호화되는 KMS 키 버전 이름입니다.

TokenStatus

인증 토큰의 상태입니다.

열거형
TOKEN_STATUS_UNSPECIFIED 기본값 이 값은 사용되지 않습니다.
NOT_FOUND Secret Manager에서 토큰을 찾을 수 없거나 Dataform 서비스 계정에 액세스 권한이 없습니다.
INVALID 토큰을 사용하여 Git 원격 저장소를 인증할 수 없습니다.
VALID 토큰이 Git 원격에 대해 인증하는 데 사용되었습니다.

도구 주석

파괴적 힌트: ❌ | 멱등성 힌트: ✅ | 읽기 전용 힌트: ✅ | 오픈 월드 힌트: ❌