Ferramenta: create_folder
Crie uma pasta do Dataform em um determinado projeto na nuvem e local do Google Cloud.
As pastas organizam os repositórios do Dataform em uma hierarquia. Criar uma pasta não move nenhum repositório para ela. Para colocar um repositório em uma pasta, defina o valor do parâmetro containing_folder ao usar a ferramenta create_repository.
Não tente mover um repositório para uma pasta usando a ferramenta update_repository. Depois que um repositório é criado, o campo containing_folder não pode ser modificado usando as ferramentas do MCP.
O valor de parâmetro parent precisa estar no formato projects/{project_id}/locations/{location}.
O valor do parâmetro folder.display_name é obrigatório e especifica o nome fácil de usar da pasta.
O exemplo de código a seguir mostra como usar curl para chamar a ferramenta MCP create_folder.
| Solicitação 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": "create_folder", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
Mensagem de solicitação CreateFolder.
CreateFolderRequest
| Representação JSON |
|---|
{
"parent": string,
"folder": {
object ( |
| Campos | |
|---|---|
parent |
Obrigatório. O local em que a pasta será criada. Precisa estar no formato |
folder |
Obrigatório. A pasta a ser criada. |
folderId |
Descontinuado: este campo não é usado. O nome do recurso é gerado automaticamente. O ID a ser usado na pasta, que se tornará o componente final do nome do recurso da pasta. |
Pasta
| Representação JSON |
|---|
{ "name": string, "displayName": string, "containingFolder": string, "teamFolderName": string, "createTime": string, "updateTime": string, // Union field |
| Campos | |
|---|---|
name |
Identificador. O nome da pasta. |
displayName |
Obrigatório. O nome fácil de usar da pasta. |
containingFolder |
Opcional. O nome do recurso da pasta que contém. Ele precisa estar no formato: projects/{project}/locations/{location}/folders/{folder}, projects/{project}/locations/{location}/teamFolders/{teamFolder} ou apenas "" se for uma pasta raiz. Este campo só pode ser atualizado usando "MoveFolder". |
teamFolderName |
Apenas saída. O nome do recurso da pasta de equipe associada a esta pasta. Ele precisa estar no formato: projects/{project}/locations/{location}/teamFolders/{teamFolder}. Se não estiver definido, a pasta não será associada a uma pasta do grupo e será uma pasta do usuário. |
createTime |
Apenas saída. O carimbo de data/hora de quando a pasta foi criada. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: |
updateTime |
Apenas saída. O carimbo de data/hora da última atualização da pasta. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: |
Campo de união
|
|
internalMetadata |
Apenas saída. Todas as informações de metadados usadas internamente para veicular o recurso. Por exemplo: carimbos de data/hora, flags, campos de status etc. O formato desse campo é uma string JSON. |
Campo de união
|
|
creatorIamPrincipal |
Apenas saída. O identificador principal do IAM do criador da pasta. |
Carimbo de data/hora
| Representação JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa os segundos do horário UTC desde a época Unix 1970-01-01T00:00:00Z. Precisa estar entre -62135596800 e 253402300799 (o que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
Frações não negativas de um segundo com resolução de nanossegundos. Esse campo é a parte de nanossegundos da duração, não uma alternativa aos segundos. Os valores de segundos negativos com frações ainda precisam ter valores em nanossegundos não negativos que representam períodos posteriores. O valor precisa ser de 0 a 999.999.999 (inclusive). |
Esquema de saída
Representa uma pasta do Dataform. É um recurso usado para organizar arquivos e outras pastas e fornecer controles de acesso hierárquicos.
Pasta
| Representação JSON |
|---|
{ "name": string, "displayName": string, "containingFolder": string, "teamFolderName": string, "createTime": string, "updateTime": string, // Union field |
| Campos | |
|---|---|
name |
Identificador. O nome da pasta. |
displayName |
Obrigatório. O nome fácil de usar da pasta. |
containingFolder |
Opcional. O nome do recurso da pasta que contém. Ele precisa estar no formato: projects/{project}/locations/{location}/folders/{folder}, projects/{project}/locations/{location}/teamFolders/{teamFolder} ou apenas "" se for uma pasta raiz. Este campo só pode ser atualizado usando "MoveFolder". |
teamFolderName |
Apenas saída. O nome do recurso da pasta de equipe associada a esta pasta. Ele precisa estar no formato: projects/{project}/locations/{location}/teamFolders/{teamFolder}. Se não estiver definido, a pasta não será associada a uma pasta do grupo e será uma pasta do usuário. |
createTime |
Apenas saída. O carimbo de data/hora de quando a pasta foi criada. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: |
updateTime |
Apenas saída. O carimbo de data/hora da última atualização da pasta. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: |
Campo de união
|
|
internalMetadata |
Apenas saída. Todas as informações de metadados usadas internamente para veicular o recurso. Por exemplo: carimbos de data/hora, flags, campos de status etc. O formato desse campo é uma string JSON. |
Campo de união
|
|
creatorIamPrincipal |
Apenas saída. O identificador principal do IAM do criador da pasta. |
Carimbo de data/hora
| Representação JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa os segundos do horário UTC desde a época Unix 1970-01-01T00:00:00Z. Precisa estar entre -62135596800 e 253402300799 (o que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
Frações não negativas de um segundo com resolução de nanossegundos. Esse campo é a parte de nanossegundos da duração, não uma alternativa aos segundos. Os valores de segundos negativos com frações ainda precisam ter valores em nanossegundos não negativos que representam períodos posteriores. O valor precisa ser de 0 a 999.999.999 (inclusive). |
Anotações de ferramentas
As anotações de ferramentas são enviadas aos clientes do MCP para descrever o risco básico de uma determinada ferramenta. A maioria dos clientes trata essas dicas como não confiáveis, mas elas podem ser usadas para decidir quando um pedido de confirmação pode ser enviado a um usuário.
Além da string de título, as seguintes dicas booleanas são definidas da seguinte maneira:
readOnlyHint: se for "true", a ferramenta não vai modificar o ambiente. Padrão: false.destructiveHint: se for "true", a ferramenta poderá realizar ações destrutivas. Se for "false", a ferramenta só poderá realizar ações aditivas. Padrão: verdadeiro.idempotentHint: se for "true", chamar a ferramenta repetidamente com os mesmos argumentos não terá efeito adicional no ambiente dela. Padrão: false.openWorldHint: se for "true", a ferramenta poderá interagir com um "mundo aberto" de entidades externas. Se for "false", a ferramenta só poderá interagir com entidades internas. Por exemplo, uma ferramenta de pesquisa na Web seria de mundo aberto, enquanto uma ferramenta de memória não seria.
Dica destrutiva: ❌ | Dica idempotente: ❌ | Dica somente leitura: ❌ | Dica de mundo aberto: ❌