我試圖將數據上傳到Azure門戶上的Blob服務。使用Unity將blob上傳到Azure
我一直在嘗試使用此頁:https://msdn.microsoft.com/library/azure/dd179451.aspx
我的代碼如下:
IEnumerator SetItem()
{
DataJson data = new DataJson("Amy", "201289");
string json = JsonUtility.ToJson(data);
UnityWebRequest newWWW = UnityWebRequest.Put(
"https://compstorage.blob.core.windows.net/folderName/item", json);
yield return newWWW.Send();
if (newWWW.isError == false)
{
Debug.Log("Form upload complete!");
}
UnityWebRequest www = UnityWebRequest.Get("compstorage.blob.core.windows.net/folderName/item.json");
yield return www.Send();
string text = System.Text.Encoding.UTF8.GetString(www.downloadHandler.data);
DataJson newData = JsonUtility.FromJson<DataJson>(text);
Debug.Log(newData.ToString());
}
團塊被設置爲斑點的意思讀,寫權限。我嘗試了所有類型的變化,例如添加/刪除文件擴展名,也添加了SaS密鑰,但儘管Put請求聲稱成功,但它從不更新服務器內容。獲取請求確實工作正常,但打印舊版本的數據,而不是更新的數據。
有誰知道使用PUT請求在Unity
您是否從Azure存儲獲取任何錯誤消息? –
沒有,它很好。我試圖從uploadHandler中讀取內容,但沒有任何內容。 – Everts
這很奇怪!通常,Azure存儲會報告一些錯誤。有一件事:在這種情況下,將容器的ACL設置爲「Blob」將無濟於事。請參閱此線程獲取更多詳細信息:http://stackoverflow.com/questions/40017960/azure-blob-storage-returns-404-on-put/40018175#40018175。你提到你也嘗試過使用SAS。您的SAS是否具有「寫入」權限? –