我有一个PowerShell脚本,可下载存储在Azure存储帐户blob中的JSON文件。该文件采用UTF-8编码。然后,脚本从JSON读取,进行更改,创建具有相同名称的新JSON文件,然后使用Set-AzureStorageBlobContent cmdlet将其上传回存储帐户。但是,所有使用该JSON文件的应用程序都停止工作。经过数小时的故障排除,我注意到当它将新的JSON上传回存储容器(替换现有的JSON)时,它会以UTF-16编码上传JSON。
Set-AzureStorageBlobContent cmdlet中是否有一个参数可以在其中指定编码?我查看了官方文档,但找不到答案。
在上传新的JSON之前,所有值都存储在一个变量中,并且实际上我使用cmdlet ConvertTo-Json生成新的JSON文件。 ConvertTo-Json中是否有一个参数可以指定编码类型?
现在,我用来上传文件的全部是:
$jsonContent | ConvertTo-Json -Depth 4 | Out-File C:\P3\myFile.json
Set-AzureStorageBlobContent -Context $storageContext -Container "myContainer" -File "myFile.JSON" -Force
请告知!