Inicio de un trabajo de importación - AWS HealthImaging

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Inicio de un trabajo de importación

Utilice la StartDICOMImportJob acción para iniciar una verificación de datos de píxeles y una importación masiva de datos a un almacén de HealthImaging datos de AWS. El trabajo de importación importa los archivos DICOM P10 ubicados en el bucket de entrada de Amazon S3 especificado por el parámetro inputS3Uri. Los resultados del procesamiento del trabajo de importación se almacenan en el bucket de salida de Amazon S3 especificado por el parámetro outputS3Uri.

nota

Tenga en cuenta los siguientes puntos antes de iniciar un trabajo de importación:

  • HealthImaging admite la importación de archivos DICOM P10 con diferentes sintaxis de transferencia. Algunos archivos conservan su codificación de sintaxis de transferencia original durante la importación, mientras que otros se transcodifican a HTJ2 K sin pérdidas de forma predeterminada. Para obtener más información, consulte Sintaxis de transferencia compatibles.

  • HealthImaging admite la importación de datos desde buckets de Amazon S3 ubicados en otras regiones compatibles. Para lograr esta funcionalidad, proporcione el inputOwnerAccountId parámetro al iniciar un trabajo de importación. Para obtener más información, consulte Importación multicuenta para AWS HealthImaging.

  • HealthImaging aplica restricciones de longitud a elementos DICOM específicos durante la importación. Para obtener más información, consulte Restricciones de los elementos DICOM.

Los menús siguientes proporcionan un procedimiento AWS Management Console y ejemplos de código para las teclas AWS CLI y AWS SDKs. Para obtener más información, consulte StartDICOMImportJobla referencia de la HealthImaging API de AWS.

Cómo iniciar un trabajo de importación

Elija un menú en función de sus preferencias de acceso a AWS HealthImaging.

  1. Abra la página de almacenes de datos de la HealthImaging consola.

  2. Elija un almacén de datos.

  3. Seleccione Importar datos DICOM.

    Se abrirá la página de Importar datos DICOM.

  4. En la sección Detalles, introduce la siguiente información:

    • Nombre (opcional)

    • Importar la ubicación de origen en S3

    • ID de cuenta del propietario del bucket de origen (opcional)

    • Clave de cifrado (opcional)

    • Destino de salida en S3

  5. En la sección Acceso al servicio, elija Usar un rol de servicio existente y seleccione el rol en el menú del Nombre del rol de servicio o elija Crear y usar un nuevo rol de servicio.

  6. Seleccione Importar.

C++
SDK para 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(); }
  • Para obtener más información sobre la API, consulta Start DICOMImport Job in AWS SDK for C++ API Reference.

nota

Hay más información al respecto GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

CLI
AWS CLI

Inicio de un trabajo de importación DICOM

En el siguiente ejemplo de código start-dicom-import-job se inicia un trabajo de importación 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"

Salida:

{ "datastoreId": "12345678901234567890123456789012", "jobId": "09876543210987654321098765432109", "jobStatus": "SUBMITTED", "submittedAt": "2022-08-12T11:28:11.152000+00:00" }

Para obtener más información, consulta Cómo iniciar un trabajo de importación en la Guía para AWS HealthImaging desarrolladores.

Java
SDK para 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 ""; }
  • Para obtener más información sobre la API, consulta Start DICOMImport Job in AWS SDK for Java 2.x API Reference.

nota

Hay más información al respecto GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

JavaScript
SDK para 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; };
  • Para obtener más información sobre la API, consulta Start DICOMImport Job in AWS SDK for JavaScript API Reference.

nota

Hay más información al respecto GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

Python
SDK para 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"]

El siguiente código crea una instancia del MedicalImagingWrapper objeto.

client = boto3.client("medical-imaging") medical_imaging_wrapper = MedicalImagingWrapper(client)
  • Para obtener más información sobre la API, consulta la referencia de la API Start DICOMImport Job in AWS SDK for Python (Boto3).

nota

Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

Ejemplo de disponibilidad

¿No encuentra lo que necesita? Solicita un ejemplo de código mediante el enlace Enviar comentarios en la barra lateral derecha de esta página.