アップストリームリポジトリでの API 動作 - CodeArtifact

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

アップストリームリポジトリでの API 動作

アップストリームリポジトリに接続されているリポジトリで特定の CodeArtifact APIs を呼び出す場合、パッケージまたはパッケージバージョンがターゲットリポジトリまたはアップストリームリポジトリに保存されているかどうかによって、動作が異なる場合があります。これらのAPIの動作については、こちらを参照してください。

CodeArtifact APIsCodeArtifact リファレンス」を参照してください。

パッケージやパッケージバージョンを参照するほとんどのAPIは、指定されたパッケージバージョンがターゲットリポジトリに存在しない場合、ResourceNotFoundエラーを返します。これは、パッケージまたはパッケージバージョンがアップストリームリポジトリに存在する場合にも当てはまります。実際には、これらのAPIを呼び出すとき、アップストリームリポジトリは無視されます。それらのAPIは次のとおりです:

  • DeletePackageVersions

  • DescribePackageVersion

  • GetPackageVersionAsset

  • GetPackageVersionReadme

  • ListPackages

  • ListPackageVersionAssets

  • ListPackageVersionDependencies

  • ListPackageVersions

  • UpdatePackageVersionsStatus

この動作を確認するには、target-repoupstream-repoの2つのリポジトリがあります:target-repoは空で、アップストリームリポジトリとして設定されているupstream-repoを持っています。upstream-repoにはnpmパッケージlodashが含まれます。

lodashパッケージを含むupstream-repo上にある DescribePackageVersionAPIを呼び出すと、次の結果が得られます。

{ "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" }

空でありながらアップストリームとして設定されている upstream-repo を持つ target-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},

CopyPackageVersionsAPIの動作は異なります。デフォルトでは、CopyPackageVersionsAPI は、ターゲットリポジトリに格納されているパッケージバージョンのみをコピーします。パッケージバージョンがアップストリームリポジトリに格納されているが、ターゲットリポジトリには保存されていない場合、コピーされません。アップストリームリポジトリにのみ格納されているパッケージのパッケージバージョンを含めるには、APIリクエストのincludeFromUpstreamの値をtrueにセットします。

CopyPackageVersionsAPIの詳細については、リポジトリ間でのパッケージのコピー を参照してください。