我正在尝试使用Hashicorp Atlas restful api上传盒子文件,但是在上传大文件时遇到了问题。
我目前正在使用以下命令,该命令适用于100mb等小文件,但大多数盒子文件都超过4GB,我开始看到问题:
Manual/None
错误:
$Filename = "c:\box\mybox.box"
$uploadpath = "https://archivist.hashicorp.com/v1/object/example"
$Timeout = 86400 #24 hours
Invoke-RestMethod -Uri $uploadPath -Method Put -InFile $Filename -TimeoutSec $Timeout -ContentType "multipart/form-data"
如果按照文档使用CURL命令,它可以正常工作。
Invoke-RestMethod : The underlying connection was closed: An unexpected error occurred on a send.
At C:\Program Files\WindowsPowerShell\Modules\atlasbox\1.1.15\AtlasBox.psm1:642 char:5
+ Invoke-RestMethod -Uri $uploadPath -Method Put -InFile $Filename ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
任何想法如何使Invoke-RestMethod的行为与curl相同?
我不能依赖curl,因为我运行的所有系统都没有安装WSL而且没有卷曲。
Atlas API的文档位于:https://atlas.hashicorp.com/help/api/vagrant/box-providers
答案 0 :(得分:0)
看起来SSL证书可能会变得奇怪吗?我会在这里尝试一些建议,但绝对是那些特定于这些cmdlet的奇怪之处:</ p>