ADN Open CIS
Сообщество программистов Autodesk в СНГ

02/04/2016

WorkItem в AutoCAD I/O API - часть 1

WorkItem представляет собой определенную задачу, которая выполняется основным движком AutoCAD. Ниже приведен пример WorkItem.

Код - HTML: [Выделить]
  1. {
  2.             "@odata.context":"https://developer-dev.api.autodesk.com/autocad.io/us-east/v2/$metadata#WorkItems/$entity","ActivityId":"PlotToPDF","Arguments":{
  3.                   "InputArguments":[
  4.                     {
  5.                           "Resource":"https://s3.amazonaws.com/AutoCAD-Core-Engine-Services/TestDwg/makeall.dwg","Name":"HostDwg","Headers":[
  6.  
  7.                           ],"ResourceKind":null,"StorageProvider":"Generic","HttpVerb":null
  8.                     }
  9.                   ],"OutputArguments":[
  10.                     {
  11.                           "Resource":"https://acesdev.s3-us-west-2.amazonaws.com/aces-workitem-outputs/9688d314d6e94bc682f901b468ca8dbc/result.pdf?AWSAccessKeyId=
  12.                           ASIAIIRAOVQYGB4OA7IA&Expires=1432231792&x-amz-security-token=AQoDYXdzEGIa0AMSDjA8SIKRwWVY8YvdmMQsZ3T5atGN2gDTUwcffe%2FMejuRGezSx%2F4lDaN1Nw
  13.                           sGCc%2B91eXvocmWaEZA%2Bm8uClMwP%2Fr69UmL6RmOiK7dokQlbQGEoPEQwF%2Frpw2jPQ6wDq4suFWXlsuxODWP24v3GJ4fZRj9V4S91Z59Nagcla6Ll46YVS6rc0PlaC4ElJ89n
  14.                           cABb23dR%2BK%2FAAaPsFVVn8ZV81gqDbect8YjvMH2RCfXQb7KnheNFlL77AXMeJM11ahq3UUsDk2o3uYQswJQJg5AsYZEtXjbbKU40MDkLPKjn5Ua18%2FD1pNZFm%2FFhoHMHXHv
  15.                           fvJdfXPWHBKYEFCvIz%2FZyKg8CORDIpK04ZMuAV68jTiHGkes7U5L5QPnCDEDAyZnod6FK7djcNYQwJBE9SNge%2FBLAXmJ5Hsiuy8HZF7GF59LPSR%2BXyygw%2Fy1ssJxmKxK4js
  16.                           UG33ukj69Mj1nXlKfVdk89cdonuOScw%2BnD91%2B1kRozlIXkDT9Crf%2FceshJHY48vaPtJ5VG1sGIZoHW5fzwcbXDEJzhLJcj0UaFr5N3sgMKCX7KtZcqRYp%2Bupd7khRSAhC2L
  17.                           ZdOyCHAQgi45F11qYZ8fwiUassVPEYIwTpYiDbgfOqBQ%3D%3D&Signature=02E4g51C2R9NsdwX0vloUmX8RCM%3D","Name":"Result","Headers":[
  18.                           ],"ResourceKind":null,"StorageProvider":"Generic","HttpVerb":"POST"
  19.                     }
  20.                   ]
  21.             },"Status":"Succeeded","StatusDetails":{
  22.                   "Report":"https://acesdev.s3-us-west-2.amazonaws.com/aces-workitem-reports/9688d314d6e94bc682f901b468ca8dbc/report.log?AWSAccessKeyId=ASIAIIRAOVQ
  23.                   YGB4OA7IA&Expires=1432231871&x-amz-security-token=AQoDYXdzEGIa0AMSDjA8SIKRwWVY8YvdmMQsZ3T5atGN2gDTUwcffe%2FMejuRGezSx%2F4lDaN1NwsGCc%2B91eXvocmWa
  24.                   EZA%2Bm8uClMwP%2Fr69UmL6RmOiK7dokQlbQGEoPEQwF%2Frpw2jPQ6wDq4suFWXlsuxODWP24v3GJ4fZRj9V4S91Z59Nagcla6Ll46YVS6rc0PlaC4ElJ89ncABb23dR%2BK%2FAAaPsFVV
  25.                   n8ZV81gqDbect8YjvMH2RCfXQb7KnheNFlL77AXMeJM11ahq3UUsDk2o3uYQswJQJg5AsYZEtXjbbKU40MDkLPKjn5Ua18%2FD1pNZFm%2FFhoHMHXHvfvJdfXPWHBKYEFCvIz%2FZyKg8COR
  26.                   DIpK04ZMuAV68jTiHGkes7U5L5QPnCDEDAyZnod6FK7djcNYQwJBE9SNge%2FBLAXmJ5Hsiuy8HZF7GF59LPSR%2BXyygw%2Fy1ssJxmKxK4jsUG33ukj69Mj1nXlKfVdk89cdonuOScw%2Bn
  27.                   D91%2B1kRozlIXkDT9Crf%2FceshJHY48vaPtJ5VG1sGIZoHW5fzwcbXDEJzhLJcj0UaFr5N3sgMKCX7KtZcqRYp%2Bupd7khRSAhC2LZdOyCHAQgi45F11qYZ8fwiUassVPEYIwTpYiDbgfO
  28.                   qBQ%3D%3D&Signature=omaAOII4CQaMUAXGChgsvT37I%2FU%3D"
  29.             },"AvailabilityZone":null,"TimeQueued":"2015-05-20T18:09:47.957Z","TimeInputTransferStarted":"2015-05-20T18:09:48.035Z","TimeScriptStarted":"2015-05-20T18:09:48.707Z",
  30.             "TimeScriptEnded":"2015-05-20T18:09:52.035Z","TimeOutputTransferEnded":"2015-05-20T18:09:52.16Z","BytesTranferredIn":169056,
  31.             "BytesTranferredOut":53800,"Id":"9688d314d6e94bc682f901b468ca8dbc","Version":1,"Timestamp":"2015-05-20T18:09:52.16Z"
  32.     }

Этот WorkItem выполняет WorkItem для экспорта входного чертежа в формат PDF. Он имеет следующие параметры:

  1. "Id": Определяет уникальное имя. Оно назначается назначается AutoCAD I/O API. Вы можете определить его как пустую строку при создании WorkItem.
  2. "Arguments": определяют ссылки на входной и выходной аргументы, необходимые в WorkItem. Это свойство является обязательным.
  3. "Status": показывает результат выполненного задания. Вы можете пропустить его при создании WorkItem.
  4. "StatusDetails": определяет ссылку на детали задачи, которая была выполнена. Пользователь может загрузить детали, используя упомянутую ссылку. Этот процесс может быть пропущен, при создании WorkItem.
  5. "AvailabilityZone": определяет расположение сервера, на котором выполняется WorkItem. Этот параметр в настоящее время игнорируются.
  6. "ActivityId": Ссылка на WorkItem, который будет выполнен. Это свойство является обязательным.
  7. "Version": определяет номер версии WorkItem.
  8. "Timestamp": Определяет время, когда последний WorkItem была создан или изменен. Вы можете пропустить его при создании WorkItem.

Пользователи имеют возможность создавать/читать/обновлять/удалять (CRUD - create/read/update/delete) WorkItem'ы.

Для создания WorkItem.

POST autocad.io/us-east/v2/WorkItems

Создаем WorkItem.

Пример успешного запроса:

Код - HTML: [Выделить]
  1. POST https://developer.api.autodesk.com/autocad.io/us-east/v2/WorkItems HTTP/1.1
  2. Content-Type: application/json
  3. Authorization: Bearer my_token
  4. Host: autocad.io
  5. Content-Length: 1711
  6.  
  7. {
  8.   "@odata.type":"#ACES.Models.WorkItem","Arguments":{
  9.    "InputArguments":[
  10.    {
  11.       "Resource":"https://s3.amazonaws.com/AutoCAD-Core-Engine-Services/TestDwg/makeall.dwg?
  12.       AWSAccessKeyId=AKIAIJFIKBQ63LIX6C2Q&Expires=1420099140&Signature=M08cnEcwClGjyNwwSll1GnaHhLw%3D",
  13.       "Name":"HostDwg","StorageProvider":"Generic"
  14.    }
  15.    ],"OutputArguments":[
  16.    {
  17.      "Name":"Result","StorageProvider":"Generic","HttpVerb":"POST"
  18.    }
  19.    ]
  20.    },"ActivityId":"PlotToPDF", "Id":""
  21. }

Пример успешного ответа:

Код - HTML: [Выделить]
  1. HTTP/1.1 201 Created
  2. Cache-Control: no-cache
  3. Content-Type: application/json; charset=utf-8
  4. Date: Tue, 13 May 2014 00:25:28 GMT
  5. Expires: -1
  6. Location: https://developer.api.autodesk.com/autocad.io/us-east/v2/WorkItems('9688d314d6e94bc682f901b468ca8dbc')
  7. Pragma: no-cache
  8. Server: Microsoft-IIS/8.0
  9. X-AspNet-Version: 4.0.30319
  10. X-Powered-By: ASP.NET
  11. Content-Length: 913
  12. Connection: keep-alive
  13.  
  14. {
  15.             "@odata.context":"https://developer-dev.api.autodesk.com/autocad.io/us-east/v2/$metadata#WorkItems/$entity","ActivityId":"PlotToPDF","Arguments":{
  16.                   "InputArguments":[
  17.                     {
  18.                           "Resource":"https://s3.amazonaws.com/AutoCAD-Core-Engine-Services/TestDwg/makeall.dwg","Name":"HostDwg","Headers":[
  19.  
  20.                           ],"ResourceKind":null,"StorageProvider":"Generic","HttpVerb":null
  21.                     }
  22.                   ],"OutputArguments":[
  23.                     {
  24.                           "Resource":null,"Name":"Result","Headers":[
  25.  
  26.                           ],"ResourceKind":null,"StorageProvider":"Generic","HttpVerb":"POST"
  27.                     }
  28.                   ]
  29.             },"Status":"Pending","StatusDetails":{
  30.                   "Report":null
  31.             },"AvailabilityZone":null,"TimeQueued":"2015-05-20T18:09:47.957112Z","TimeInputTransferStarted":null,"TimeScriptStarted":null,
  32.             "TimeScriptEnded":null,"TimeOutputTransferEnded":null,"BytesTranferredIn":null,"BytesTranferredOut":null,
  33.             "Id":"9688d314d6e94bc682f901b468ca8dbc","Version":1,"Timestamp":"0001-01-01T00:00:00Z"
  34.   }

Коды статуса:

Коды статуса HTTP

Сообщение разработчика

201

WorkItem успешно создан.

401

Недостаточно прав для выполнения этой операции.

500

Внутренняя ошибка сервера

Заголовки запроса

Заголовок запроса

Описание

Content-Type

– application/x-www-form-urlencoded

Authorization

– Bearer my_token


Источник: https://developer.autodesk.com/api/autocadio/#workitem-api
Автор перевода: Дмитрий Емельянов

Обсуждение: http://adn-cis.org/forum/index.php?topic=

Опубликовано 02.04.2016