WorkItem - ›Ошибка: не удалось подготовить пакет (ы) приложений.

Я пытаюсь изменить файл DWG с помощью API AutoDesk.

Я создал простую команду в Visual Basic, эта команда хорошо работает в AutoCAD. Имя команды - «Рота».

Затем я создал XML-файл:

<?xml version="1.0" encoding="utf-8"?>
<ApplicationPackage
  SchemaVersion="1.0"
  Version="1.0"
  AutodeskProduct="AutoCAD"
  AppVersion="0.1.0"
  Name="PluginPrueba"
  Description="Paquete de Prueba"
  Author="Yomisma" >

  <Components>
    <RuntimeRequirements 
      OS="Win64" 
      Platform="AutoCAD" 
      SeriesMin="R23.0" 
      SeriesMax="R23.0"/>
  <ComponentEntry
    AppName="Comandos"
    ModuleName="./Contents/PluginPrueba.dll"
    AppType=".Net"
    AppDescription="Rotate 45 degrees"
    LoadOnCommandInvocation="True"
    LoadOnAutoCADStartup="True">
    <Commands GroupName="ComandosVB">
      <Command Global="Rota" Local="Rota" />
      </Commands>
    </ComponentEntry>
  </Components>
</ApplicationPackage>

Я поместил XML в папку PluginPrueba.bundle, и я создал папку Contests (в эту папку я положил файл DLL). Затем я создал ZIP-файл.

Затем в свой код я выполняю следующие шаги:

1.- oAuth.

2.- Создайте ведро. Я поместил в файл Bucket de DWG, чтобы изменить.

3.- Опубликовать пакет

4.- CreateBundleAlias

5.- UploadToForge ZIP-файл.

6.- Создать действие

{
    "id": "ActivityPrueba",
    "commandLine": "$(engine.path)\\accoreconsole.exe /i $(args[inputFile].path) /al $(appbundles[{{ AppBundleName  }}].path) /s $(settings[script].path)",
    "parameters": {
        "inputFile": {
            "zip": false,
            "ondemand": false,
            "verb": "get",
            "description": "Rota DWG",
            "localName": "$(inputFile)"
        },
        "outputFile": {
            "zip": false,
            "ondemand": false,
            "verb": "put",
            "description": "output file",
            "localName": "outputFile.dwg",
            "required": "true"
        }
    },
    "engine": "Autodesk.AutoCAD+23",
    "appbundles": [
        "{{ client_id  }}.{{ AppBundleName  }}+prod"
    ],
    "settings": {
        "script": "Rota\n"
    },
    "description": "AutoCAD Prueba Comando."
}

7.- Создать псевдоним действия

8.- Создать WorkItem

Когда я выполнил, это отчет:

[07/17/2019 08:10:23] Starting work item { id }
[07/17/2019 08:10:23] Start download phase.
[07/17/2019 08:10:23] Start preparing AppPackage appBundlePrueba.
[07/17/2019 08:10:23] Start downloading file https://developer.api.autodesk.com/oss/v2/buckets/newtoken/objects/square.dwg.
[07/17/2019 08:10:23] Download bits and install app to local cache.
[07/17/2019 08:10:23] Error: Failed to prepare app package(s).
[07/17/2019 08:10:23] End downloading file https://developer.api.autodesk.com/oss/v2/buckets/newtoken/objects/square.dwg. 32049 bytes have been written to T:\Aces\Jobs\b64f9613734b497db06459cdcd6e6fb1\square.dwg.
[07/17/2019 08:10:23] End download phase.
[07/17/2019 08:10:23] Error: An unexpected error happened during phase Downloading of job.
[07/17/2019 08:10:23] Job finished with result FailedEnvironmentSetup
[07/17/2019 08:10:23] Job Status:
{
  "status": "failedDownload",
  ..........................
}

Что не так?


person Beth    schedule 17.07.2019    source источник


Ответы (2)


Как следует из сообщения об ошибке, нашему сервису не удалось загрузить входной файл из корзины ... скорее всего, из-за отсутствия информации для аутентификации в заголовке.

Имейте в виду, что наши корзины защищены OAuth2, поэтому вам потребуется предоставить токен доступа (см. здесь для подробностей) в вашем рабочем элементе или сгенерируйте подписанный URL-адрес для загрузки / выгрузки объектов временно без аутентификации (см. Подробности здесь)

"headers": {
              "Authorization": "", //header goes here
              "Content-type": "application/octet-stream"
            },

В качестве альтернативы вы можете хранить файлы ввода / вывода в любом удаленном хранилище по вашему выбору - AWS / GCD / Azure и т. Д.

person Bryan Huang    schedule 18.07.2019

Спасибо, Брайан !!

Я решил изменить ошибку в Activity:

"settings": {
    "script": "Rota\n"

to:

"settings": {
    "script": "(command \"Rota\")\n"

Теперь у меня другая ошибка:

[07/18/2019 09:24:00] Error: Non-optional output [outputFile.dwg] is missing .

[07/18/2019 09:24:00] Error: An unexpected error happened during phase Publishing of job.

В Activity у меня есть следующий код:

    "outputFile": {
        "zip": false,
        "ondemand": false,
        "verb": "put",
        "description": "output file",
        "localName": "outputFile.dwg",
        "required": "true"
    }

И в WorkItem:

    "outputFile": {
        "url": "https://developer.api.autodesk.com/oss/v2/buckets/{{ TokenKey}}/objects/square.dwg",
        "headers": {
            "Authorization": "Bearer {{ oAuthToken  }}",
            "Content-type": "application/octet-stream"
        },
        "verb": "put"
    },

Что можно поменять?

Спасибо!!

person Beth    schedule 18.07.2019