AWS ошибка при попытке опубликовать sh комплект приложений Autodesk Forge Design Automation - PullRequest
0 голосов
/ 02 марта 2020

При выполнении описанных здесь шагов: https://forge.autodesk.com/en/docs/design-automation/v3/tutorials/revit/step4-publish-appbundle/#step -3-upload-the-appbundle Я получаю Aws конкретную c ошибку.

<Error><Code>AccessDenied</Code><Message>No AWSAccessKey was presented.</Message>

У меня есть подтвердил мой запрос, но кажется, что заголовок и все данные формы были установлены правильно, как описано в этом примере:

curl -X POST \
  https://dasprod-store.s3.amazonaws.com \
  -H 'Cache-Control: no-cache' \
  -F key=apps/Revit/DeleteWallsApp/1 \
  -F content-type=application/octet-stream \
  -F policy=eyJleHBpcmF0aW9uIjoiMjAxOC... (truncated) \
  -F success_action_status=200 \
  -F success_action_redirect= \
  -F x-amz-signature=6c68268e23ecb8452... (truncated) \
  -F x-amz-credential=ASIAQ2W... (truncated) \
  -F x-amz-algorithm=AWS4-HMAC-SHA256 \
  -F x-amz-date=20180810... (truncated) \
  -F x-amz-server-side-encryption=AES256 \
  -F 'x-amz-security-token=FQoGZXIvYXdzEPj//////////wEaDHavu... (truncated)' \
  -F 'file=@path/to/your/app/zip'

Конечно, все значения были заменены ответом, полученным от

curl -X POST \
  https://developer.api.autodesk.com/da/us-east/v3/appbundles \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "DeleteWallsApp",
  "engine": "Autodesk.Revit+2018",
  "description": "Delete Walls AppBundle based on Revit 2018"
}'

Теперь, поскольку это ошибка AWS Speci c, возможно, в API AWS произошли некоторые изменения, и примеры, приведенные в документации по кузнице, не актуальны?

Ответы [ 2 ]

1 голос
/ 02 марта 2020

Рад, что вы выяснили, что происходит:)

Если вы хотите nodejs образец / пример для Design Automation, вы можете взглянуть на этот репозиторий. Даже несмотря на то, что он был построен для 3ds Max, концепции автоматизации проектирования остаются теми же.

https://github.com/Autodesk-Forge/design.automation.3dsmax-nodejs-basic/blob/master/createAndUploadApp.js

Надеюсь, что-то там может быть полезным для вас .

1 голос
/ 02 марта 2020

Это, похоже, проблема клиента.

Я использую пакет запроса npm в node.js и установил formData как часть атрибута формы вместо атрибута formData.

const request = require('request-promise');

return request.post(uploadParameters.endpointURL, {
  headers: {
   'Content-Type': 'multipart/form-data',
   'Cache-Control': 'no-cache'
  },
  formData: { // use formData instead of form
   ...uploadParameters.formData,
   file: fs.createReadStream(EXPECTED_APPBUNDLE_PATH)
  }
})

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...