question

brandon@uprootstudios.com avatar image
brandon@uprootstudios.com asked

Put Block using GetAssetUploadUrl

We're using GetAssetUploadUrl to upload server assets to PlayFab. It seems like GetAssetUploadUrl uses Put Blob which limits us to the maximum blob size (either 64mb or 100mb) for a single upload. Is it possible to put/append blocks (for larger file sizes) using this URL or to use the credential returned in the URL to use Put Block instead? What does the Game Manager use when uploading asset files?

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

·
Seth Du avatar image
Seth Du answered

If a large server build is required, we suggest you to use our Powershell tools and according to the official documentation, the server build size maximum limit is 10GB. I don’t think we should directly use Put Blob to upload your server build, since for now there is no documentation about it. We are planning to add more user-friendly features on server build asset uploading but as far as I know there is no ETA.

If you want to use Put Blob, please contact Azure support team for dedicated help.

3 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

brandon@uprootstudios.com avatar image brandon@uprootstudios.com commented ·

@SethDu Thanks for the answer. We have some developer tools built in Unity, and are using UnityWebRequest to upload server .zip assets. Because the URL that is returned from the GetAssetUploadUrl seems to use “Put Blob” in PlayFab’s backend, if we attempt to upload a .zip greater than something like 100mb, we get the error “413 Payload Too Large”. It seems like the only way to upload files larger than 64mb-100mb is to use the Game Manager or the PlayFab PowerShell CLI. Is there a proper way to upload builds greater than 100mb using C#? As of now, we’re just reading the file as bytes and uploading to the URL we get from that API.

0 Likes 0 ·
Seth Du avatar image Seth Du ♦ brandon@uprootstudios.com commented ·

I trace the packets' size and find that when uploading the asset zip via Powershell, the zip seems to be divided into several packets and is 4 MB for each one(it's more like TCP). I have reviewed the Add-PFMultiplayerAsset function in powershell tool, however, I am not sure how Set-AzureStorageBlobContent works.

May I know how do you upload the asset zip? You may provide sample codes but please hide sensitive information. Besides, it is worth a try to implement Azure Blob storage client library in your project since all the authentication information should be provided in AssetUploadUrl.

0 Likes 0 ·
Seth Du avatar image Seth Du ♦ brandon@uprootstudios.com commented ·

I have done more research and find that the upload method is CloudBlockBlob.UploadFromFile() which is a class under Microsoft.Azure.Storage.Blob. Again, I can only provide some advice because I am not expert on Azure. The best place to get dedicated support to solve your uploading issue should be Azure developer community.

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.