使用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)
答案 0 :(得分:2)
似乎不太可能。.NiFi注册中心中的流程始于版本1。如果是这样,那就是一个错误。不过,您应该可以直接从文件系统中将其删除。默认情况下,流保存在{NIFI_INSTALLATION_FOLDER}/flow_storage/{BUCKET_ID}/
下。只需删除名称为该流ID的目录即可。这应该可以解决。
编辑:
忘记提及您还需要编辑默认放置在{NIFI_INSTALLATION_FOLDER}/database
中的数据库文件(H2)
答案 1 :(得分: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问题来跟踪修复此错误。