使用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_locationfilename.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_locationfilename.xyz -H @{'X-JFrog-Art-Api' ='<my API key>';'Content-Type'='multipart/form-data'}

和文件名。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_locationfolder.zip

你需要添加"api/archive/download"到主机名后面的Uri。

最新更新