我想检查以下属性是否存在路径:

s3_bucket = node['elastic']['s3']['bucket']

这是json:
"elastic": {
   "version": "5.4.1",
   "cluster": "cluster-dev",
   "node": "node1",
   "host": "localhost",
   "port": 9201,
   "username": "elasticsearch",
   "groupname": "elasticsearch",
   "s3" : {
      "bucket": "hello"
   }
}

字段S3可能不存在于环境中,并且我想在获取属性桶之前检查它。我该怎么做?

最佳答案

对于较新的厨师,您可以使用node.read方法:

s3_bucket = node.read('elastic', 's3', 'bucket')

如果不存在任何中间键,则为nil

关于ruby - 厨师节点属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46884412/

10-16 09:35