Как долго это урна жизни - PullRequest
       11

Как долго это урна жизни

0 голосов
/ 10 января 2019

как долго я получаю урну в своем коде для производныхApi

Autodesk.Forge.Model.DynamicJsonResponse translateResponse =persApi.Translate (job, true); string responseUrn = translateResponse.Dictionary ["urn"]. ToString ();

1 Ответ

0 голосов
/ 10 января 2019

Полагаю, вы спрашиваете длину строки урны base64.

Это зависит от символов objectId (он же urn объекта, возвращаемого PUT / buckets /: bucketKey / objects /: objectName ), который вы передали в строковый кодировщик base64 с моим опытом, и это будет той же самой урной, которую вы передадите в POST-задание API-интерфейса Forge Model Derivative. Обычно каждая цифра Base64 представляет ровно 6 бит данных из wiki , и здесь есть формула для вычисления длины закодированной строки link :

((4 * n / 3) + 3) & ~3

note1. n - длина строки вашего objectId.

Например, длина urn:adsk.objects:os.object:mybucket/example.txt равна 47. После кодирования base64 результат dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bXlidWNrZXQvZXhhbXBsZS50eHQ= length равен ((4 * 47 / 3) + 3) & ~3 = 64.

note2. Символ заполнения = должен быть удален при ручном запуске заданий перевода Forge, API-интерфейс Forge Model Derivative не допускает этого. Вот формула:

len of the urn = 64 - n of the padding character `=`

Таким образом, конечная длина строки урны, полученной из ответа API, составляет 64 - 1 = 63.

Ref. https://en.wikipedia.org/wiki/Base64

note3. Если вы не наберете УДАЛИТЬ: urn / manifest , чтобы удалить переведенные результаты (a.k.a.viewable bubbles), видимые пузырьки будут сохранены на сервере Forge навсегда. Вы также можете использовать видимые пузырьки для доступа к ним, несмотря на то, что файл модели, хранящийся в управляемом вами контейнере OSS, удаляется установленной вами политикой корзины .

...