You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure JFrog集成YAML管道 如何限制AQL仅返回最新1个文件

问题根因

直接在JSON结构的大括号、方括号后追加limit(1)不生效,是因为ArtifactoryGenericDownload@3任务使用的File Spec规范不支持直接拼接原生AQL的函数式语法,limit、排序这类控制参数必须放在JSON结构的指定层级;且如果要取最近更新的文件,必须先配置按修改时间倒序,否则limit返回的结果不是目标文件。

可直接使用的修正后配置
ArtifactoryGenericDownload@3
    inputs:
      connection: "JFROG"
      specSource: "taskConfiguration"
      fileSpec: |
        {
            "files": [
                {
                    "target": "./$(Pipeline.Workspace)/de-cf-dnalib",
                    "aql": {
                        "items.find":{
                            "repo":"python",
                            "$and":[
                                {
                                    "$and": [
                                        { "name": { "$match": "*.whl" } },
                                        { "modified": { "$last": "10d" } }
                                    ]
                                },
                                {
                                    "$and": [
                                        { "name": { "$nmatch": "*dev*" } }
                                    ]
                                }
                            ]
                        },
                        "sort": {
                            "$desc": ["modified"]
                        },
                        "limit": 1
                    }
                }
            ]
        }
      failNoOp: true
配置注意事项
  • sort和limit字段必须和items.find平级,放在aql对象下,不能写到items.find的查询条件对象内部,否则会被识别为制品属性匹配规则,无法起到分页排序的作用
  • sort配置通过$desc: ["modified"]指定按制品修改时间倒序排列,保证排序后的第一条结果就是最近更新的符合筛选规则的文件
  • limit: 1会告诉Artifactory只返回排序后的1条结果,匹配你的下载需求
  • 原有所有筛选规则(python仓库、近10天更新、.whl后缀、文件名不含dev关键字)全部保留,没有改动

内容的提问来源于stack exchange,提问作者Patryk Wilk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 14:06:28