Utilisation d'Elasticsearch pour vérifier si un alias existe

Utilisation d'Elasticsearch pour vérifier si un alias existe

Dans ce bref article, nous vous montrerons comment utiliser l'API Elasticsearch Alias ​​pour vérifier si un alias existe dans le cluster. Il est bon de s'assurer qu'un index existe avant de l'utiliser dans une requête. Il peut également être bénéfique pour empêcher un alias de référencer un index similaire pour empêcher les collisions de noms.

Plongeons-nous dans.

Demander une syntaxe

Le bloc suivant montre l'alias de demande pour le point de terminaison de l'API:

Tête _alias /
Tête / _alias /

La demande accepte les paramètres suivants:

  1. - Spécifie une liste d'alias à vérifier (en tant que valeurs séparées par des virgules). Vous pouvez également spécifier un astérisque en tant que caractère générique pour désigner tous les alias dans le cluster.
  2. - Spécifie une liste de flux de données ou d'indices utilisés pour limiter la demande cible. Vous pouvez également utiliser un astérisque ou un peu de joker.

Demander des réponses

La demande renvoie les codes d'état HTTP correspondants comme indiqué:

  1. 200 - Tous les alias spécifiés existent dans le cluster.
  2. 404 - Un ou plusieurs alias n'existent pas dans le cluster.

Exemple

Illustrons comment utiliser cette API. Supposons que nous ayons un index appelé Netflix qui contient des films et des émissions de télévision.

Nous pouvons commencer par créer un alias pour l'index comme indiqué dans ce qui suit:

curl -xpost "http: // localhost: 9200 / _aliases" -h "kbn-xsrf: reporting" -h "contenu-type: application / json" -d '

"Actions": [

"ajouter":
"index": "netflix",
"alias": "ntflx"


]]
'

Nous pouvons ensuite vérifier si l'alias existe comme indiqué dans les éléments suivants:

curl -xhead "http: // localhost: 9200 / _alias / ntflx" -h "kbn-xsrf: reportage"

La sortie résultante est la suivante:

200 - OK

Si nous demandons un alias inexistant:

curl -xhead "http: // localhost: 9200 / _alias / nf" -h "kbn-xsrf: reporting"

La demande précédente doit renvoyer un code d'état 404 comme:


"Statuscode": 404,
"Erreur non trouvée",
"message": "404 - non trouvé"

Dans ce cas, l'index n'existe pas dans le cluster.

Nous pouvons également vérifier les multiples alias comme indiqué dans les éléments suivants:

curl -xhead "http: // localhost: 9200 / _alias / ntflx, netflix_alias" -h "kbn-xsrf: reportage"

La sortie résultante est la suivante:

200 - OK

Dans ce cas, nous pouvons vérifier que les deux alias existent dans le cluster.

Si un alias n'existe pas, la demande renvoie un code 404-statut.

Conclusion

Dans cet article, nous avons discuté de la façon d'utiliser l'API Elasticsearch Alias ​​avec la méthode Head pour vérifier si un alias spécifique existe dans le cluster.

Merci d'avoir lu!