기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
업스트림 리포지토리에서의 API 동작
업스트림 리포지토리에 연결된 리포지토리에서 특정 CodeArtifact API를 호출하는 경우 패키지 또는 패키지 버전이 대상 리포지토리에 저장되어 있는지 업스트림 리포지토리에 저장되는지에 따라 동작이 달라질 수 있습니다. 이러한 API의 동작은 여기에 설명되어 있습니다.
API에 대한 자세한 내용은 API 참조를 참조하십시오. CodeArtifact CodeArtifact
패키지 또는 패키지 버전을 참조하는 대부분의 API는 지정된 패키지 버전이 대상 리포지토리에 없는 경우 ResourceNotFound
오류를 반환합니다. 이는 패키지 또는 패키지 버전이 업스트림 저장소에 있는 경우에도 마찬가지입니다. 사실상 이러한 API를 호출할 때 업스트림 리포지토리는 무시됩니다. 이러한 API는 다음과 같습니다.
DeletePackageVersions
DescribePackageVersion
GetPackageVersionAsset
GetPackageVersionReadme
ListPackages
ListPackageVersionAssets
ListPackageVersionDependencies
ListPackageVersions
UpdatePackageVersionsStatus
이 동작을 보여주기 위한 target-repo
, upstream-repo
두 개의 저장소가 있습니다. target-repo
는 비어 있으며 업스트림 리포지토리로 upstream-repo
가 구성되었습니다. upstream-repo
에는 lodash
npm 패키지가 있습니다.
upstream-repo
에서 lodash
패키지가 포함된 DescribePackageVersion
API를 호출하면 다음과 같은 결과가 출력됩니다.
{ "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" }
target-repo
에서 비어 있지만 업스트림으로 upstream-repo
가 구성된 동일한 API를 호출하면 다음과 같은 결과가 출력됩니다.
An error occurred (ResourceNotFoundException) when calling the DescribePackageVersion operation: Package not found in repository. RepoId:
repo-id
, Package = PackageCoordinate{packageType=npm, packageName=lodash},
CopyPackageVersions
API는 다르게 동작합니다. 기본적으로 CopyPackageVersions
API는 대상 리포지토리에 저장된 패키지 버전만 복사합니다. 패키지 버전이 업스트림 리포지토리에는 저장되지만 대상 리포지토리에는 저장되지 않는 경우 복사되지 않습니다. 업스트림 리포지토리에만 저장되는 패키지의 패키지 버전을 포함하려면 API 요청에서 includeFromUpstream
값을 true
로 설정해야 합니다.
CopyPackageVersions
API에 대한 자세한 내용은 리포지토리 간 패키지 복사를 참조하세요.