Design Automation API: サポート エンジン一覧の取得

Design Automation API でアドイン実行に使用するコアエンジンは、Design Automation API:コアエンジン ライフサイクル ポリシー に基づき、対応するデスクトップ製品の新バージョン リリースに同期して、毎年、利用可能なコアエンジン バージョンが変化します。

利用出来るコアエンジン バージョンは、GET engines エンドポイントで照会することが可能ですが、コアエンジンの増加によって注意すべき点があります。具体的には、現在、GET engines エンドポイントの一度の呼び出しは、利用可能なすべてのコアエンジン バージョンが返されない状態になっています。

例えば、POST token エンドポイントで得た 2-legged アクセストークンを指定して、Postman で GET engines エンドポイントを呼び出すと、 次のようになります。

PostmanでDesign Automation APIのGET enginesエンドポイントに対するリクエストとそのレスポンスの例を示す画像。レスポンスにはコアエンジンのバージョンが一覧表示されている。

レスポンス ステータスが 200 OK(正常終了)を示しているにもかかわらず、data フィールドで返される配列内のコアエンジン名は、あきらかに少ないように見えます。

{
    "paginationToken": "3eyJOYW1lX2xhYmVsIjp7IlMiOiJJbnZlbnRvci4yMDIxIn0sIlJlY2VpdmVyIjp7IlMiOiJldmVyeW9uZSJ9LCJPd25lciI6eyJTIjoiQXV0b2Rlc2sifX0%3D",
    "data": [
        "Autodesk.3dsMax+2020",
        "Autodesk.3dsMax+2023",
        "Autodesk.Inventor+2022",
        "Autodesk.Inventor+2024",
        "Autodesk.AutoCAD+24_1",
        "Autodesk.Inventor+2026",
        "Autodesk.3dsMax+2025",
        "Autodesk.Revit+2023",
        "Autodesk.Inventor+2025",
        "Autodesk.Test+Updated",
        "Autodesk.Revit+2026",
        "Autodesk.AutoCAD+25_1",
        "Autodesk.AutoCAD+24",
        "Autodesk.AutoCAD+24_2",
        "Autodesk.AutoCAD+24_3",
        "Autodesk.Revit+2024",
        "Autodesk.AutoCAD+25_0",
        "Autodesk.Revit+2021",
        "Autodesk.Inventor+2025_Net8",
        "Autodesk.Inventor+2021"
    ]
}
このように、エンドポイント呼び出しのレスポンスサイズが大きくなると、システム全体のパフォーマンス低下につながってしまうため、最大数が制限されるものがあります。通常、そのようなエンドポイントには pagination 機能 が用意されていて、複数回に渡る呼び出しで全件データを得られるようになっています。

GET engines エンドポイントの場合、初回呼出しで得られたレスポンス JSON に “paginationToken” フィールド値が設定されていることで、pagination 機能 が適用されて複数ページでレスポンスが得られる、つまり、以降の呼び出しで残りのコアエンジン名が返されることがわかります。GET engines エンドポイントのリファレンスには、次のようにクエリー パラメータでページ指定出来ることが説明されています。

クエリ文字列パラメータの説明:ページ番号を指定して追加データを取得する方法を解説している図。

そこで、https://developer.api.autodesk.com/da/us-east/v3/engines?page=3eyJOYW1lX2xhYmVsIjp7IlMiOiJJbnZlbnRvci4yMDIxIn0sIlJlY2VpdmVyIjp7IlMiOiJldmVyeW
9uZSJ9LCJPd25lciI6eyJTIjoiQXV0b2Rlc2sifX0%3D
 のように、”page” クエリー パラメータに初回に返された “paginationToken” フィールド値を指定して GET engines エンドポイントを呼び出すと、残りのコアエンジン名を得ることが出来ます。この際、返されるレスポンスの “paginationToken” フィールド値が null になっていて、これ以上のページがなことがわかります。

PostmanでGET enginesエンドポイントを呼び出すための設定画面を表示し、レスポンスとして返されたJSONデータの一部が示されている。
{
    "paginationToken": null,
    "data": [
        "Autodesk.3dsMax+2024",
        "Autodesk.Revit+2025",
        "Autodesk.Revit+2018",
        "Autodesk.Test+Latest",
        "Autodesk.Inventor+2023",
        "Autodesk.Fusion+2601_00",
        "Autodesk.Fusion+2506_00",
        "Autodesk.Revit+2019",
        "Autodesk.3dsMax+2021",
        "Autodesk.Fusion+Latest",
        "Autodesk.Revit+2022",
        "Autodesk.3dsMax+2022",
        "Autodesk.Revit+2020"
    ]
}

なお、コアエンジン バージョンの削除期日は、利用者の使用状況を見て多少調整される場合があります。また、エンドポイントによって pagination の指定方法が変わる場合がありますのでご注意ください。

By Toshiaki Isezaki


Comments

Leave a Reply

Discover more from Autodesk Developer Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading