本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 StartDICOMImportJob
動作啟動像素資料驗證檢查,並將大量資料匯入AWS HealthImaging 資料存放區。匯入任務會匯入位於 inputS3Uri
參數所指定 Amazon S3 輸入儲存貯體中的 DICOM P10 檔案。匯入任務處理結果會存放在 outputS3Uri
參數指定的 Amazon S3 輸出儲存貯體中。
在開始匯入任務之前,請謹記下列事項:
-
HealthImaging 支援匯入具有不同傳輸語法的 DICOM P10 檔案。有些檔案會在匯入期間保留其原始傳輸語法編碼,而其他檔案預設會轉碼為無HTJ2K失真。如需詳細資訊,請參閱支援的傳輸語法。
-
HealthImaging 支援從位於其他支援區域的 Amazon S3 儲存貯體匯入資料。若要實現此功能,請在開始匯入任務時提供 inputOwnerAccountId
參數。如需詳細資訊,請參閱的跨帳戶匯入 AWS HealthImaging。
-
HealthImaging 會在匯入期間將長度限制套用至特定DICOM元素。如需詳細資訊,請參閱DICOM 元素限制條件。
下列功能表提供 和 的 AWS Management Console 和 AWS CLI 程式碼範例程序 AWS SDKs。如需詳細資訊,請參閱 AWS HealthImaging API 參考中的「StartDICOMImportJob
」。
啟動匯入任務
根據您對 的存取偏好設定,選擇選單AWS HealthImaging。
-
開啟 HealthImaging 主控台資料存放區頁面。
-
選擇資料存放區。
-
選擇匯入DICOM資料。
匯入DICOM資料頁面隨即開啟。
-
在詳細資訊區段下,輸入下列資訊:
-
在服務存取區段下,選擇使用現有的服務角色,然後從服務角色名稱功能表中選取角色,或選擇建立並使用新的服務角色。
-
選擇匯入。
- C++
-
- SDK 適用於 C++
-
//! Routine which starts a HealthImaging import job.
/*!
\param dataStoreID: The HealthImaging data store ID.
\param inputBucketName: The name of the Amazon S3 bucket containing the DICOM files.
\param inputDirectory: The directory in the S3 bucket containing the DICOM files.
\param outputBucketName: The name of the S3 bucket for the output.
\param outputDirectory: The directory in the S3 bucket to store the output.
\param roleArn: The ARN of the IAM role with permissions for the import.
\param importJobId: A string to receive the import job ID.
\param clientConfig: Aws client configuration.
\return bool: Function succeeded.
*/
bool AwsDoc::Medical_Imaging::startDICOMImportJob(
const Aws::String &dataStoreID, const Aws::String &inputBucketName,
const Aws::String &inputDirectory, const Aws::String &outputBucketName,
const Aws::String &outputDirectory, const Aws::String &roleArn,
Aws::String &importJobId,
const Aws::Client::ClientConfiguration &clientConfig) {
Aws::MedicalImaging::MedicalImagingClient medicalImagingClient(clientConfig);
Aws::String inputURI = "s3://" + inputBucketName + "/" + inputDirectory + "/";
Aws::String outputURI = "s3://" + outputBucketName + "/" + outputDirectory + "/";
Aws::MedicalImaging::Model::StartDICOMImportJobRequest startDICOMImportJobRequest;
startDICOMImportJobRequest.SetDatastoreId(dataStoreID);
startDICOMImportJobRequest.SetDataAccessRoleArn(roleArn);
startDICOMImportJobRequest.SetInputS3Uri(inputURI);
startDICOMImportJobRequest.SetOutputS3Uri(outputURI);
Aws::MedicalImaging::Model::StartDICOMImportJobOutcome startDICOMImportJobOutcome = medicalImagingClient.StartDICOMImportJob(
startDICOMImportJobRequest);
if (startDICOMImportJobOutcome.IsSuccess()) {
importJobId = startDICOMImportJobOutcome.GetResult().GetJobId();
}
else {
std::cerr << "Failed to start DICOM import job because "
<< startDICOMImportJobOutcome.GetError().GetMessage() << std::endl;
}
return startDICOMImportJobOutcome.IsSuccess();
}
- CLI
-
- AWS CLI
-
啟動 dicom 匯入任務
下列start-dicom-import-job
程式碼範例會啟動 dicom 匯入任務。
aws medical-imaging start-dicom-import-job \
--job-name "my-job"
\
--datastore-id "12345678901234567890123456789012"
\
--input-s3-uri "s3://medical-imaging-dicom-input/dicom_input/"
\
--output-s3-uri "s3://medical-imaging-output/job_output/"
\
--data-access-role-arn "arn:aws:iam::123456789012:role/ImportJobDataAccessRole"
輸出:
{
"datastoreId": "12345678901234567890123456789012",
"jobId": "09876543210987654321098765432109",
"jobStatus": "SUBMITTED",
"submittedAt": "2022-08-12T11:28:11.152000+00:00"
}
如需詳細資訊,請參閱《 AWS HealthImaging 開發人員指南》中的啟動匯入任務。
- Java
-
- SDK 適用於 Java 2.x
-
public static String startDicomImportJob(MedicalImagingClient medicalImagingClient,
String jobName,
String datastoreId,
String dataAccessRoleArn,
String inputS3Uri,
String outputS3Uri) {
try {
StartDicomImportJobRequest startDicomImportJobRequest = StartDicomImportJobRequest.builder()
.jobName(jobName)
.datastoreId(datastoreId)
.dataAccessRoleArn(dataAccessRoleArn)
.inputS3Uri(inputS3Uri)
.outputS3Uri(outputS3Uri)
.build();
StartDicomImportJobResponse response = medicalImagingClient.startDICOMImportJob(startDicomImportJobRequest);
return response.jobId();
} catch (MedicalImagingException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
return "";
}
- JavaScript
-
- SDK for JavaScript (v3)
-
import { StartDICOMImportJobCommand } from "@aws-sdk/client-medical-imaging";
import { medicalImagingClient } from "../libs/medicalImagingClient.js";
/**
* @param {string} jobName - The name of the import job.
* @param {string} datastoreId - The ID of the data store.
* @param {string} dataAccessRoleArn - The Amazon Resource Name (ARN) of the role that grants permission.
* @param {string} inputS3Uri - The URI of the S3 bucket containing the input files.
* @param {string} outputS3Uri - The URI of the S3 bucket where the output files are stored.
*/
export const startDicomImportJob = async (
jobName = "test-1",
datastoreId = "12345678901234567890123456789012",
dataAccessRoleArn = "arn:aws:iam::xxxxxxxxxxxx:role/ImportJobDataAccessRole",
inputS3Uri = "s3://medical-imaging-dicom-input/dicom_input/",
outputS3Uri = "s3://medical-imaging-output/job_output/",
) => {
const response = await medicalImagingClient.send(
new StartDICOMImportJobCommand({
jobName: jobName,
datastoreId: datastoreId,
dataAccessRoleArn: dataAccessRoleArn,
inputS3Uri: inputS3Uri,
outputS3Uri: outputS3Uri,
}),
);
console.log(response);
// {
// '$metadata': {
// httpStatusCode: 200,
// requestId: '6e81d191-d46b-4e48-a08a-cdcc7e11eb79',
// extendedRequestId: undefined,
// cfId: undefined,
// attempts: 1,
// totalRetryDelay: 0
// },
// datastoreId: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
// jobId: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
// jobStatus: 'SUBMITTED',
// submittedAt: 2023-09-22T14:48:45.767Z
// }
return response;
};
- Python
-
- SDK for Python (Boto3)
-
class MedicalImagingWrapper:
def __init__(self, health_imaging_client):
self.health_imaging_client = health_imaging_client
def start_dicom_import_job(
self, job_name, datastore_id, role_arn, input_s3_uri, output_s3_uri
):
"""
Start a DICOM import job.
:param job_name: The name of the job.
:param datastore_id: The ID of the data store.
:param role_arn: The Amazon Resource Name (ARN) of the role to use for the job.
:param input_s3_uri: The S3 bucket input prefix path containing the DICOM files.
:param output_s3_uri: The S3 bucket output prefix path for the result.
:return: The job ID.
"""
try:
job = self.health_imaging_client.start_dicom_import_job(
jobName=job_name,
datastoreId=datastore_id,
dataAccessRoleArn=role_arn,
inputS3Uri=input_s3_uri,
outputS3Uri=output_s3_uri,
)
except ClientError as err:
logger.error(
"Couldn't start DICOM import job. Here's why: %s: %s",
err.response["Error"]["Code"],
err.response["Error"]["Message"],
)
raise
else:
return job["jobId"]
下列程式碼會執行個體化 MedicalImagingWrapper 物件。
client = boto3.client("medical-imaging")
medical_imaging_wrapper = MedicalImagingWrapper(client)
找不到所需的內容嗎? 使用此頁面右側的提供意見回饋連結來請求程式碼範例。