

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

# Menggunakan CodeArtifact dengan paket generik
<a name="using-generic"></a>

Topik-topik ini menunjukkan kepada Anda cara mengkonsumsi dan mempublikasikan untuk menggunakan AWS CodeArtifact paket generik.

**Topics**
+ [Ikhtisar paket generik](generic-packages-overview.md)
+ [Perintah yang didukung untuk paket generik](generic-packages-supported-commands.md)
+ [Menerbitkan dan mengkonsumsi paket generik](publishing-using-generic-packages.md)

# Ikhtisar paket generik
<a name="generic-packages-overview"></a>

Menggunakan format `generic` paket, Anda dapat mengunggah semua jenis file untuk membuat paket dalam CodeArtifact repositori. Paket generik tidak terkait dengan bahasa pemrograman tertentu, jenis file, atau ekosistem manajemen paket. Ini dapat berguna untuk menyimpan dan membuat versi artefak build arbitrer, seperti installer aplikasi, model pembelajaran mesin, file konfigurasi, dan lainnya.

Paket generik terdiri dari nama paket, namespace, versi, dan satu atau lebih aset (atau file). Paket generik dapat ada bersama paket format lain dalam satu CodeArtifact repositori.

Anda dapat menggunakan AWS CLI atau SDK untuk bekerja dengan paket generik. Untuk daftar lengkap AWS CLI perintah yang bekerja dengan paket generik, lihat[Perintah yang didukung untuk paket generik](generic-packages-supported-commands.md).

## Kendala paket generik
<a name="generic-packages-constraints"></a>
+ Mereka tidak pernah diambil dari repositori hulu. Mereka hanya dapat diperoleh dari repositori tempat mereka diterbitkan.
+ Mereka tidak dapat mendeklarasikan dependensi untuk dikembalikan dari [ListPackageVersionDependencies](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_ListPackageVersionDependencies.html)atau ditampilkan di. Konsol Manajemen AWS 
+ Mereka dapat menyimpan file README dan LICENSE, tetapi mereka tidak ditafsirkan oleh. CodeArtifact Informasi dalam file ini tidak dikembalikan dari [GetPackageVersionReadme](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_GetPackageVersionReadme.html)atau [DescribePackageVersion](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_DescribePackageVersion.html), dan tidak muncul di file Konsol Manajemen AWS.
+ Seperti semua paket CodeArtifact, ada batasan ukuran aset dan jumlah aset per paket. Untuk informasi selengkapnya tentang batas dan kuota CodeArtifact, lihat[Kuota di AWS CodeArtifact](service-limits.md).
+ Nama aset yang dikandungnya harus mengikuti aturan ini:
  + Nama aset dapat menggunakan huruf dan angka Unicode. Secara khusus, kategori karakter Unicode ini diperbolehkan: Huruf Kecil (), Huruf Pengubah (`Ll`), Huruf Lain (`Lm`), Huruf Titlease (`Lo`), Huruf Besar (`Lt`), Nomor Huruf (`Lu`), dan Nomor Desimal (`Nl`). `Nd`
  + Karakter khusus berikut diperbolehkan: `~!@^&()-_+[]{};,.`
  + Aset tidak dapat diberi nama `.` atau `..`
  + Spasi adalah satu-satunya karakter spasi putih yang diizinkan. Nama aset tidak dapat dimulai atau diakhiri dengan karakter spasi, atau menyertakan spasi berurutan.

# Perintah yang didukung untuk paket generik
<a name="generic-packages-supported-commands"></a>

Anda dapat menggunakan AWS CLI atau SDK untuk bekerja dengan paket generik. CodeArtifact Perintah berikut bekerja dengan paket generik:
+ [copy-package-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/copy-package-versions.html)(lihat[Menyalin paket antar-repositori](copy-package.md))
+ [hapus-paket (lihat](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/delete-package.html)) [Menghapus paket ()AWS CLI](delete-package.md#delete-package-CLI)
+ [delete-package-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/delete-package-versions.html)(lihat[Menghapus versi paket ()AWS CLI](delete-package.md#delete-package-version-CLI))
+ [mendeskripsikan-paket](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/describe-package.html) 
+ [describe-package-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/describe-package-version.html)(lihat[Melihat dan memperbarui detail versi paket dan dependensi](describe-package-version.md))
+ [dispose-package-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/dispose-package-versions.html)(lihat[Membuang versi paket](update-package-version-status.md#dispose-package-versions))
+ [get-package-version-asset](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/get-package-version-asset.html)(lihat[Mengunduh aset versi paket](download-assets.md))
+ [list-package-version-assets](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/list-package-version-assets.html)(lihat[Mencantumkan aset versi paket](list-assets.md))
+ [list-package-versions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/list-package-versions.html)(lihat[Mencantumkan versi paket](list-packages-versions.md))
+ [daftar-paket (lihat](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/list-packages.html)) [Mencantumkan nama paket](list-packages.md)
+ [publish-package-version](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/publish-package-version.html)(lihat[Menerbitkan paket generik](publishing-using-generic-packages.md#publishing-generic-packages))
+ [put-package-origin-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/put-package-origin-configuration.html)(lihat[Mengedit kontrol asal paket](package-origin-controls.md))
**catatan**  
Anda dapat menggunakan pengaturan kontrol `publish` asal untuk mengizinkan atau memblokir penerbitan nama paket generik dalam repositori. Namun, `upstream` pengaturan tidak berlaku untuk paket generik karena mereka tidak dapat diambil dari repositori upstream.
+ [update-package-versions-status](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/codeartifact/update-package-versions-status.html)(lihat[Memperbarui status versi paket](update-package-version-status.md#updating-pv-status))

# 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"
  }
  ```