アップストリームリポジトリの優先順位 - CodeArtifact

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

アップストリームリポジトリの優先順位

1つ以上のアップストリームリポジトリを持つリポジトリからパッケージバージョンをリクエストする場合、その優先順位は、create-repositoryまたはupdate-repositoryコマンドを実行する際にリストアップされた順番に対応します。要求されたパッケージバージョンが見つかると、すべてのアップストリームリポジトリを検索する前に検索は停止します。詳細については、「アップストリームリポジトリを追加または削除する (AWS CLI)」を参照してください。

優先順位を表示するには describe-repositoryコマンドを実行します。

aws codeartifact describe-repository --repository my_repo --domain my_domain --domain-owner 111122223333

結果は次のとおりになります。これは、アップストリームリポジトリの優先順位が、まずupstream-1、次が upstream-2、最後がupstream-3であることを示しています。

{ "repository": { "name": "my_repo", "administratorAccount": "123456789012", "domainName": "my_domain", "domainOwner": "111122223333", "arn": "arn:aws:codeartifact:us-east-1:111122223333:repository/my_domain/my_repo", "description": "My new repository", "upstreams": [ { "repositoryName": "upstream-1" }, { "repositoryName": "upstream-2" }, { "repositoryName": "upstream-3" } ], "externalConnections": [] } }

簡単な優先順位の例

次の図では、my_repoリポジトリには 3 つのアップストリームリポジトリがあります。アップストリームリポジトリの優先順位は、upstream-1upstream-2upstream-3の順です。

簡略な3つのアップストリームリポジトリを持つmy_repoを示すアップストリームリポジトリの図。

my_repoでのパッケージバージョンのリクエストでは、それが見つかるか、またはHTTP404 Not Foundレスポンスがクライアントに返されるまで、次の順序でリポジトリを検索します。

  1. my_repo

  2. upstream-1

  3. upstream-2

  4. upstream-3

パッケージバージョンが見つかると、すべてのアップストリームリポジトリでの検索が終了していなくても、検索は停止します。例えば、パッケージバージョンが にある場合upstream-1、検索は停止し、 upstream-2または は検索 CodeArtifact されませんupstream-3

AWS CLI コマンドを使用して のパッケージバージョンをlist-package-versions一覧表示するとmy_repo、 でのみ検索されますmy_repo。アップストリームリポジトリのパッケージバージョンはリストアップされません。

複雑な優先順位の例

アップストリームリポジトリに独自のアップストリームリポジトリがある場合、次のアップストリームリポジトリに移動する前に、同じロジックを使用してパッケージバージョンを検索します。例えば、my_repoリポジトリにはABの2つのアップストリームリポジトリがあるとします。リポジトリAにアップストリームリポジトリがある場合、my_repoにあるパッケージバージョンのリクエストは、最初にmy_repo、次にAを検索し、それからAのアップストリームリポジトリを検索する、というように続きます。

次の図では、my_repoリポジトリにアップストリームリポジトリが含まれています。アップストリームリポジトリAには、アップストリームリポジトリが2つあり、Dにはアップストリームリポジトリが1つあります。図内の同じレベルにあるアップストリームリポジトリは、優先順位が左から右に表示されます。(リポジトリAはリポジトリBより優先順位が高く、リポジトリCはリポジトリDより優先順位が高い)。

2 つのアップストリームリポジトリ A と B、および追加のアップストリームリポジトリを含む、より複雑なアップストリームリポジトリ図。

この例では、my_repo でのパッケージバージョンのリクエストで、それが見つかるか、または、パッケージマネージャーが HTTP404 Not Found レスポンスをクライアントに返すまで、次の順序でリポジトリを検索します。

  1. my_repo

  2. A

  3. C

  4. D

  5. E

  6. B