0

For the last two days I've been trying to setup the Azure Storage blob to upload the output of 'PlotToPDF' workitem in the Tutorial of Forge Design Automation API and I failed. I always get the following result:

{
  "@odata.context":"https://developer.api.autodesk.com/autocad.io/us-east/v2/$metadata#WorkItems('e3776b3610f9405d8bc180462ed51b77')/Status","value":"FailedUpload"
}

I've no problem with Amazon but I don't know what is wrong with Azure. Can anyone help please?

Augusto Goncalves
  • 8,493
  • 2
  • 17
  • 44
  • You haven't shown any code, so, as written, seems difficult (or impossible) to help answer. What call do you make, to attempt to store to Azure Storage? What does that call expect as a destination? How have you set up permissions for your storage blob (or container) - is it private? public? using a SAS? Does the Autodesk API even work with Azure Storage? Please edit your question to be more specific and provide more details. – David Makogon Jan 28 '18 at 02:17
  • @DavidMakogon If you are not familiar with the Forge platform please don't engage any further. I asked the question because I need to know how to setup the Azure properly at first place. In Azure storage I created a public access level for my container as: "Container ( anonymous read access for containers and blobs )" and this is strange because there is no equivalent 'write access' ??? For the stored access policies I set the start/end time and the write/read permissions. – mustafa.salaheldin Jan 28 '18 at 06:47
  • @DavidMakogon I've followed the tutorial in this page: https://github.com/szilvaa/acadio-tutorials/blob/master/tutorial1/readme.md And I replaced the "Resource": '' in step 5.1 with the SAS I got from the Azure BLOB storage. Which failed each time whatever changes I made in the Azure storage settings. – mustafa.salaheldin Jan 28 '18 at 06:47
  • So... that's not how StackOverflow works; you don't get to choose who responds. As for your question: You left out many details. And you say there's "something wrong with Azure" in your question (and Azure happens to be my area of expertise). You still haven't included a single line of code in your question (just a link to a tutorial), and from what I see, you're making assumptions that S3 storage and Azure storage work the exact same way, given a pre-signed URL (or SAS for Azure). But they don't work the same, as writes are performed differently. – David Makogon Jan 28 '18 at 13:10
  • Also - don't bury details in comments. *Edit your question.* Comment-based details make the question much harder to read. – David Makogon Jan 28 '18 at 13:11
  • And like I said in earlier comment: You're assuming there's something wrong with Azure, and that you need to set up Azure a specific way. Yet... this could be entirely related to the fact that the code you're using is pushing content to S3 in a way that's incompatible with Azure and would require a code change to that tool. – David Makogon Jan 28 '18 at 13:12

1 Answers1

2

Thanks to Autodesk team I figured out the answer, it is to upload to Azure blob, you are required to specify a value in header "x-ms-blob-type" in the output arguments, I added it and then Azure BLOB storage worked like a charm.

  • 1
    Here is also a sample that is using **Azure Blob** for the output, which could be useful for others too: [https://github.com/Autodesk-Forge/design.automation-.net-input.output.sample](https://github.com/Autodesk-Forge/design.automation-.net-input.output.sample) – Adam Nagy Jan 29 '18 at 11:39
  • You could mark it as answer that will help more communities who have the same issue easily to search. – Tom Sun - MSFT Feb 02 '18 at 03:09