zstackio / zstack

ZStack - the open-source IaaS software http://zstack.org (国内用户请至 http://zstack.io)
Apache License 2.0
1.3k stars 393 forks source link

请问如何通过调用API给资源打标签 #1291

Open xingcixuatlinkedcare opened 2 years ago

xingcixuatlinkedcare commented 2 years ago

看了文档,但是文档中似乎没有清晰的描述,可否提供一些说明

AlanJager commented 2 years ago

@xingcixuatlinkedcare 好的,感谢提问,这里我简单的介绍一下标签系统以及相关的使用

首先需要了解ZStack中存在 UserTag/SystemTag 两种类型的标签

相同: 标签需要绑定具体的资源

不同: SystemTag用来实现系统逻辑功能(需要根据代码和其定义了解具体行为),UserTag是提供给用户的完全自定义的标签

使用:

  1. 创建标签

查询任意资源

admin >>>QueryZone
{
    "inventories": [
        {
            "createDate": "Oct 18, 2021 2:48:07 PM",
            "lastOpDate": "Oct 18, 2021 2:48:07 PM",
            "name": "ZONE-1",
            "state": "Enabled",
            "type": "zstack",
            "uuid": "a99530fea4d74c03b0fc111b80fe24f1"
        }
    ],
    "success": true
}

创建用户标签

admin >>>CreateUserTag resourceUuid=a99530fea4d74c03b0fc111b80fe24f1 tag=customize-tag resourceType=ZoneVO
{
    "inventory": {
        "createDate": "Oct 19, 2021 11:01:47 AM",
        "lastOpDate": "Oct 19, 2021 11:01:47 AM",
        "resourceType": "ZoneVO",
        "resourceUuid": "a99530fea4d74c03b0fc111b80fe24f1",
        "tag": "customize-tag",
        "type": "User",
        "uuid": "98de21fc9d3747c698f0b647eea6f9bb"
    },
    "success": true
}

注:customize-tag 这个可以为任意字符串

  1. 查询标签
admin >>>QueryUserTag tag=customize-tag
{
    "inventories": [
        {
            "createDate": "Oct 19, 2021 11:01:47 AM",
            "lastOpDate": "Oct 19, 2021 11:01:47 AM",
            "resourceType": "ZoneVO",
            "resourceUuid": "a99530fea4d74c03b0fc111b80fe24f1",
            "tag": "customize-tag",
            "type": "User",
            "uuid": "98de21fc9d3747c698f0b647eea6f9bb"
        }
    ],
    "success": true
}
  1. 删除标签
admin >>>DeleteTag uuid=98de21fc9d3747c698f0b647eea6f9bb
{
    "success": true
}

admin >>>QueryUserTag tag=customize-tag
{
    "inventories": [],
    "success": true
}

最早的标签系统设计的介绍: http://en.zstack.io/blog/tag.html

xingcixuatlinkedcare commented 2 years ago

@AlanJager 感谢您的回复。我现在需要通过调用restAPI来对tag进行操作。但是您给我的例子我没有看到具体怎么发起请求,可否提供要给例子,不如如何用curl来发起上面的操作

AlanJager commented 2 years ago

@AlanJager 感谢您的回复。我现在需要通过调用restAPI来对tag进行操作。但是您给我的例子我没有看到具体怎么发起请求,可否提供要给例子,不如如何用curl来发起上面的操作

这个建议参考开发手册的用户标签章节 https://www.zstack.io/help/dev_manual/dev_guide/v3/16.2.html#chapter-16-2-4-%E5%88%9B%E5%BB%BA%E7%94%A8%E6%88%B7%E6%A0%87%E7%AD%BE-CreateUserTag