

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Unggah langsung ke toko HealthOmics urutan
<a name="synchronous-uploads"></a>

Kami menyarankan Anda menggunakan Manajer HealthOmics Transfer untuk menambahkan file ke toko urutan Anda. Untuk informasi selengkapnya tentang menggunakan Manajer Transfer, lihat [GitHubRepositori](https://github.com/awslabs/amazon-omics-tools/) ini. Anda juga dapat mengunggah set baca langsung ke toko urutan melalui operasi API unggahan langsung. 

Set baca unggahan langsung ada terlebih dahulu dalam `PROCESSING_UPLOAD` status. Ini berarti bahwa bagian file saat ini sedang diunggah, dan Anda dapat mengakses metadata set baca. Setelah bagian diunggah dan checksum divalidasi, set baca menjadi `ACTIVE` dan berperilaku sama seperti set baca yang diimpor. 

Jika unggahan langsung gagal, status set baca ditampilkan sebagai`UPLOAD_FAILED`. Anda dapat mengonfigurasi bucket Amazon S3 sebagai lokasi fallback untuk file yang gagal diunggah. Lokasi fallback tersedia untuk toko urutan yang dibuat setelah 15 Mei 2023.

**Topics**
+ [Unggah langsung ke toko urutan menggunakan AWS CLI](#synchronous-uploads-api)
+ [Konfigurasikan lokasi fallback](#synchronous-uploads-fallback)

## Unggah langsung ke toko urutan menggunakan AWS CLI
<a name="synchronous-uploads-api"></a>

Untuk memulai, mulai upload multipart. Anda dapat melakukan ini dengan menggunakan AWS CLI, seperti yang ditunjukkan pada contoh berikut.

**Untuk mengunggah langsung menggunakan AWS CLI perintah**

1. Buat bagian dengan memisahkan data Anda, seperti yang ditunjukkan pada contoh berikut.

   ```
    split -b 100MiB SRR233106_1.filt.fastq.gz source1_part_ 
   ```

1. Setelah file sumber Anda berada di beberapa bagian, buat unggahan set baca multibagian, seperti yang ditunjukkan pada contoh berikut. Ganti `sequence store ID` dan parameter lainnya dengan ID penyimpanan urutan Anda dan nilai lainnya.

   ```
   aws omics create-multipart-read-set-upload \
   --sequence-store-id sequence store ID \
   --name upload name \
   --source-file-type FASTQ \
   --subject-id subject ID \
   --sample-id sample ID \
   --description "FASTQ for HG00146" "description of upload" \
   --generated-from "1000 Genomes""source of imported files"
   ```

   Anda mendapatkan metadata `uploadID` dan lainnya dalam respons. Gunakan `uploadID` untuk langkah selanjutnya dari proses pengunggahan.

   ```
   {
   "sequenceStoreId": "1504776472",
   "uploadId": "7640892890",
   "sourceFileType": "FASTQ",
   "subjectId": "mySubject",
   "sampleId": "mySample",
   "generatedFrom": "1000 Genomes",
   "name": "HG00146",
   "description": "FASTQ for HG00146",
   "creationTime": "2023-11-20T23:40:47.437522+00:00"
   }
   ```

1. Tambahkan set baca Anda ke unggahan. Jika file Anda cukup kecil, Anda hanya perlu melakukan langkah ini sekali. Untuk file yang lebih besar, Anda melakukan langkah ini untuk setiap bagian file Anda. Jika Anda mengunggah bagian baru dengan menggunakan nomor bagian yang sebelumnya digunakan, bagian tersebut akan menimpa bagian yang diunggah sebelumnya.

   Dalam contoh berikut, ganti`sequence store ID`,`upload ID`, dan parameter lainnya dengan nilai-nilai Anda.

   ```
   aws omics upload-read-set-part \
   --sequence-store-id sequence store ID \
   --upload-id upload ID \
   --part-source SOURCE1 \
   --part-number part number \
   --payload  source1/source1_part_aa.fastq.gz
   ```

   Responsnya adalah ID yang dapat Anda gunakan untuk memverifikasi bahwa file yang diunggah cocok dengan file yang Anda inginkan.

   ```
   {
   "checksum": "984979b9928ae8d8622286c4a9cd8e99d964a22d59ed0f5722e1733eb280e635"
   }
   ```

1. Lanjutkan mengunggah bagian-bagian file Anda, jika perlu. Untuk memverifikasi bahwa set baca Anda telah diunggah, gunakan operasi API **list-read-set-upload-parts**, seperti yang ditunjukkan pada berikut ini. Dalam contoh berikut, ganti`sequence store ID `,`upload ID`, dan `part source` dengan masukan Anda sendiri.

   ```
   aws omics list-read-set-upload-parts \
    --sequence-store-id sequence store ID \
    --upload-id upload ID \
    --part-source SOURCE1
   ```

   Respons mengembalikan jumlah set baca, ukuran, dan stempel waktu saat terbaru diperbarui.

   ```
   {
   "parts": [
       {
           "partNumber": 1,
           "partSize": 104857600,
           "partSource": "SOURCE1",
           "checksum": "MVMQk+vB9C3Ge8ADHkbKq752n3BCUzyl41qEkqlOD5M=",
           "creationTime": "2023-11-20T23:58:03.500823+00:00",
           "lastUpdatedTime": "2023-11-20T23:58:03.500831+00:00"
       },
       {
           "partNumber": 2,
           "partSize": 104857600,
           "partSource": "SOURCE1",
           "checksum": "keZzVzJNChAqgOdZMvOmjBwrOPM0enPj1UAfs0nvRto=",
           "creationTime": "2023-11-21T00:02:03.813013+00:00",
           "lastUpdatedTime": "2023-11-21T00:02:03.813025+00:00"
       },
       {
           "partNumber": 3,
           "partSize": 100339539,
           "partSource": "SOURCE1",
           "checksum": "TBkNfMsaeDpXzEf3ldlbi0ipFDPaohKHyZ+LF1J4CHk=",
           "creationTime": "2023-11-21T00:09:11.705198+00:00",
           "lastUpdatedTime": "2023-11-21T00:09:11.705208+00:00"
       }
   ]
   }
   ```

1. Untuk melihat semua unggahan set baca multibagian aktif, gunakan **list-multipart-read-set-upload,** seperti yang ditunjukkan pada berikut ini. Ganti `sequence store ID` dengan ID untuk toko urutan Anda sendiri.

   ```
   aws omics list-multipart-read-set-uploads --sequence-store-id 
                sequence store ID
   ```

   API ini hanya mengembalikan unggahan set baca multibagian yang sedang berlangsung. Setelah set baca yang dicerna`ACTIVE`, atau jika unggahan gagal, unggahan tidak akan dikembalikan sebagai respons terhadap **list-multipart-read-set-uploads** API. Untuk melihat set baca aktif, gunakan **list-read-sets**API. Contoh respon untuk **list-multipart-read-set-upload** ditampilkan di berikut ini. 

   ```
   {
   "uploads": [
       {
           "sequenceStoreId": "1234567890",
           "uploadId": "8749584421",
           "sourceFileType": "FASTQ",
           "subjectId": "mySubject",
           "sampleId": "mySample",
           "generatedFrom": "1000 Genomes",
           "name": "HG00146",
           "description": "FASTQ for HG00146",
           "creationTime": "2023-11-29T19:22:51.349298+00:00"
       },
       {
           "sequenceStoreId": "1234567890",
           "uploadId": "5290538638",
           "sourceFileType": "BAM",
           "subjectId": "mySubject",
           "sampleId": "mySample",
           "generatedFrom": "1000 Genomes",
           "referenceArn": "arn:aws:omics:us-west-2:123456789012:referenceStore/8168613728/reference/2190697383",
           "name": "HG00146",
           "description": "BAM for HG00146",
           "creationTime": "2023-11-29T19:23:33.116516+00:00"
       },
       {
           "sequenceStoreId": "1234567890",
           "uploadId": "4174220862",
           "sourceFileType": "BAM",
           "subjectId": "mySubject",
           "sampleId": "mySample",
           "generatedFrom": "1000 Genomes",
           "referenceArn": "arn:aws:omics:us-west-2:123456789012:referenceStore/8168613728/reference/2190697383",
           "name": "HG00147",
           "description": "BAM for HG00147",
           "creationTime": "2023-11-29T19:23:47.007866+00:00"
       }
   ]
   }
   ```

1. Setelah Anda mengunggah semua bagian file Anda, gunakan **complete-multipart-read-set-upload** untuk mengakhiri proses upload, seperti yang ditunjukkan pada contoh berikut. Ganti `sequence store ID``upload ID`,, dan parameter untuk bagian dengan nilai Anda sendiri.

   ```
   aws omics complete-multipart-read-set-upload \
   --sequence-store-id sequence store ID \
   --upload-id upload ID \
   --parts '[{"checksum":"gaCBQMe+rpCFZxLpoP6gydBoXaKKDA/Vobh5zBDb4W4=","partNumber":1,"partSource":"SOURCE1"}]'
   ```

   Respons untuk **complete-multipart-read-set-upload** adalah set baca IDs untuk set baca yang Anda impor. 

   ```
   {
   "readSetId": "0000000001"
   }
   ```

1. Untuk menghentikan unggahan, gunakan **abort-multipart-read-set-upload** dengan ID upload untuk mengakhiri proses upload. Ganti `sequence store ID` dan `upload ID` dengan nilai parameter Anda sendiri.

   ```
   aws omics abort-multipart-read-set-upload \
   --sequence-store-id sequence store ID \
   --upload-id upload ID
   ```

1. Setelah unggahan selesai, ambil data Anda dari set baca dengan menggunakan **get-read-set**, seperti yang ditunjukkan pada berikut ini. Jika unggahan masih diproses, **get-read-set**mengembalikan metadata terbatas, dan file indeks yang dihasilkan tidak tersedia. Ganti `sequence store ID` dan parameter lainnya dengan input Anda sendiri.

   ```
   aws omics get-read-set 
    --sequence-store-id sequence store ID \
    --id read set ID \
    --file SOURCE1 \
    --part-number 1 myfile.fastq.gz
   ```

1. Untuk memeriksa metadata, termasuk status unggahan Anda, gunakan operasi **get-read-set-metadata**API.

   ```
   aws omics get-read-set-metadata --sequence-store-id sequence store ID --id read set ID    
   ```

   Responsnya mencakup detail metadata seperti jenis file, ARN referensi, jumlah file, dan panjang urutan. Ini juga termasuk status. Status yang mungkin adalah`PROCESSING_UPLOAD`,`ACTIVE`, dan`UPLOAD_FAILED`.

   ```
   {
   "id": "0000000001",
   "arn": "arn:aws:omics:us-west-2:555555555555:sequenceStore/0123456789/readSet/0000000001",
   "sequenceStoreId": "0123456789",
   "subjectId": "mySubject",
   "sampleId": "mySample",
   "status": "PROCESSING_UPLOAD",
   "name": "HG00146",
   "description": "FASTQ for HG00146",
   "fileType": "FASTQ",
   "creationTime": "2022-07-13T23:25:20Z",
   "files": {
       "source1": {
           "totalParts": 5,
           "partSize": 123456789012,
           "contentLength": 6836725,
   
       },
       "source2": {
           "totalParts": 5,
           "partSize": 123456789056,
           "contentLength": 6836726
       }
   },
   'creationType": "UPLOAD"
   }
   ```

## Konfigurasikan lokasi fallback
<a name="synchronous-uploads-fallback"></a>

Saat membuat atau memperbarui penyimpanan urutan, Anda dapat mengonfigurasi bucket Amazon S3 sebagai lokasi fallback untuk file yang gagal diunggah. Bagian file untuk set baca tersebut ditransfer ke lokasi fallback. Lokasi fallback tersedia untuk toko urutan yang dibuat setelah 15 Mei 2023. 

Buat kebijakan bucket Amazon S3 untuk memberikan akses HealthOmics tulis ke lokasi fallback Amazon S3, seperti yang ditunjukkan pada contoh berikut:

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "omics.amazonaws.com"
    },
    "Action": "s3:PutObject",
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
}
```

Jika bucket Amazon S3 untuk fallback atau log akses menggunakan kunci terkelola pelanggan, tambahkan izin berikut ke kebijakan kunci:

```
 {
    "Sid": "Allow use of key",
    "Effect": "Allow",
    "Principal": {
        "Service": "omics.amazonaws.com"
    },
    "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey*"
    ],
    "Resource": "*"
}
```