Существуют ли типы «элементов», которые не имеют связанного атрибута storageSize?

Я пытаюсь связать storageSize с каждым элементом в папке со следующим кодом:

foldersApi.getFolderContents(projectId, folderId, {}, oAuth2ThreeLegged, credentials)
  .then((response) => {
    const data = response.body.data;
    const included = response.body.included;

    const filesArray = data.filter(thing => thing.type === 'items');
    filesArray.forEach(file => {
      const version = included.find((i) => i.type === 'versions' && i.relationships.item.data.id === file.id);
      file.storageSize = version.attributes.storageSize;
    });
  })

В Руководстве по API управления данными в нем указано, что объект Version будет иметь атрибут storageSize только в том случае, если элемент является файлом. Какой тип элемента не будет файлом?

Возможно ли, что файлу не хватает этого атрибута?

Если это важно, папка находится в учетной записи BIM 360.


person Devin    schedule 21.11.2019    source источник
comment
Может подпапка?   -  person James    schedule 21.11.2019


Ответы (1)


В папке проекта BIM360 будут типы данных, включая «папки» и «элементы».

Да, в некоторых случаях в версии файла отсутствует свойство storageSize. Вот несколько случаев, о которых мы уже знаем:

  1. Раньше была проблема, что в файлах, загруженных из пользовательского интерфейса BIM360 Docs, отсутствует это свойство, подробности см. storageSize deos не отображается в ответе конечной точки версии загруженного файла , эта проблема уже зарегистрирована и исследована, и она должна быть исправлена ​​в соответствии с моей проверкой прямо сейчас, мы можем получить " storageSize», даже если файл загружается из пользовательского интерфейса, пожалуйста, проверьте, и я также подтверждаю это с нашим инженером (скоро сообщу вам). Но для устаревших файлов, которые уже загружены из пользовательского интерфейса, к сожалению, это свойство по-прежнему отсутствует.

  2. Например, для некоторых файлов, которые не являются обычным «исходным» файлом, это документ, извлеченный из исходного файла (модели), он разработан без этого свойства, но дайте мне знать, если у вас есть веская причина запросить это свойство даже для извлеченного документа.

  3. Если файл уже помечен как удаленный, и если вы выполните поиск по всем файлам, в том числе скрытым с помощью includeHidden=true, вы увидите, что версия файла также не имеет свойства «storageSize», как и было задумано.

Если вы действительно хотите получить размер хранилища, но он не указан в свойстве версии, обходным путем является получение размера из OSS, это другая история, мы можем поговорить об этом, если это ваше требование.

Если вы видите другую ситуацию, когда имущество отсутствует, сообщите нам об этом.

person Zhong Wu    schedule 22.11.2019
comment
Как я могу получить размер из OSS? В настоящее время я получаю размер файла напрямую, загружая его, но я бы предпочел проверить вызов API, если это возможно. - person Devin; 29.11.2019
comment
вам нужно получить ссылку на хранилище с сегментом и объектом, а затем использовать API https://forge.autodesk.com/en/docs/data/v2/reference/http/buckets-:bucketKey-objects-:objectName-details-GET/, чтобы получить размер хранилища. - person Zhong Wu; 30.11.2019