J'essaie de créer une politique de gestion du cycle de vie des index (ilm) à partir du client Elastic Golang Olivere pour supprimer les index de plus de 3 mois (en utilisant le mode "index quotidien"). Des choses comme ça :
{ "policy": { "phases": { "delete": { "min_age": "90d", "actions": { "delete": {} } } } } }
Je peux voir une structure comme celle-ci dans le code source de la bibliothèque : xpackilmputlifecycleservice, qui contient les champs suivants :
type XPackIlmPutLifecycleService struct { client *Client pretty *bool // pretty format the returned JSON response human *bool // return human readable values for statistics errorTrace *bool // include the stack trace of returned errors filterPath []string // list of filters used to reduce the response headers http.Header // custom request-level HTTP headers policy string timeout string masterTimeout string flatSettings *bool bodyJson interface{} bodyString string }
Voici le lien de documentation. Cependant, je ne sais pas comment créer une stratégie pour l'utiliser pour faire le travail, car il semble manquer certains champs (comme min_age
définir le ttl de l'index). Quelle est la bonne façon de créer une politique ilm via ce client.
peut se référer au code du test ! Fondamentalement, vous pouvez mettre json dans le champ body.
testPolicyName := "test-policy" body := `{ "policy": { "phases": { "delete": { "min_age": "90d", "actions": { "delete": {} } } } } }` // Create the policy putilm, err := client.XPackIlmPutLifecycle().Policy(testPolicyName).BodyString(body).Do(context.TODO())
https://github.com /olivere/elastic/blob/release-branch.v7/xpack_ilm_test.go#l15-l31
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!