Deux exigences sont nécessaires:

  1. Obtenez le chemin de l'élément du document dans une gestion de documents BIM360.
  2. Obtenez tous les attributs personnalisés pour cet élément. Pour Req. 1, une API existe pour récupérer et pour obtenir des attributs personnalisés, une autre API existe et les données peuvent être récupérées. Existe-t-il un moyen d'obtenir les deux exigences en un seul appel API au lieu d'en utiliser deux. En cas de grand nombre d'enregistrements, l'api pour récupérer le chemin de l'élément prend plus d'une heure pour récupérer plus de 19000 enregistrements et le jeton expire si le jeton de refesh est utilisé, tandis que l'api d'attribut personnalisé traite les données par lots de 50, ce qui le complète en 5 minutes seulement. Veuillez suggérer.
0
Ashwini Kumar Saxena 26 févr. 2021 à 09:55

2 réponses

Meilleure réponse

Les attributs personnalisés par lots sont destinés aux attributs supplémentaires spécifiques à la gestion de documents. Alors que le chemin dans le projet est une information générale avec la gestion des données.

L'API de gestion des données fournit certains points de terminaison dans un format de commande, ce qui peut demander au backend de traiter les données pour un groupe d'éléments. https://forge.autodesk.com/en/docs / data / v2 / reference / http / ListItems /

Cette commande récupérera les métadonnées pour un maximum de 50 éléments spécifiés une fois. Il prend également en charge l'indicateur includePathInProject , mais son utilisation est délicate et le document API ne l'indique pas. Dans la réponse, il indiquera au pathInProject de ces éléments. Cela peut gagner plus de temps que l'itération.

 {
     "jsonapi": {
      "version": "1.0"
 },
  "data": {
"type": "commands",
"attributes": {
  "extension": {
    "type": "commands:autodesk.core:ListItems",
    "version": "1.0.0" ,
    "data":{
        "includePathInProject":true
    }

  }
},
"relationships": {
  "resources": {
    "data": [
      {
        "type": "items",
        "id": "urn:adsk.wipprod:dm.lineage:vkLfPabPTealtEYoXU6m7w"
      },
      {  
        "type": "items",
        "id": "urn:adsk.wipprod:dm.lineage:bcg7gqZ6RfG4BoipBe3VEQ"
      } 
    ]
  }
  }
 }
} 
0
Xiaodong Liang 12 mars 2021 à 07:22
  • Obtenez le chemin de l'élément du document dans une gestion de documents BIM360.

Est-ce que cette question concerne l'obtention de la hiérarchie de l'article? par exemple. dossier racine >> sous-dossier >> élément? Avec le point de terminaison, en spécifiant le paramètre de requête includePathInProject = true, il renverra le chemin relatif de l'élément (pathInProject) dans la structure du dossier. https: // forge .autodesk.com / fr / docs / data / v2 / reference / http / projects-project_id-items-item_id-GET /

"data": {
    "type": "items",
    "id": "urn:adsk.wipprod:dm.lineage:xxx",
    "attributes": {
        "displayName": "my-issue-att.png",
        "createTime": "2021-03-12T04:51:01.0000000Z",
        "createUserId": "xxx",
        "createUserName": "Xiaodong Liang",
        "lastModifiedTime": "2021-03-12T04:51:02.0000000Z",
        "lastModifiedUserId": "200902260532621",
        "lastModifiedUserName": "Xiaodong Liang",
        "hidden": false,
        "reserved": false,
        "extension": {
            "type": "items:autodesk.bim360:File",
            "version": "1.0",
            "schema": {
                "href": "https://developer.api.autodesk.com/schema/v1/versions/items:autodesk.bim360:File-1.0"
            },
            "data": {
                "sourceFileName": "my-issue-att.png"
            }
        },
        "pathInProject": "/Project Files"
    }

Ou si vous pouvez itérer par les données du parent

"parent": {
    "data": {
      "type": "folders",
      "id": "urn:adsk.wipprod:fs.folder:co.sdfedf8wef"
    },
    "links": {
      "related": {
        "href": "https://developer.api.autodesk.com/data/v1/projects/b.project.id.xyz/items/urn:adsk.wipprod:dm.lineage:hC6k4hndRWaeIVhIjvHu8w/parent"
      }
    }
  },
  • Obtenez tous les attributs personnalisés pour cet élément. Pour Req. 1, une API existe pour récupérer et pour obtenir des attributs personnalisés, une autre API existe et les données peuvent être récupérées. Existe-t-il un moyen d'obtenir les deux exigences en un seul appel API au lieu d'en utiliser deux. En cas de grand nombre d'enregistrements, l'api pour récupérer le chemin de l'élément prend plus d'une heure pour récupérer plus de 19000 enregistrements et le jeton expire si le jeton de refesh est utilisé, tandis que l'api d'attribut personnalisé traite les données par lots de 50, ce qui le complète en 5 minutes seulement. Veuillez suggérer.*

Laissez-moi essayer de mieux comprendre la question. Premièrement, deux choses: les définitions d'attributs personnalisés et les valeurs d'attributs personnalisés (avec les documents). Pourriez-vous clarifier quels sont-ils avec plus de 19000 enregistrements?

Si les définitions d'attributs personnalisés, l'API pour les récupérer est https: / /forge.autodesk.com/en/docs/bim360/v1/reference/http/document-management-custom-attribute-definitions-GET/ Il prend en charge de définir la limite de chaque appel. c'est-à-dire que la limite maximale d'un appel est de 200, ce qui signifie que vous pouvez récupérer plus de 19000 enregistrements par 95 fois, alors que chaque appel devrait être rapide (avec mon expérience <10 secondes). Au total environ 15 minutes, au lieu de plus d'une heure. Ou à vos côtés, chaque appel avec 200 enregistrements prendra beaucoup de temps?

Si des valeurs d'attributs personnalisés, l'API pour les récupérer est https: // forge .autodesk.com / fr / docs / bim360 / v1 / reference / http / document-management-versionsbatch-get-POST / comme vous le savez, 50 enregistrements à chaque fois. Et il semble que ce soit assez rapide à vos côtés avec 5 minutes seulement si vous récupérez les valeurs de plus de 19000 enregistrements?

0
Xiaodong Liang 12 mars 2021 à 06:55