Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyimpan instans dengan STOW-RS
AWS HealthImaging menawarkan representasi DICOMweb STOW-RS
APIs untuk mengimpor data. Gunakan ini APIs untuk menyimpan data DICOM secara sinkron ke penyimpanan HealthImaging data Anda.
Tabel berikut menjelaskan HealthImaging representasi DICOMweb STOW-RS yang APIs tersedia untuk mengimpor data.
HealthImaging representasi dari STOW-RS DICOMweb APIs
Nama |
Penjelasan |
StoreDICOM |
Menyimpan satu atau lebih instance ke penyimpanan HealthImaging data. |
StoreDICOMStudy |
Simpan satu atau beberapa instance yang sesuai dengan UID Instans Studi tertentu ke penyimpanan HealthImaging data. |
Data yang diimpor dengan StoreDICOMStudy
tindakan StoreDICOM
dan akan diatur sebagai kumpulan gambar utama baru, atau ditambahkan ke kumpulan gambar utama yang ada, menggunakan logika yang sama dengan pekerjaan impor asinkron. Jika elemen metadata data DICOM P10 yang baru diimpor bertentangan dengan kumpulan gambar primer yang ada, data baru akan ditambahkan ke kumpulan gambar non-primer.
-
Tindakan ini mendukung pengunggahan hingga 1GB data DICOM per permintaan.
-
Respons API akan dalam format JSON, sesuai dengan standar STOW-RS. DICOMweb
Untuk memulai permintaan StoreDicom
-
Kumpulkan wilayah AWS Anda, HealthImaging datastoreId
, dan nama file DICOM P10.
-
Membangun URL untuk permintaan formulir: https://dicom-medical-imaging.region
.amazonaws.com/datastore/datastore-id
/studies
-
Tentukan panjang konten file DICOM P10 menggunakan perintah pilihan Anda, misalnya. $(stat -f %z $FILENAME)
-
Siapkan dan kirim permintaan Anda. StoreDICOM
menggunakan permintaan HTTP POST dengan protokol penandatanganan AWS Signature Version 4.
contoh Contoh 1: Untuk menyimpan file DICOM P10 menggunakan tindakan StoreDICOM
- Shell
-
curl -X POST -v \
'https://dicom-medical-imaging.us-east-1.amazonaws.com/datastore/d9a2a515ab294163a2d2f4069eed584c/studies' \
--aws-sigv4 "aws:amz:$AWS_REGION:medical-imaging" \
--user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \
--header "x-amz-security-token:$AWS_SESSION_TOKEN" \
--header "x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD" \
--header "x-amz-decoded-content-length: $CONTENT_LENGTH" \
--header 'Accept: application/dicom+json' \
--header "Content-Type: application/dicom" \
--upload-file $FILENAME
contoh Contoh 2: Untuk menyimpan file DICOM P10 menggunakan tindakan StoreDICOMStudy
Satu-satunya perbedaan antara StoreDicom dan Store DICOMStudy adalah bahwa Study Instance UID diteruskan sebagai parameter ke StoreDICOMStudy, dan instance yang diunggah harus menjadi anggota studi yang ditentukan.
- Shell
-
curl -X POST -v \
'https://dicom-medical-imaging.us-east-1.amazonaws.com/datastore/d9a2a515ab294163a2d2f4069eed584c/studies/1.3.6.1.4.1.5962.1.2.4.20040826285059.5457' \
--aws-sigv4 "aws:amz:$AWS_REGION:medical-imaging" \
--user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \
--header "x-amz-security-token:$AWS_SESSION_TOKEN" \
--header "x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD" \
--header "x-amz-decoded-content-length: $CONTENT_LENGTH" \
--header 'Accept: application/dicom+json' \
--header "Content-Type: application/dicom" \
--upload-file $FILENAME
contoh Contoh 3: Untuk menyimpan file DICOM P10 dengan muatan HTTP multi-bagian
Beberapa file P10 dapat diunggah dengan satu tindakan unggahan multi-bagian. Perintah shell berikut menunjukkan cara merakit muatan multi-bagian yang berisi dua file P10, dan mengunggahnya dengan tindakan. StoreDICOM
- Shell
-
#!/bin/sh
FILENAME=multipart.payload
BOUNDARY=2a8a02b9-0ed3-c8a7-7ebd-232427531940
boundary_str="--$BOUNDARY\r\n"
mp_header="${boundary_str}Content-Type: application/dicom\r\n\r\n"
##Encapsulate the binary DICOM file 1.
printf '%b' "$mp_header" > $FILENAME
cat file1.dcm >> $FILENAME
##Encapsulate the binary DICOM file 2 (note the additional CRLF before the part header).
printf '%b' "\r\n$mp_header" >> $FILENAME
cat file2.dcm >> $FILENAME
## Add the closing boundary.
printf '%b' "\r\n--$BOUNDARY--" >> $FILENAME
## Obain the payload size in bytes.
multipart_payload_size=$(stat -f%z "$FILENAME")
# Execute CURL POST request with AWS SIGv4
curl -X POST -v \
'https://iad-dicom.external-healthlake-imaging.ai.aws.dev/datastore/b5f34e91ca734b39a54ac11ea42416cf/studies' \
--aws-sigv4 "aws:amz:us-east-1:medical-imaging" \
--user "AKIAIOSFODNN7EXAMPLE:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
--header "x-amz-content-sha256: STREAMING-AWS4-HMAC-SHA256-PAYLOAD" \
--header "x-amz-decoded-content-length: ${multipart_payload_size}" \
--header 'Accept: application/dicom+json' \
--header "Content-Type: multipart/related; type=\"application/dicom\"; boundary=\"${BOUNDARY}\"" \
--data-binary "@$FILENAME"
# Delete the payload file
rm $FILENAME