以编程方式设置索引的read_only_allow_delete属性

问题描述 投票:0回答:1

我正在尝试执行以下行,但它会抛出一个错误(我应该通过运行相同的代码来避免):

   es.indices.put_settings(index="demo_index", body={
        "blocks": {
            "read_only_allow_delete": "false"
        }
    })

错误:elasticsearch.exceptions.AuthorizationException:AuthorizationException(403,'cluster_block_exception','block by:[FORBIDDEN / 12 / index read-only / allow delete(api)];')

我通过使用curl触发相同的查询,它已成功执行,我没有错误:

curl -XPUT 'localhost:9200/demo_index/_settings' -H 'Content-Type: application/json' -d '{ "index": { "blocks": { "read_only_allow_delete": "false" } } }'

我也尝试使用“null”而不是“false”,但我得到了相同的结果。任何的想法?

elasticsearch elasticsearch-dsl elasticsearch-dsl-py
1个回答
1
投票

我没有足够的声誉来添加评论,但您是否尝试用body包装index参数以匹配curl命令?

es.indices.put_settings(index="demo_index", body={
        "index": {
            "blocks": {
                "read_only_allow_delete": "false"
            }
        }
    })
© www.soinside.com 2019 - 2024. All rights reserved.