我试图将数据上传到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是否具有“写入”权限? –