以前、BIM 360 Docs と Data Management API アクセス のブログ記事でも触れていますが、BIM 360 Docs の契約時には、利用するストレージを持つデータセンターの場所を、US と EMEA の 2 箇所から 1 つを選択指定するが出来ます。この場合、一部 endpoint に変更が生じていますので、念のためご紹介しておきます。GDPR 対応の一環と思います。なお、本ブログ記事は Forge ブログ記事 BIM 360 Docs: API Changes to Access Data in European Data Center を踏襲するものです。
注意: コードの非互換性を生む変更があります。 欧州(ヨーロッパ)のデータセンターで BIM 360 Docs を使用するお客様をお持ちの場合、新しい endpoint を使用するようコードを修正する必要があります。
BIM 360 Docs は欧州でのデータセンターの運用を始めていますが、 残念ながら、今回の変更により、BIM 360 Docs のモデルにアクセスするアプリケーション開発者は、ヨーロッパのデータセンターに格納されているモデルにアクセスするためにコードを変更する必要があります。
ご存知のとおり、BIM 360 APIは、アカウント管理機能など、いくつかのリソースに対して既に異なる 米国 および EU(欧州)の endpoint を使用しています。 詳細はこちらのドキュメントをご参照ください。 Data Management API は影響を受けません。
影響のある endpoint 一覧
Model Derivative API
次の Model Derivative API をお使いの場合には、欧州データ センターに保存されているデータにアクセスする endpoint に明示的に地域情報を含めるように変更する必要があります。
- POST references
- GET :urn/thumbnail
- GET :urn/manifest
- DELETE :urn/manifest
- GET :urn/manifest/:derivativeurn
- GET :urn/metadata
- GET :urn/metadata/:guid
- GET :urn/metadata/:guid/properties
例)
米国データセンター
https://developer.api.autodesk.com/modelderivative/v2/designdata/:urn/manifest
欧州データセンター
https://developer.api.autodesk.com/modelderivative/v2/regions/eu/designdata/:urn/manifest
Viewer
Viewer の場合、欧州データセンターで BIM 360 Docs にアップロードされたモデルを表示する場合、初期化処理でオプション パラメータとして 'derivativeV2_EU' を指定する必要があります。
ViewingApplication を使用する場合は、bucketKeyが EMEA(欧州) か US(米国) かどうかを判断する必要があります。 base64で URN をデコードし、urn:adsk.wipemea:xxx(欧州の場合)またはurn:adsk.wipprod:xxx(米国の場合)が含まれているかどうかを確認します。
Viewer コードでは、米国と欧州の両方の地域で動作するよう、以下のような実装を試行することができます:
var options = {
env: 'AutodeskProduction',
getAccessToken: getForgeToken,
api: 'derivativeV2' + (atob(urn.replace('_', '/')).indexOf('emea') > -1 ? '_EU' : '')
};
var documentId = 'urn:' + urn;
Autodesk.Viewing.Initializer(options, function onInitialized() {
// rest of code here…
});
- derivativeV2 (米国)
- derivativeV2_EU (欧州).
Forge ポータル内の SDK ドキュメントもまもなく更新される予定です。
ご不便をお掛けして大変申し訳ございません。本変更に関するご質問は、[email protected] までお問い合わせください。
By Toshiaki Isezaki
コメント
コメントフィードを購読すればディスカッションを追いかけることができます。