Zapytanie i mutacja Spacelift Graphql
O GraphQL
GraphQL to język zapytań dla twojego API i środowisko uruchomieniowe po stronie serwera do wykonywania zapytań przy użyciu systemu typów, który zdefiniujesz dla swoich danych. GraphQL nie jest powiązany z żadną konkretną bazą danych ani silnikiem pamięci masowej, a
zamiast tego jest wspierany przez istniejący kod i dane.
Rodzaje operacji w GraphQL:
Query — zapytania służą do pobierania danych.
Mutacja- mutacja służy do modyfikacji danych po stronie serwera.
Zapytanie/mutacje Spacelift Graphql:
Jeśli nazwą konta Spacelift jest wdrożenie , punktem końcowym graphql Spacelift będzie:
https://deployment.app.spacelift.io/graphql
Zapytanie — do pobierania danych z serwera kosmicznego.
Mutacja — używana do aktualizacji istniejących wartości zasobów transportu kosmicznego.
Narzędzie używane do testowania żądań API: Insomnia
Konfigurowanie Tokena na Insomnia:
Zaloguj się do windy kosmicznej za pomocą interfejsu CLI.
spacectl profile login deployment
Pobierz token z CLI:
spacelctl profile export-token | pbcopy
prośba o listę wszystkich kluczy API z uprawnieniami administratora/nieadministratora na koncie Spacelift:
query {
apiKeys{id,admin}
}
Zapytania Spacelift graphql są proste i łatwe w użyciu. W tym blogu skupimy się na mutacji graphql w zakresie spacelift. Tak więc, jak wspomniano wcześniej, mutacja służy do modyfikowania/usuwania/tworzenia istniejących zasobów w spacelift (np. Tworzenie/modyfikowanie/usuwanie kontekstu).
Struktura mutacji Graphql:
mutation{
someEditOperation(dataField:”valueOfField”):returnType
}
Tworzenie kontekstu za pomocą mutacji:
W poniższym przykładzie zwracanym typem jest id i nazwa utworzonego kontekstu. mutacja contextCreate pobiera dane wejściowe jako nazwę, opis, etykiety, spację.
Dodanie zmiennej środowiskowej z nazwą i sekretem do nowo utworzonego kontekstu.
Zmodyfikuj wartość istniejącego kontekstu:
W tym przypadku użyjemy operacji mutacji contextConfigAdd , aby zaktualizować istniejącą wartość powyższego kontekstu do xyz.
Przyjrzyjmy się schematowi, co musimy przekazać, aby wykonać tę operację.
contextConfigAdd(context: ID!, config: ConfigInput!): ConfigElement!
mutation updateContext ($context: ID!, $ConfigInput: ConfigInput!) {
contextConfigAdd(context: $context, config: $ConfigInput) {id}
}
Zmienne zapytań upraszczają zapytania i mutacje GraphQL, umożliwiając osobne przekazywanie danych.
{
“context”: “deployment-redis-secret-key”,
“ConfigInput”: {
“id”: “REDIS_SECRET_KEY”,
“value”: “xyz”,
“writeOnly”: true,
“type”: “ENVIRONMENT_VARIABLE”
}
}

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































