本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建数据存储
使用CreateDatastore操作创建用于导入 DICOM P10 文件的 AWS HealthImaging 数据存储。以下菜单提供了操作步骤 AWS 管理控制台 和 AWS CLI 和的代码示例 AWS SDKs。有关更多信息,请参阅 AWS HealthImaging API 参考CreateDatastore中的。创建数据存储时,您可以选择 AWS HealthImaging 用于转码和存储无损图像帧的默认传输语法。创建数据存储后,无法更改此配置。
高吞吐量 JPEG 2000 (HTJ2K)
HTJ2K(高吞吐量 JPEG 2000)是 HealthImaging 数据存储的默认存储格式。它是 JPEG 2000 标准的扩展,可显著提高编码和解码性能。在未指定 a 的情况下创建数据存储时—lossless-storage-format, HealthImaging 会自动使用 HTJ2 K。
aws medical-imaging create-datastore \
--datastore-name "my-datastore"
原生 JPEG 2000 Lossless
原生 JPEG 2000 无损编码允许创建无需转码即可保留和检索 JPEG 2000 格式的无损图像帧的数据存储库,从而为需要 JPEG 2000 Lossless(DICOM 传输语法 UID 1.2.840.10008.1.2.4.90)的应用程序实现更低的检索延迟,详情请参阅。支持的传输语法
创建 JPEG 2000 无损数据存储库
要创建支持 JPEG 2000 Lossless 的数据存储,请执行以下操作:
aws medical-imaging create-datastore \
--datastore-name "my-datastore" \
--lossless-storage-format JPEG_2000_LOSSLESS
创建数据存储
根据您对 AWS 的访问偏好选择菜单 HealthImaging。
- Bash
-
- AWS CLI 使用 Bash 脚本
-
###############################################################################
# function errecho
#
# This function outputs everything sent to it to STDERR (standard error output).
###############################################################################
function errecho() {
printf "%s\n" "$*" 1>&2
}
###############################################################################
# function imaging_create_datastore
#
# This function creates an AWS HealthImaging data store for importing DICOM P10 files.
#
# Parameters:
# -n data_store_name - The name of the data store.
#
# Returns:
# The datastore ID.
# And:
# 0 - If successful.
# 1 - If it fails.
###############################################################################
function imaging_create_datastore() {
local datastore_name response
local option OPTARG # Required to use getopts command in a function.
# bashsupport disable=BP5008
function usage() {
echo "function imaging_create_datastore"
echo "Creates an AWS HealthImaging data store for importing DICOM P10 files."
echo " -n data_store_name - The name of the data store."
echo ""
}
# Retrieve the calling parameters.
while getopts "n:h" option; do
case "${option}" in
n) datastore_name="${OPTARG}" ;;
h)
usage
return 0
;;
\?)
echo "Invalid parameter"
usage
return 1
;;
esac
done
export OPTIND=1
if [[ -z "$datastore_name" ]]; then
errecho "ERROR: You must provide a data store name with the -n parameter."
usage
return 1
fi
response=$(aws medical-imaging create-datastore \
--datastore-name "$datastore_name" \
--output text \
--query 'datastoreId')
local error_code=${?}
if [[ $error_code -ne 0 ]]; then
aws_cli_error_log $error_code
errecho "ERROR: AWS reports medical-imaging create-datastore operation failed.$response"
return 1
fi
echo "$response"
return 0
}
- CLI
-
- AWS CLI
-
创建数据存储
以下 create-datastore 代码示例创建名称为 my-datastore 的数据存储。在未指定 a 的情况下创建数据存储时--lossless-storage-format, AWS HealthImaging 默认为 HTJ2 K(高吞吐量 JPEG 2000)。
aws medical-imaging create-datastore \
--datastore-name "my-datastore"
输出:
{
"datastoreId": "12345678901234567890123456789012",
"datastoreStatus": "CREATING"
}
有关更多信息,请参阅《AWS HealthImaging 开发人员指南》中的创建数据存储。
- Java
-
- 适用于 Java 的 SDK 2.x
-
public static String createMedicalImageDatastore(MedicalImagingClient medicalImagingClient,
String datastoreName) {
try {
CreateDatastoreRequest datastoreRequest = CreateDatastoreRequest.builder()
.datastoreName(datastoreName)
.build();
CreateDatastoreResponse response = medicalImagingClient.createDatastore(datastoreRequest);
return response.datastoreId();
} catch (MedicalImagingException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
return "";
}
- JavaScript
-
- 适用于 JavaScript (v3) 的软件开发工具包
-
import { CreateDatastoreCommand } from "@aws-sdk/client-medical-imaging";
import { medicalImagingClient } from "../libs/medicalImagingClient.js";
/**
* @param {string} datastoreName - The name of the data store to create.
*/
export const createDatastore = async (datastoreName = "DATASTORE_NAME") => {
const response = await medicalImagingClient.send(
new CreateDatastoreCommand({ datastoreName: datastoreName }),
);
console.log(response);
// {
// '$metadata': {
// httpStatusCode: 200,
// requestId: 'a71cd65f-2382-49bf-b682-f9209d8d399b',
// extendedRequestId: undefined,
// cfId: undefined,
// attempts: 1,
// totalRetryDelay: 0
// },
// datastoreId: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
// datastoreStatus: 'CREATING'
// }
return response;
};
- Python
-
- 适用于 Python 的 SDK(Boto3)
-
class MedicalImagingWrapper:
def __init__(self, health_imaging_client):
self.health_imaging_client = health_imaging_client
def create_datastore(self, name):
"""
Create a data store.
:param name: The name of the data store to create.
:return: The data store ID.
"""
try:
data_store = self.health_imaging_client.create_datastore(datastoreName=name)
except ClientError as err:
logger.error(
"Couldn't create data store %s. Here's why: %s: %s",
name,
err.response["Error"]["Code"],
err.response["Error"]["Message"],
)
raise
else:
return data_store["datastoreId"]
以下代码实例化对象。 MedicalImagingWrapper
client = boto3.client("medical-imaging")
medical_imaging_wrapper = MedicalImagingWrapper(client)
找不到所需的内容? 使用本页右侧边栏上的 “提供反馈” 链接请求代码示例。