Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Perilaku API dengan repositori hulu
Saat Anda memanggil CodeArtifact API tertentu pada repositori yang terhubung ke repositori upstream, perilakunya mungkin berbeda tergantung pada apakah paket atau versi paket disimpan di repositori target atau repositori upstream. Perilaku API ini didokumentasikan di sini.
Untuk informasi selengkapnya tentang CodeArtifact API, lihat Referensi CodeArtifact API.
Kebanyakan API yang mereferensi paket atau versi paket akan mengembalikan kesalahan ResourceNotFound
jika versi paket yang ditentukan tidak ada dalam repositori target. Hal ini berlaku bahkan jika paket atau versi paket ada dalam repositori hulu. Secara efektif, repositori hulu diabaikan ketika memanggil API ini. API ini adalah:
DeletePackageVersions
DescribePackageVersion
GetPackageVersionAsset
GetPackageVersionReadme
ListPackages
ListPackageVersionAssets
ListPackageVersionDependencies
ListPackageVersions
UpdatePackageVersionsStatus
Untuk menunjukkan perilaku ini, kita memiliki dua repositori: target-repo
dan upstream-repo
. target-repo
kosong dan mengonfigurasi upstream-repo
sebagai repositori hulu. upstream-repo
berisi paket npm lodash
.
Ketika memanggil API DescribePackageVersion
pada upstream-repo
, yang berisi paket lodash
, kita mendapatkan output berikut:
{ "packageVersion": { "format": "npm", "packageName": "lodash", "displayName": "lodash", "version": "4.17.20", "summary": "Lodash modular utilities.", "homePage": "https://lodash.com/", "sourceCodeRepository": "https://github.com/lodash/lodash.git", "publishedTime": "2020-10-14T11:06:10.370000-04:00", "licenses": [ { "name": "MIT" } ], "revision": "Ciqe5/9yicvkJT13b5/LdLpCyE6fqA7poa9qp+FilPs=", "status": "Published" }
Ketika memanggil API yang sama pada target-repo
, yang kosong tetapi mengonfigurasi upstream-repo
sebagai hulu, kita mendapatkan output sebagai berikut:
An error occurred (ResourceNotFoundException) when calling the DescribePackageVersion operation: Package not found in repository. RepoId:
repo-id
, Package = PackageCoordinate{packageType=npm, packageName=lodash},
Perilaku API CopyPackageVersions
berbeda. Secara default, API CopyPackageVersions
hanya menyalin versi paket yang disimpan dalam repositori target. Jika disimpan dalam repositori hulu tetapi tidak dalam repositori target, versi paket tidak akan disalin. Untuk menyertakan paket versi dari paket yang hanya disimpan di repositori hulu, tetapkan nilai includeFromUpstream
ke true
dalam permintaan API Anda.
Untuk informasi API CopyPackageVersions
lebih lanjut, lihat Menyalin paket antar-repositori.