Google Cloud Datastore 索引删除

Google Cloud Datastore index removal

我几个月来添加的数据存储索引很少 Google。今天我又加了一个。几分钟后,我发现这不是我必须创建的正确索引。

我称之为:

$ gcloud datastore indexes list
---
ancestor: NONE
indexId: XXX1
kind: ThisIsKindName
projectId: GCP-PROJ-ID
properties:
- direction: ASCENDING
  name: QueueName
- direction: ASCENDING
  name: ExecutionLength
state: READY
---
ancestor: NONE
indexId: XXX2
kind: ThisIsKindName
projectId: GCP-PROJ-ID
properties:
- direction: ASCENDING
  name: labels.application
- direction: DESCENDING
  name: ExecutionLength
state: READY
---
...

并找到要删除的索引(ID=XXX2)。

我找到了 cleanup 命令描述,但我不太清楚。此函数要求提供 index.yaml 文件。

应该在此文件中找到什么?

  1. 要保留的索引列表。此文件中不存在的所有索引将被删除。
  2. 要删除的索引列表。

如果您的答案是 1(要保留的索引列表)- 如何从现有索引生成 yaml 文件?它是必需的,因为我在本地没有这些索引定义。需要这样的东西:

gcloud datastore indexes list --export=yaml

根据 public documentation,该命令将删除 index.yaml 文件中未包含的任何现有索引。因此,在 index.yaml 文件中确保只包含您正在使用的索引。

据我所知,似乎没有特别的方法来生成新的 index.yaml 文件,但是,最好的做法似乎是尝试导出所用命令的输出:

    gcloud datastore indexes list > index.yaml

(更改命令以满足您的 CLI 需求)

然后继续 format it appropriately using the provided example 作为指导。