Consulta e mutação do Spacelift Graphql
Sobre o GraphQL
GraphQL é uma linguagem de consulta para sua API e um tempo de execução do lado do servidor para executar consultas usando um sistema de tipos que você define para seus dados. O GraphQL não está vinculado a nenhum banco de dados ou mecanismo de armazenamento específico e,
em vez disso, é apoiado por seu código e dados existentes.
Tipos de operação no GraphQL:
Consulta — as consultas são usadas para buscar os dados.
Mutação-mutação são usados para modificar os dados do lado do servidor.
Consulta/Mutações do Spacelift Graphql:
Se o nome da sua conta do spacelift for implantação , seu ponto de extremidade graphl do spacelift será:
https://deployment.app.spacelift.io/graphql
Query — para buscar os dados do servidor spacelift.
Mutação — Usado para atualizar os valores existentes para recursos de transporte espacial.
Ferramenta utilizada para testar as requisições da API: Insomnia
Configurando o token na insônia:
Entre no spacelift usando CLI.
spacectl profile login deployment
Obtenha o token da CLI:
spacelctl profile export-token | pbcopy
consulta para listar todas as chaves de API com permissões admin/nonadmin na conta Spacelift:
query {
apiKeys{id,admin}
}
As consultas do spacelift graphql são diretas e fáceis de usar. Neste blog, vamos nos concentrar na mutação graphql do spacelift. Assim, como mencionado anteriormente, a mutação é usada para modificar/excluir/criar os recursos existentes no spacelift (ex: criar/modificar/excluir contexto).
Graphql Estrutura de mutação:
mutation{
someEditOperation(dataField:”valueOfField”):returnType
}
Criando um contexto usando mutação:
No exemplo abaixo, o tipo de retorno é id e nome do contexto criado. A mutação contextCreate aceita a entrada de dados como nome, descrição, rótulos, espaço.
Adicionando uma variável de ambiente com nome e segredo ao contexto recém-criado.
Modifique o valor do Contexto existente:
Nesse caso, usaremos a operação de mutação contextConfigAdd para atualizar o valor existente do contexto acima para xyz.
Vamos entender o esquema que temos que passar para realizar esta operação.
contextConfigAdd(context: ID!, config: ConfigInput!): ConfigElement!
mutation updateContext ($context: ID!, $ConfigInput: ConfigInput!) {
contextConfigAdd(context: $context, config: $ConfigInput) {id}
}
As variáveis de consulta simplificam as consultas e mutações do GraphQL, permitindo que você passe dados separadamente.
{
“context”: “deployment-redis-secret-key”,
“ConfigInput”: {
“id”: “REDIS_SECRET_KEY”,
“value”: “xyz”,
“writeOnly”: true,
“type”: “ENVIRONMENT_VARIABLE”
}
}





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)