1

使用时DELETE /buckets/{bucketId}/flows/{flowId}

它不能删除版本为 0 的流。

例如,无法通过上述 http 调用删除类似以下流程的内容。

{
    "bucketIdentifier": "6a0f624c-3163-496e-bb60-9ca4fe287654",
    "bucketName": "flow_bucket",
    "createdTimestamp": 1550243254914,
    "description": "A Versioned Flow from pyApi",
    "identifier": "d3738331-78b3-4dda-ab6b-a2975db762ff",
    "link": {
        "href": "buckets/6a0f624c-3163-496e-bb60-9ca4fe287654/flows/d3738331-78b3-4dda-ab6b-a2975db762ff",
        "params": {
            "rel": "self"
        }
    },
    "modifiedTimestamp": 1550243254914,
    "name": "test flow by pyApi",
    "permissions": {
        "canDelete": true,
        "canRead": true,
        "canWrite": true
    },
    "type": "Flow",
    "versionCount": 0
}

有没有其他方法可以删除这样的流程?此流程是由 nipyapi.versioning.save_flow_ver()给定不同的flow_name. 虽然它失败了409,但它仍然在 Nifi 注册表中创建一个流。存储是git(具体是gitlab)

4

2 回答 2

2

我同意 Ben 的观点,您很可能遇到了错误而不是预期的行为。除了建议手动编辑 H2 元数据库,您还可以尝试添加流快照版本(版本化流可以是任何东西),为该流保存版本 1,然后删除整个流。那是:

POST /buckets/6a0f624c-3163-496e-bb60-9ca4fe287654/flows/d3738331-78b3-4dda-ab6b-a2975db762ff/versions/
DELETE /buckets/6a0f624c-3163-496e-bb60-9ca4fe287654/flows/d3738331-78b3-4dda-ab6b-a2975db762ff

我将打开一个 Apache Jira 问题来跟踪修复此错误。

于 2019-02-18T14:35:31.323 回答
2

似乎不太可能.. NiFi-Registry 中的流程从版本 1 开始。如果是这样,这是一个错误。不过,您应该可以直接从文件系统中删除它。流默认保存在{NIFI_INSTALLATION_FOLDER}/flow_storage/{BUCKET_ID}/. 只需删除名称为该流 ID 的目录即可。这应该解决它。

编辑:

忘了说你还需要编辑默认放置的db文件(H2){NIFI_INSTALLATION_FOLDER}/database

于 2019-02-18T11:10:43.623 回答