

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

# Menerbitkan dan mengkonsumsi paket generik
<a name="publishing-using-generic-packages"></a>

Untuk mempublikasikan versi paket generik dan aset terkait, gunakan `publish-package-version` perintah. Anda dapat membuat daftar aset paket generik menggunakan `list-package-version-asset` perintah dan mengunduhnya menggunakan`get-package-version-asset`. Topik berikut berisi step-by-step instruksi untuk menerbitkan paket generik atau mengunduh aset paket generik menggunakan perintah ini.

## Menerbitkan paket generik
<a name="publishing-generic-packages"></a>

Paket generik terdiri dari nama paket, namespace, versi, dan satu atau lebih aset (atau file). Topik ini menunjukkan cara mempublikasikan paket bernama`my-package`, dengan namespace`my-ns`, versi`1.0.0`, dan berisi satu aset bernama. `asset.tar.gz`

**Prasyarat:**
+ Siapkan dan konfigurasikan AWS Command Line Interface dengan CodeArtifact (lihat[Menyiapkan dengan AWS CodeArtifact](get-set-up-for-codeartifact.md))
+ Memiliki CodeArtifact domain dan repositori (lihat) [Memulai menggunakan AWS CLI](getting-started-cli.md)

**Untuk mempublikasikan paket generik**

1. Gunakan perintah berikut untuk menghasilkan SHA256 hash untuk setiap file yang ingin Anda unggah ke versi paket, dan tempatkan nilai dalam variabel lingkungan. Nilai ini digunakan sebagai pemeriksaan integritas untuk memverifikasi bahwa konten file tidak berubah setelah awalnya dikirim. 

------
#### [ Linux ]

   ```
   export ASSET_SHA256=$(sha256sum asset.tar.gz | awk '{print $1;}')
   ```

------
#### [ macOS ]

   ```
   export ASSET_SHA256=$(shasum -a 256 asset.tar.gz | awk '{print $1;}')
   ```

------
#### [ Windows ]

   ```
   for /f "tokens=*" %G IN ('certUtil -hashfile asset.tar.gz SHA256 ^| findstr /v "hash"') DO SET "ASSET_SHA256=%G"
   ```

------

1. Panggil `publish-package-version` untuk mengunggah aset dan membuat versi paket baru.
**catatan**  
 Jika paket berisi lebih dari satu aset, Anda dapat menelepon satu `publish-package-version` kali untuk setiap aset yang akan diunggah. Sertakan `--unfinished` argumen untuk setiap panggilan`publish-package-version`, kecuali saat mengunggah aset akhir. Penghilangan `--unfinished` akan mengatur status versi paket ke`Published`, dan mencegah aset tambahan diunggah ke sana.  
 Atau, sertakan `--unfinished` untuk setiap panggilan ke`publish-package-version`, lalu atur status versi paket untuk `Published` menggunakan `update-package-versions-status` perintah.

------
#### [ Linux/macOS ]

   ```
   aws codeartifact publish-package-version --domain my_domain --repository my_repo \
         --format generic --namespace my-ns --package my-package --package-version 1.0.0 \
         --asset-content asset.tar.gz --asset-name asset.tar.gz \
         --asset-sha256 $ASSET_SHA256
   ```

------
#### [ Windows ]

   ```
   aws codeartifact publish-package-version --domain my_domain --repository my_repo ^
         --format generic --namespace my-ns --package my-package --package-version 1.0.0 ^
         --asset-content asset.tar.gz --asset-name asset.tar.gz ^  
         --asset-sha256 %ASSET_SHA256%
   ```

------

   Berikut ini menunjukkan output.

   ```
   {
       "format": "generic",
       "namespace": "my-ns",
       "package": "my-package",
       "version": "1.0.0",
       "versionRevision": "REVISION-SAMPLE-1-C7F4S5E9B772FC",
       "status": "Published",
       "asset": {
           "name": "asset.tar.gz",
           "size": 11,
           "hashes": {
               "MD5": "41bba98d5b9219c43089eEXAMPLE-MD5",
               "SHA-1": "69b215c25dd4cda1d997a786ec6EXAMPLE-SHA-1",
               "SHA-256": "43f24850b7b7b7d79c5fa652418518fbdf427e602b1edabe6EXAMPLE-SHA-256",
               "SHA-512": "3947382ac2c180ee3f2aba4f8788241527c8db9dfe9f4b039abe9fc560aaf5a1fced7bd1e80a0dca9ce320d95f0864e0dec3ac4f2f7b2b2cbEXAMPLE-SHA-512"
           }
       }
   }
   ```

## Daftar aset paket generik
<a name="listing-generic-package-assets"></a>

Untuk membuat daftar aset yang terkandung dalam paket generik, gunakan `list-package-version-assets` perintah. Untuk informasi selengkapnya, lihat [Mencantumkan aset versi paket](list-assets.md).

Contoh berikut mencantumkan aset `1.0.0` versi paket`my-package`.

**Untuk mencantumkan aset versi paket**
+ Panggilan `list-package-version-assets` untuk membuat daftar aset yang terkandung dalam paket generik.

------
#### [ Linux/macOS ]

  ```
  aws codeartifact list-package-version-assets --domain my_domain \
    --repository my_repo --format generic --namespace my-ns \
    --package my-package --package-version 1.0.0
  ```

------
#### [ Windows ]

  ```
  aws codeartifact list-package-version-assets --domain my_domain ^
    --repository my_repo --format generic --namespace my-ns ^
    --package my-package --package-version 1.0.0
  ```

------

  Berikut ini menunjukkan output.

  ```
  {
      "assets": [
          {
              "name": "asset.tar.gz",
              "size": 11,
              "hashes": {
                  "MD5": "41bba98d5b9219c43089eEXAMPLE-MD5",
                  "SHA-1": "69b215c25dd4cda1d997a786ec6EXAMPLE-SHA-1",
                  "SHA-256": "43f24850b7b7b7d79c5fa652418518fbdf427e602b1edabe6EXAMPLE-SHA-256",
                  "SHA-512": "3947382ac2c180ee3f2aba4f8788241527c8db9dfe9f4b039abe9fc560aaf5a1fced7bd1e80a0dca9ce320d95f0864e0dec3ac4f2f7b2b2cbEXAMPLE-SHA-512"
              }
          }
      ],
      "package": "my-package",
      "format": "generic",
      "namespace": "my-ns",
      "version": "1.0.0",
      "versionRevision": "REVISION-SAMPLE-1-C7F4S5E9B772FC"
  }
  ```

## Mengunduh aset paket generik
<a name="downloading-generic-package-assets"></a>

Untuk mengunduh aset dari paket generik, gunakan `get-package-version-asset` perintah. Untuk informasi selengkapnya, lihat [Mengunduh aset versi paket](download-assets.md).

Contoh berikut mengunduh aset `asset.tar.gz` `1.0.0` dari versi paket `my-package` ke direktori kerja saat ini ke dalam file yang juga bernama`asset.tar.gz`.

**Untuk mengunduh aset versi paket**
+ Panggilan `get-package-version-asset` untuk mengunduh aset dari paket generik.

------
#### [ Linux/macOS ]

  ```
  aws codeartifact get-package-version-asset --domain my_domain \
    --repository my_repo --format generic --namespace my-ns --package my-package \
    --package-version 1.0.0 --asset asset.tar.gz \ 
    asset.tar.gz
  ```

------
#### [ Windows ]

  ```
  aws codeartifact get-package-version-asset --domain my_domain ^
    --repository my_repo --format generic --namespace my-ns --package my-package ^
    --package-version 1.0.0 --asset asset.tar.gz ^
    asset.tar.gz
  ```

------

  Berikut ini menunjukkan output.

  ```
  {
      "assetName": "asset.tar.gz",
      "packageVersion": "1.0.0",
      "packageVersionRevision": "REVISION-SAMPLE-1-C7F4S5E9B772FC"
  }
  ```