使用共享访问签名时 Azure 创建文件 REST API 的授权请求 header
Authorization request header for Azure Create File REST API when using Shared Access Signatures
我正在尝试使用 Azure 文件服务 REST API 从 PowerShell 创建一个文件,使用共享访问签名,但我不知道如何设置所需的 Authorization
header 当授权方案是共享访问签名时。
我只是使用 PowerShell 来尝试找出 REST API 语法,然后我需要将 REST 调用移植到 JavaScript 以便它们可以被称为客户端。
这是我目前的发现:
1.The Create File
的 MSDN 文档指出 header 是必需的,但示例请求仅说明了 SharedKey
授权 header.
https://docs.microsoft.com/en-us/rest/api/storageservices/create-file#request
2.The 共享访问签名示例可以很好地生成 SAS,但在以下使用 SAS 的调用示例中,它们根本不记录请求 headers:
https://docs.microsoft.com/en-us/rest/api/storageservices/service-sas-examples#file-examples
3.There 在这里是一个很好的 Xamarin 答案,但答案只明确设置了 x-ms-type
和 x-ms-content-length
headers,其余部分似乎是调用的一部分至 client.DefaultRequestHeaders
.
目前我的代码如下所示:
$ctx = New-AzStorageContext -StorageAccountName "mystorage" -StorageAccountKey "REDACTED"
$start = Get-Date
$end = $start.AddHours(2.0)
$uri = New-AzStorageFileSASToken -ShareName "web" -Path "documents/newfile.txt" -Permission "w" -StartTime $start -EndTime $end -Context $ctx -FullUri
$headers = @{'x-ms-version' = '2019-12-12'; 'x-ms-type' = 'file'; 'x-ms-content-length' = '55'; 'x-ms-date' = 'Thu, 22 Oct 2020 19:28:55 BST'}
invoke-restmethod -Uri $uri -Method Put -InFile $file -Headers $headers
最后调用的结果是:
invoke-restmethod : InvalidHeaderValueThe value for one of the HTTP headers is not in the correct format.
我的问题是,在调用 Azure 文件服务 REST API 时,是否有人有包含 headers 的完整 HTTP 请求的有效示例?
我正在尝试使用 Azure 文件服务 REST API 从 PowerShell 创建一个文件,使用共享访问签名,但我不知道如何设置所需的 Authorization
header 当授权方案是共享访问签名时。
我只是使用 PowerShell 来尝试找出 REST API 语法,然后我需要将 REST 调用移植到 JavaScript 以便它们可以被称为客户端。
这是我目前的发现:
1.The Create File
的 MSDN 文档指出 header 是必需的,但示例请求仅说明了 SharedKey
授权 header.
https://docs.microsoft.com/en-us/rest/api/storageservices/create-file#request
2.The 共享访问签名示例可以很好地生成 SAS,但在以下使用 SAS 的调用示例中,它们根本不记录请求 headers:
https://docs.microsoft.com/en-us/rest/api/storageservices/service-sas-examples#file-examples
3.There 在这里是一个很好的 Xamarin 答案,但答案只明确设置了 x-ms-type
和 x-ms-content-length
headers,其余部分似乎是调用的一部分至 client.DefaultRequestHeaders
.
目前我的代码如下所示:
$ctx = New-AzStorageContext -StorageAccountName "mystorage" -StorageAccountKey "REDACTED"
$start = Get-Date
$end = $start.AddHours(2.0)
$uri = New-AzStorageFileSASToken -ShareName "web" -Path "documents/newfile.txt" -Permission "w" -StartTime $start -EndTime $end -Context $ctx -FullUri
$headers = @{'x-ms-version' = '2019-12-12'; 'x-ms-type' = 'file'; 'x-ms-content-length' = '55'; 'x-ms-date' = 'Thu, 22 Oct 2020 19:28:55 BST'}
invoke-restmethod -Uri $uri -Method Put -InFile $file -Headers $headers
最后调用的结果是:
invoke-restmethod : InvalidHeaderValueThe value for one of the HTTP headers is not in the correct format.
我的问题是,在调用 Azure 文件服务 REST API 时,是否有人有包含 headers 的完整 HTTP 请求的有效示例?