API Forge https://forge.autodesk.com/en/docs/data/v2/reference/http/buckets-:bucketKey-objects-:objectName-PUT/ имеет понятный метод для перезаписи существующего объекта с тем же именем файла - заголовок If-Match
.
Я использую API C #, найденный в https://github.com/Autodesk-Forge/forge-api-dotnet-client, и звоню UploadObjectWithHttpInfo
, чтобы загрузить новую версию файла (и задаю параметр ifMatch
с правильным хешем SHA1, который Я сохранил с предыдущей загрузки). «Новая редакция» - это не что иное, как тот же файл с очень заметной дверью на южной стороне здания, удаленной. Визуальная проверка файлов в Revit 2017 показывает, что они разные. Я использую то же имя файла, что и в предыдущей версии файла.
Если я не предоставлю правильный SHA-1, API правильно ответит HTTP 412. Если я правильно предоставлю SHA-1, API ответит ожидаемыми результатами, включая новый SHA-1 (который я спасти). URN документа, похоже, не меняется.
Я немедленно вызываю другое задание по переводу для этого файла (которое выполняется очень быстро), подожду несколько минут и перейду на страницу просмотра, которая загружает документ URN.
Зритель показывает первую версию файла, при этом дверь все еще присутствует.
Чего мне не хватает?