Search code examples
autodesk-forgeautodesk-model-derivative

Monitoring progress of extraction job of file in a bucket?


I want to monitor the progress of an extraction job of a file stored in a bucket.

I've gone through the Webhooks API documentation, and if I understood everything correctly, the events only work for files stored in a folder, so it can't be used with a bucket. Please correct me if I'm wrong.

So, besides polling the GET :urn/manifest endpoint in the Model Derivate API, and assuming the Webhooks API can't be used with a bucket, is there any other way to monitor the progress of an extraction job?

Thanks.


Solution

  • Webhook now supports the Model Derivative event extraction.finished. This type is exactly used in the scenario of translating model of the bucket. This is a blog on the API. I copied it as a reference on SO:

    https://forge.autodesk.com/blog/introducing-webhook-model-derivative-api

    Webhook now supports the Model Derivative event extraction.finished, so your app can be notified when translation job finishes. To use it, (1) create a hook specifying a scope.workflow:

    {
      "callbackUrl": "http://bf067e05.ngrok.io/callback",
      "scope": {
       "workflow": "my-workflow-id"
     }
    }
    

    And (2) when posting a translation job, specify the misc.workflow:

    {
      "input": {
         "urn":  
          "dXJuOmFkc2sub2JqZWN0czpv...."
      },
      "output": {
      "formats": [{
        "type": "obj"
      }]
     },
    "misc": {
      "workflow": "my-workflow-id"
     }
    }
    

    With my test, the workflow can be guid of your WebHook.The post body from Forge will tell you which file is translated and its urn, location etc.

    Hope it helps.