Use Azure Blob Storage for model conversion
The model conversion service requires access to Azure Blob Storage so it can retrieve input data and store output data. This article describes how to do the most common steps.
Prepare Azure Storage accounts
- Create a storage account (StorageV2)
- Create an input blob container in the storage account (for example named "arrinput")
- Create an output blob container in the storage account (for example named "arroutput")
For step-by-step instructions how to set up your storage account, have a look at Quickstart: Convert a model for rendering
The creation of the storage account and the blob containers can be done with one of the following tools:
Ensure Azure Remote Rendering can access your storage account
Azure Remote Rending needs to retrieve model data from your storage account and write data back to it.
You can grant Azure Remote Rendering access to your storage account in the following two ways:
Connect your Azure Storage account with your Azure Remote Rendering Account
Follow the steps given in the Create an Account section.
Retrieve SAS for the storage containers
Stored access signatures (SAS) are used to grant read access for input, and write access for output. We recommend generating new URIs each time a model is converted. Since URIs expire after some time, persisting them for a longer duration may risk breaking your application unexpectedly.
Details about SAS can be found at the SAS documentation.
A SAS URI can be generated using one of:
- Az PowerShell module
- see the example PowerShell scripts
- az command line
- Azure Storage Explorer
- right click on container "Get Shared Access Signature" (read, list access for input container, write access for output container)
- SDKs (C#, Python ... )
An example of using Shared Access Signatures in asset conversion is shown in Conversion.ps1 of the PowerShell Example Scripts.
When configuring the storage account, do not specify an allowed IP address range, even when it allow-lists all IP addresses:
With any IP range being specified, the SAS token may not work with ARR and model loading might fail.
Upload an input model
To start converting a model, you need to upload it, using one of the following options:
- Azure Storage Explorer - a convenient UI to upload/download/manage files on Azure blob storage
- Azure command line
- Azure PowerShell module
- see the Example PowerShell scripts
- Using a storage SDK (Python, C# ... )
- Using the Azure Storage REST APIs
- Using the Azure Remote Rendering Toolkit (ARRT)
For an example of how to upload data for conversion refer to Conversion.ps1 of the PowerShell Example Scripts.
When uploading an input model take care to avoid long file names and/or folder structures in order to avoid Windows path length limit issues on the service.
Get a SAS URI for the converted model
This step is similar to retrieving SAS for the storage containers. However, this time you need to retrieve a SAS URI for the model file, that was written to the output container.
For example, to retrieve a SAS URI via the Azure Storage Explorer, right-click on the model file and select "Get Shared Access Signature".
A Shared Access Signature (SAS) to load models is needed if you haven't connected your storage account to your Azure Remote Rendering account. You can learn how to connect your account in Create an Account.