Руководство по Design Automation для 3Ds Max: 3. Подготовка хранилища в облаке
Содержание
1. Авторизация
3. Подготовка хранилища в облаке
5. Загрузка результатов выполнения задачи
Краткое описание
Для исходных данных и результатов выполняемых Design Automation API задач необходимо предоставить описание HTTP-запросов, которые выполнит сервис для из загрузки. Простым способом может быть создание signed url, которые будут использованы данным API. В этом примере мы будем использовать OSS Forge Data Management API для сохранения исходных данных и результатов выполнения задач. Мы создадим signed url, которые будем использовать в следующей части руководства по запуску workitem-ов. Если Вы предпочитаете другие облачные решения для хранения данных, Вы можете перейти в следующей статье.
Результатом выполнения данной части руководства будут временные signed url-ы, два для загрузки сервисом Design Automation исходного zip-архива и скрипта 3Ds Max, один для загрузки результатов выполнения задачи.
Используемые API
Базовый URL: https://developer.api.autodesk.com/oss/v2
1. Создание bucket-а в OSS - URL конечной точки - /buckets, метод POST
2. Загрузка объекта в OSS - URL конечной точки - /buckets/:bucketKey/objects/:objectName, метод PUT
3. Создание signed url - URL конечной точки - /buckets/:bucketKey/objects/:objectName/signed, метод PUT
Подробное описание доступно здесь.
Шаг 1. Создание bucket-а
Первым шагом при работе с сервисом OSS будет создание bucket-а. После того, как он создан, мы сможем сохранять в нём объекты. Больше информации о сервисе OSS можно найти в документации в разделе OSS. Запрос:
- curl -X POST 'https://developer.api.autodesk.com/oss/v2/buckets' -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' -H 'Content-Type: application/json' -d '{
- "bucketKey": "YOUR_BUCKET_KEY",
- "access": "full",
- "policyKey": "temporary"
- }'
Примечания: Вам нужно выбрать имя Вашего bucket-а. Оно должно быть уникально в рамках всего сервиса
Ответ сервиса:
- {
- "bucketKey": "YOUR_BUCKET_KEY",
- "bucketOwner": "YOUR_FORGE_APP_CLIENT_ID",
- "createdDate": 156095829931,
- "permissions": [
- {
- "authId": "T05H372IE11Kmkksdh73ndj0qie2f6nib",
- "access": "full"
- }
- ],
- "policyKey": "temporary"
- }
Шаг 2. Загрузка исходных файлов в OSS
После успешного создания bucket-а становится доступной загрузка исходных файлов. Повторите этот шаг дважды для того, чтобы загрузить исходные zip-архив и скрипт 3Ds Max. Запрос:
- curl -X PUT 'https://developer.api.autodesk.com/oss/v2/buckets/YOUR_BUCKET_KEY/objects/YOUR_OBJECT_KEY' -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' -H 'accept-encoding: gzip, deflate' --data-binary '@PATH_TO_YOUR_FILE_TO_UPLOAD'
Примечания:
- замените PATH_TO_YOUR_FILE_TO_UPLOAD путём к исходному файлу на Вашем компьютере
- обратите особое внимание на url запроса, где нужно заменить YOUR_BUCKET_KEY именем Вашего bucket-а, созданного на предыдущем шаге. Вам также следует назначить YOUR_OBJECT_KEY для каждого загружаемого Вами файла
Ответ сервиса:
- {
- "bucketKey": "YOUR_BUCKET_KEY",
- "objectId": "urn:adsk.objects:os.object:YOUR_BUCKET_KEY/YOUR_OBJECT_KEY",
- "objectKey": "YOUR_OBJECT_KEY",
- "sha1": "1e0c312608ece2a21d6ecd3c316e40ebec574011",
- "size": 55998,
- "contentType": "text/plain",
- "location": "https://developer.api.autodesk.com/oss/v2/buckets/YOUR_BUCKET_KEY/objects/YOUR_OBJECT_KEY"
- }
Шаг 3. Получение временных URL для загрузки данных сервисом Design Automation
Следующий шаг - создание временных URL для объектов, созданных на предыдущем шаге. Эти URL будут далее использоваться сервисом Design Automation для загрузки исходных файлов, поэтому сохраните где-нибудь результаты запросов, мы будем использовать их при запуске workitem-ов, в следующей части руководства. Также как и на 2 шаге, Вам следует повторить запрос дважды для исходных zip-архива и скрипта 3Ds Max:
- curl -X POST 'https://developer.api.autodesk.com/oss/v2/buckets/YOUR_BUCKET_KEY/objects/YOUR_OBJECT_KEY/signed' -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' -H 'Content-Type: application/json' -d '{}'
Примечание: обратите особое внимание на URL, где Вам необходимо заменить YOUR_BUCKET_KEY и YOUR_OBJECT_KEY, которые Вы использовали в предыдущих шагах руководства.
Пример ответа сервера:
- curl -X POST 'https://developer.api.autodesk.com/oss/v2/buckets/YOUR_BUCKET_KEY/objects/YOUR_OBJECT_KEY/signed?access=readwrite' -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' -H 'Content-Type: application/json' -d '{}'
Назад к созданию Activity
Читать далее о запуске workitem-а
Источник: https://forge.autodesk.com/en/docs/design-automation/v3/tutorials/3dsmax/task-3-manage-cloud-storage/Обсуждение: http://adn-cis.org/forum/index.php?topic=
Опубликовано 31.07.2019