
Design Automation API には、adskDebug オプション の他にもデバッグ時の作業を意識した WorkItem 作成時のオプションがあります。
WorkItem 呼び出し時に POST workitems エンドポイントのリクエストボディ(JSON ペイロード)に次のように指定すると、レポート ログ内に記載される https:// で始まる Signed URL(署名付き URL) をマスクするようになります。
{
"activityId": DA_FQ_ID,
"arguments": {
"DWGInput": {
"url": signedURLforInput,
"headers": {
"Authorization": "Bearer " + credentials.access_token
},
"verb": "get"
},
"Params": {
"url": "data:application/json," + paramsJSON
},
"FontMap": {
"url": signedURLforInput2,
"headers": {
"Authorization": "Bearer " + credentials.access_token
},
"verb": "get"
},
"PDFOutput": {
"url": signedURLforOutput,
"headers": {
"Authorization": "Bearer " + credentials.access_token
},
"verb": 'put'
},
"adskDebug": {
"uploadJobFolder": true
},
"adskMask": true,
"onComplete": {
"verb": "post",
"url": "https://myapp.com/api/oncomplete"
}
}
};
このようなペイロードを持つ WorkItem を実行すると、次のようなレポートログが生成されるようになります。
...
[10/05/2024 06:39:29] Starting work item 0fe44d455d8746ac85abeed514b9521a
[10/05/2024 06:39:29] Start download phase.
[10/05/2024 06:39:29] Start downloading input: verb - 'Get', url - 'https://cdn.us.oss.api.autodesk.com/Masked:C0umf7GG5di2OuyT/L1zlXpgk20='
[10/05/2024 06:39:29] Embedded resource [{"color":"1","quantity":"1","leaf":"true","width":"1639.25","height":"755.2","viewport:{"name":"","eye":[287.0944770146143,-648.0526370471215,0],"target":[0,0,0],"up":[0,0,1],"worldUpVector":[0,0,1],"pivotPoint":[0,0,0],"distanceToOrbit":708.7986026481874,"aspectRatio":2.1706215459108913,"projection":"perspective","isOrthographic":false,"fieldOfView":39.59775192067671}":""}] is saved as a file in 'Unicode' at: 'C:DARootJobsfe44d455d8746ac85abeed514b9521aparams.json'.
[10/05/2024 06:39:29] Start downloading input: verb - 'Get', url - 'https://cdn.us.oss.api.autodesk.com/Masked:y4DETvQs40/PsG8P8M9RnLN27ik='
[10/05/2024 06:39:29] End downloading file. Source=https://cdn.us.oss.api.autodesk.com/Masked:1CHAxLw4wvst4z9tTrJPbFr+65E=:DARootJobsfe44d455d8746ac85abeed514b9521atemplate.dwg,BytesDownloaded=2560555,Duration=352ms
[10/05/2024 06:39:30] End downloading file. Source=https://cdn.us.oss.api.autodesk.com/Masked:9Wsya8LrKMHLKE1hfBcM6QfYVbY=:DARootJobsfe44d455d8746ac85abeed514b9521adwg.fmp,BytesDownloaded=27,Duration=920ms
[10/05/2024 06:39:30] End download phase successfully.
[10/05/2024 06:39:30] Start preparing script and command line parameters.
[10/05/2024 06:39:30] Command line: [ /i "C:DARootJobsfe44d455d8746ac85abeed514b9521atemplate.dwg" /dwgfontmap /al "C:DARootApplications1442b4fbcf90fd28c5bfd2e255cfa6a4.AjFukUWeRk05eA9XpH8Nnh62BzPD60mg.TableFanConfigurator[1].package" /s C:DARootJobsfe44d455d8746ac85abeed514b9521asetting_script.scr /fonts "C:DARootJobsfe44d455d8746ac85abeed514b9521afonts_3380.txt"]
[10/05/2024 06:39:30] End preparing script and command line parameters.
[10/05/2024 06:39:30] Start script phase.
...
...
...
[10/05/2024 06:39:37] End script phase.
[10/05/2024 06:39:37] Start upload phase.
[10/05/2024 06:39:37] Uploading 'C:DARootJobsfe44d455d8746ac85abeed514b9521aquotation.pdf': verb - 'Put', url - 'https://cdn.us.oss.api.autodesk.com/Masked:U18NF6Hds/WrhlRw7OLh5RNCvys='
[10/05/2024 06:39:38] End upload phase successfully.
[10/05/2024 06:39:38] Job finished with result Succeeded
[10/05/2024 06:39:38] Job Status:
{
"status": "success",
"reportUrl": "https://dasprod-store.s3.amazonaws.com/Masked:DG6Ohh9ip90FoU0G/0Mcape0/XI=",
"debugInfoUrl": "https://dasprod-store.s3.amazonaws.com/Masked:BIYKOEYVWm3LqZ4fqrtAufLxJBE=",
"activityId": "AjFukUWeRk05eA9XpH8Nnh62BzPD60mg.TableFanConfigurator+dev",
"stats": {
"timeQueued": "2024-10-05T06:39:28.9311799Z",
"timeDownloadStarted": "2024-10-05T06:39:29.0093762Z",
"timeInstructionsStarted": "2024-10-05T06:39:30.207032Z",
"timeInstructionsEnded": "2024-10-05T06:39:37.4665154Z",
"timeUploadEnded": "2024-10-05T06:39:38.2780165Z",
"bytesDownloaded": 2560984,
"bytesUploaded": 410678
},
"id": "0fe44d455d8746ac85abeed514b9521a"
}
言うまでもなく、adskMask オプションを指定しない場合や、”adskMask”: false と指定した場合には、上記に太字で記した URL は、実際に使用できる完全な URL で表示されてしまいます。アプリ開発後の評価期間中にセキュアなデバッグ作業が必要とされるような場合には、このオプションの利用をご検討ください。
- adskMask オプションを指定すると、adskDebug オプション で生成された debugInfoUrl の URL もマスクされてしまうのでご注意ください。
- adskMask オプションによる URL のマスクは、Design Automation API:Direct-to-S3 アプローチを簡素化する新機能 の方法でご案内した入出力パラメータの URL(”urn:adsk.objects:os.object:<BucketKey>/<ObjectKey>” 様の形式)には適用されません。
By Toshiaki Isezaki

Leave a Reply