Query e mutazione di Spacelift Graphql
Informazioni su GraphQL
GraphQL è un linguaggio di query per la tua API e un runtime lato server per l'esecuzione di query utilizzando un sistema di tipi che definisci per i tuoi dati. GraphQL non è legato a nessun database o motore di archiviazione specifico ed
è invece supportato dal codice e dai dati esistenti.
Tipi di operazione in GraphQL:
Query: le query vengono utilizzate per recuperare i dati.
La mutazione-mutazione viene utilizzata per modificare i dati lato server.
Query/mutazioni Spacelift Graphql:
Se il nome del tuo account spacelift è deployment , il tuo endpoint graphql spacelift sarà:
https://deployment.app.spacelift.io/graphql
Query — per recuperare i dati dal server Spacelift.
Mutazione: utilizzata per aggiornare i valori esistenti per le risorse del trasporto spaziale.
Strumento utilizzato per testare le richieste API: Insomnia
Impostazione del token sull'insonnia:
Accedi a spacelift utilizzando la CLI.
spacectl profile login deployment
Ottieni il token dalla CLI:
spacelctl profile export-token | pbcopy
quey per elencare tutte le chiavi API con autorizzazioni di amministratore/non amministratore nell'account Spacelift:
query {
apiKeys{id,admin}
}
Le query di Spacelift graphql sono semplici e facili da usare. In questo blog ci concentreremo sulla mutazione spacelift graphql. Quindi, come accennato in precedenza, la mutazione viene utilizzata per modificare/eliminare/creare le risorse esistenti su spacelift (es: creare/modificare/eliminare il contesto).
Struttura della mutazione Graphql:
mutation{
someEditOperation(dataField:”valueOfField”):returnType
}
Creazione di un contesto utilizzando la mutazione:
Nell'esempio seguente il tipo restituito è id e il nome del contesto creato. contextCreate mutazione accetta i dati inseriti come nome, descrizione, etichette, spazio.
Aggiunta di una variabile d'ambiente con nome e segreto al contesto appena creato.
Modifica il valore del contesto esistente:
In questo caso utilizzeremo l'operazione di mutazione contextConfigAdd per aggiornare il valore esistente del contesto precedente a xyz.
Comprendiamo lo schema cosa dobbiamo passare per eseguire questa operazione.
contextConfigAdd(context: ID!, config: ConfigInput!): ConfigElement!
mutation updateContext ($context: ID!, $ConfigInput: ConfigInput!) {
contextConfigAdd(context: $context, config: $ConfigInput) {id}
}
Le variabili di query semplificano le query e le mutazioni GraphQL consentendo di passare i dati separatamente.
{
“context”: “deployment-redis-secret-key”,
“ConfigInput”: {
“id”: “REDIS_SECRET_KEY”,
“value”: “xyz”,
“writeOnly”: true,
“type”: “ENVIRONMENT_VARIABLE”
}
}

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































