Search code examples
autodesk-forgeautodesk-designautomation

Are DA4R work items with output files de facto limited to 60 minutes by S3?


I have a Design Automation activity for Revit that runs a process on a model and all its links, resulting in an output.zip file. Crawling the link reference tree can involve opening many models in sequence and take a significant amount of time.

I was previously using the following endpoint to save my output.zip file:

PUT buckets/{bucketKey}/objects/{objectKey}

However, since that endpoint is deprecated, I recently migrated my code and Design Automation activities to use the recommended S3 signed upload instead:

GET buckets/{bucketKey}/objects/{objectKey}/signeds3upload

The problem with this is that I am required to generate the URL before submitting my Design Automation work item and the URL expires after a maximum of 60 minutes. This introduces a constraint where the link expires and my work item fails with status failedUpload if it takes longer than 60 minutes, despite the Design Automation process time limit for Revit being 12 hours.

The signed upload URLs effectively limit the maximum process time to an hour, but my work items sometimes take longer this. What can I do to get around this constraint?


Solution

  • You can provide OSS URN like urn:adsk.objects:os.object:<bucket_name>/<object_key> for the Input or Output, with a valid Authorization token. Design Automation will extend the token if it is expired when uploading happens.

    Refer to https://aps.autodesk.com/en/docs/design-automation/v3/tutorials/revit/step6-prepare-cloud-storage/ and https://aps.autodesk.com/en/docs/design-automation/v3/tutorials/revit/step7-post-workitem/