

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Armazenamento de instâncias com STOW-RS
<a name="dicomweb-storing"></a>

 HealthImaging A AWS oferece uma representação do [https://www.dicomstandard.org/using/dicomweb/store-stow-rs](https://www.dicomstandard.org/using/dicomweb/store-stow-rs) APIs para importar dados. Use-os APIs para armazenar de forma síncrona dados DICOM em seu armazenamento de HealthImaging dados.

A tabela a seguir descreve as HealthImaging representações do DICOMweb STOW-RS APIs disponíveis para importação de dados.


**HealthImaging representações do DICOMweb STOW-RS APIs**  

| Name (Nome) | Description | 
| --- | --- | 
| StoreDICOM | Armazene uma ou mais instâncias em um armazenamento HealthImaging de dados. | 
| StoreDICOMStudy | Armazene uma ou mais instâncias correspondentes a um UID de instância de estudo especificado em um armazenamento HealthImaging de dados. | 

[Os dados importados com as `StoreDICOMStudy` ações `StoreDICOM` e serão organizados como novos conjuntos de imagens primárias ou adicionados aos conjuntos de imagens primárias existentes, usando a mesma lógica dos trabalhos de importação assíncrona.](https://docs.aws.amazon.com/healthimaging/latest/devguide/understanding-import-jobs.html) [Se os elementos de metadados dos dados DICOM P10 recém-importados entrarem em conflito com os [conjuntos de imagens](https://docs.aws.amazon.com/healthimaging/latest/devguide/getting-started-concepts.html#concept-image-set) primárias existentes, os novos dados serão adicionados aos conjuntos de imagens não primárias.](https://docs.aws.amazon.com/healthimaging/latest/devguide/getting-started-concepts.html#concept-image-set)

**nota**  
Essas ações suportam o upload de até 1 GB de dados DICOM por solicitação.
A resposta da API estará no formato JSON, em conformidade com o padrão STOW-RS. DICOMweb 

**Para iniciar uma solicitação StoredIcom**  


1. Colete sua região da AWS e HealthImaging `datastoreId` o nome do arquivo DICOM P10.

1. Crie uma URL para a solicitação do formulário: `https://dicom-medical-imaging.region.amazonaws.com/datastore/datastore-id/studies`

1. Determine o tamanho do conteúdo do arquivo DICOM P10 usando seu comando preferido, por exemplo. `$(stat -f %z $FILENAME)`

1. Prepare e envie sua solicitação. `StoreDICOM`usa uma solicitação HTTP POST com o protocolo de [assinatura AWS Signature versão 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html).

 

**Example Exemplo 1: Para armazenar um arquivo DICOM P10 usando a ação `StoreDICOM`**  

```
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
```

**Example Exemplo 2: Para armazenar um arquivo DICOM P10 usando a ação `StoreDICOMStudy`**  
A única diferença entre StoredIcom e Store DICOMStudy é que um UID de instância de estudo é passado como um parâmetro para o StoreDICOMStudy, e as instâncias carregadas devem ser membros do estudo especificado.  

```
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
```

**Example Exemplo 3: Para armazenar arquivos DICOM P10 com uma carga HTTP de várias partes**  
Vários arquivos P10 podem ser carregados com uma única ação de upload de várias partes. Os comandos de shell a seguir demonstram como montar uma carga de várias partes contendo dois arquivos P10 e carregá-la com a ação. `StoreDICOM`  

```
#!/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
```