powershell - 使用 PowerShell 将 Artifactory 文件夹下载为存档
问题描述
我正在尝试使用 PowerShell 命令行将 Artifactory 文件夹下载为 tar.gz 文件。在 Bash 中,以下命令完成了这项工作:
curl -i -v -XGET -H 'X-JFrog-Art-Api:<my API key>' "https://artifactory.<myrepo.com>/path/to/files?archiveType=tar.gz" --output ./file_location/filename.tar.gz
然而,在 PowerShell 中,这似乎不起作用:
Invoke-RestMethod -uri "https://artifactory.<myrepo.com>/path/to/files?archiveType=tar.gz" -Method 'Get' -OutFile .\file_location\filename.tar.gz -H @{'X-JFrog-Art-Api' ='<my API key>';'Content-Type'='multipart/form-data'}
此操作会创建 filename.tar.gz,但该文件只是一个提供目录结构的 HTML 文件,而不是实际文件。
如果我只想要一个单独的文件,我可以使用 PowerShell 下载文件(不是存档):
Invoke-RestMethod -uri "https://artifactory.<myrepo.com>/path/to/files/filename.xyz" -Method 'Get' -OutFile .\file_location\filename.xyz -H @{'X-JFrog-Art-Api' ='<my API key>';'Content-Type'='multipart/form-data'}
并且 filename.xyz 被传输到本地机器。所以我有点困惑为什么制作存档的工具会失败。
解决方案
我想到了!
Invoke-RestMethod -Uri "https://my-artifactory-server/artifactory/api/archive/download/path/to/some/folder?archiveType=zip -Method "Get" -Headers @{"Authorization"="Basic $my_artifactory_api_token"; 'Content-Type'='multipart/form-data'} -Outfile c:\destination_location\folder.zip
您需要在主机名之后将“api/archive/download”添加到 Uri。
推荐阅读
- javascript - 使用 JS 放大悬停链接上的自定义光标指针
- json - ambari rest API + 在 ambari 中设置 json 配置
- wpf - 是否可以在 wpf 中将 ImageSource 设置为 null
- netlogo - 列出几个链接
- python - 如何将具有多索引行和列索引的 pandas 数据框导出和导入 csv 文件?
- windows-server-2016 - 自建Bonobo.Git.Server登录报错:所需的防伪cookie“__RequestVerificationToken”不存在
- node.js - 在角度和节点上运行的heroku应用程序中未更新图像
- javascript - 如何删除每个字符后面的字符串?
- sql - 从不同数据库的 2 个表中插入 2 个表
- amazon-web-services - AWS Fargate 服务可以运行 0 个任务吗?