所需的步骤是:
StartDICOMImportJobAsync
的调用工作正常:
s3://bucketname/level1prefix/
s3://bucketname/level1prefix/level2prefix/
level1prefix
(例如入藏号或研究实例 UID)但在第二级具有唯一前缀的 S3 上传作业。
level2prefix
是唯一的作业 ID GUID。为了排除故障,我在 AWS HealthImaging 控制台中尝试了相同的导入,并成功地将 DICOM 数据从
bucketname/level1prefix/level2prefix
导入到我的数据存储中。
由于它是在控制台而不是 API 调用上工作的,所以感觉可能是时间问题或前缀解析错误,其中 API 调用可能只获取第二个分隔符(正斜杠)之前的所有内容,否则无法读取我脑海。我对应该起作用的期望完全有可能是不正确的,但我在在线文档中找不到任何可以提供清晰说明的内容。
有没有办法以编程方式从 S3 子存储桶导入 HealthImaging 数据存储?任何有从 S3 导入 HealthImaging 的经验的人可以提供一丝见解吗?
问题已解决(4/24/24) 发现此问题是由于内部开发的内部库中如何使用作业 GUID 将 DICOM 图像上传到 S3 以及开发脚本如何使用相同的结果造成的用于构造 S3 关键路径的 GUID。更多内容请参见下面的答案。
内部 S3 DICOM 上传库正在执行此操作:
string keyPart = job.Guid.ToString("N");
当我从 S3 导入 HealthImaging 的开发脚本正在执行此操作时:
string keyPart = job.Guid.ToString();
当然,生成的 GUID 字符串版本是不同的,其中一个版本如下所示:
532cf00c03344615a5195f3b3fdab607
另一个版本看起来像这样:
532cf00c-0334-4615-a519-5f3b3fdab607
最终的解决方案归结为结对编程和一位同事,他说“向我展示完整的路径”,而他的大脑没有接受过看不出差异的训练。