기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
StartDICOMImportJob
작업을 사용하여 픽셀 데이터 확인 확인을 시작하고 데이터 AWS HealthImaging 스토어로 대량 데이터 가져오기를 시작합니다. 가져오기 작업은 inputS3Uri
파라미터로 지정된 Amazon S3 입력 버킷에 있는 DICOM P10 파일을 가져옵니다. 가져오기 작업 처리 결과는 outputS3Uri
파라미터로 지정된 Amazon S3 출력 버킷에 저장됩니다.
가져오기 작업을 시작하기 전에 다음 사항에 유의하세요.
-
HealthImaging 는 다양한 전송 구문으로 DICOM P10 파일 가져오기를 지원합니다. 일부 파일은 가져오기 중에 원래 전송 구문 인코딩을 유지하는 반면, 다른 파일은 기본적으로 무HTJ2K손실로 트랜스코딩됩니다. 자세한 내용은 지원되는 전송 구문 단원을 참조하십시오.
-
HealthImaging 는 지원되는 다른 리전 에 위치한 Amazon S3 버킷에서 데이터 가져오기를 지원합니다. Service 엔드포인트 이 기능을 사용하려면 가져오기 작업을 시작할 때 inputOwnerAccountId
파라미터를 제공합니다. 자세한 내용은 교차 계정 가져오기 대상 AWS HealthImaging 단원을 참조하십시오.
-
HealthImaging 는 가져오기 중에 특정 DICOM 요소에 길이 제약 조건을 적용합니다. 자세한 내용은 DICOM 요소 제약 조건 단원을 참조하십시오.
다음 메뉴는 AWS Management Console 및 의 AWS CLI 및 코드 예제에 대한 절차를 제공합니다 AWS SDKs. 자세한 내용은 참조StartDICOMImportJob
의 섹션을 참조하세요. AWS HealthImaging API
가져오기 작업을 시작하려면
에 대한 액세스 기본 설정에 따라 메뉴를 선택합니다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 가져오기 작업 시작
다음은 dicom 가져오기 작업을 시작하는 start-dicom-import-job
코드 예제입니다.
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 용 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 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)
필요한 예제를 찾을 수 없습니까? 이 페이지 하단의 피드백 제공 링크를 사용하여 코드 예제를 요청합니다.