在适用于Node JS的Google Cloud Compute库中,如何在options.filter方法中将正则表达式与getVMs一起使用进行过滤?

文件:https://googlecloudplatform.github.io/google-cloud-node/#/docs/compute/0.7.1/compute?method=getVMs

我在下面的尝试返回一个空数组,并且在文档中还没有明确的示例(但!)。我的目标是获得一个以“前缀”开头的实例。

有101个实例,这是第101个实例。

compute.getVMs({
    maxResults: 100,
    filter: 'name eq ^prefix'
});



  以{名称} {比较} {filterString}的格式搜索过滤器。
  name:要比较的字段名称
  比较:比较运算符,eq(等于)或ne(不等于)
  filterString:要过滤的字符串。对于字符串字段,这可以是正则表达式。

最佳答案

模式结尾处缺少“。$”。基本上,您需要指定要“匹配以'prefix'开头的字符串,然后是'prefix'之后的任意数量的字符,直到整个字符串的末尾”。您可以禁止'整个字符串结尾'特殊字符($),但不能禁止'匹配任意数量的字符'特殊字符(。)。这是一个工作示例:

const Compute = require('@google-cloud/compute');
const gce = new Compute({
  projectId: 'your-project-id-here'
});

gce.getVMs({
    maxResults: 100,
    filter: 'name eq ^prefix.*'
}, function(err, vms) {
  console.log(vms);
});

关于javascript - 如何在Google Cloud Compute node.js getVM中使用正则表达式进行过滤,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44081916/

10-15 06:38