翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Python の互換性
CodeArtifact は、/simple/<project>/、、piptwineuv、およびその他の Python クライアントで使用される で PyPI Simple Repository API をサポートしています。クライアントは、 Accept リクエストヘッダーを使用して HTML レスポンスと JSON レスポンスのいずれかを選択します。
Simple Repository API のサポート
CodeArtifact は、PEP 503、
/simple/<project>/ エンドポイントでは、次のAcceptヘッダーコンテンツタイプがサポートされています。
application/vnd.pypi.simple.v1+json: JSON レスポンス (PEP 691、PEP 700)。application/vnd.pypi.simple.v1+html: HTML レスポンス (PEP 503)。application/vnd.pypi.simple.latest+json: サポートされている最新の JSON バージョンに解決されます。application/vnd.pypi.simple.latest+html: サポートされている最新の HTML バージョンに解決されます。text/html、*/*、またはAcceptヘッダーなし: HTML レスポンス (下位互換性のデフォルト)。
クライアントがサポートされているコンテンツタイプを含まない Acceptヘッダーを指定した場合、CodeArtifact は を返します406 Not Acceptable。
JSON レスポンスには、PEP 700 フィールド versions、size、および PEP 691 フィールドupload-timeが含まれます。HTML レスポンスは、各アーティファクトリンクのdata-upload-time属性と同じアーティファクトごとのアップロード時間を持ちます。
アセットごとのメタデータキャプチャが有効になる前にキャッシュされたパッケージバージョンでは、 フィールドsizeと upload-timeフィールドが欠落している可能性があります。クライアントが JSON Simple Repository API を介してこのようなパッケージをリクエストすると、CodeArtifact はアップストリームレジストリからメタデータを再取得し、欠落しているフィールドに入力します。カスタマーアクションは必要なく、同じパッケージバージョンの後続のリクエストは完全なメタデータを返します。
pip 23.0 以降と はデフォルトで JSON Acceptヘッダーuvを送信するため、ほとんどのクライアントは追加の設定なしで JSON を受け取ります。
例: プロジェクトの JSON をリクエストする
次の例では、 curlを使用してrequestsプロジェクトの JSON Simple Repository API レスポンスを取得します。リポジトリ URL を から取得しaws codeartifact get-repository-endpoint、認可トークンを から取得しますaws codeartifact get-authorization-token。
curl --header "Accept: application/vnd.pypi.simple.v1+json" \ --header "Authorization: Bearer $CODEARTIFACT_AUTH_TOKEN" \ "https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/pypi/my_repo/simple/requests/"
注記
CodeArtifact PyPI エンドポイントは、HTTP 基本認証 (ユーザー名 aws、認可トークンに設定されたパスワード) またはベアラートークン認証のいずれかを受け入れます。このガイドの他の部分で示している pipおよび twineの設定は、HTTP Basic を使用します。
次の例は、一般的な JSON レスポンス (簡潔にするために切り捨て) を示しています。versions、size、および upload-timeフィールドは PEP 700 からのものでhashes、、requires-python、および yankedフィールドは PEP 691 からのものです。
{ "meta": { "api-version": "1.1" }, "name": "requests", "versions": [ "2.31.0", "2.32.0", "2.32.3" ], "files": [ { "filename": "requests-2.32.3-py3-none-any.whl", "url": "2.32.3/requests-2.32.3-py3-none-any.whl", "hashes": { "sha256": "70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", "md5": "df6df19f49fc7ae54ee5ff2dd3d22d2c" }, "requires-python": ">=3.8", "size": 64928, "upload-time": "2024-05-29T15:37:49.123456Z", "yanked": false } ] }
サポートされていない PyPI APIs
CodeArtifact は、次の PyPI APIsをサポートしていません。
PyPI XML-RPC API
。 PyPI Warehouse JSON API
は、プロジェクトレベルとリリースレベルの JSON エンドポイントを で提供します /pypi/。これは、CodeArtifact がサポートする Simple Repository API の PEP 691 JSON バリアントとは別の API です。プロジェクトリストエンドポイント
/simple/。プロジェクト詳細エンドポイントのみがサポート/simple/<project>/されています。
PyPI APIs の詳細については、Python Packaging Authority の GitHub ウェブサイトのレガシー API
pipコマンドサポート
以下のセクションでは、CodeArtifactリポジトリでサポートされているpipコマンドと、サポートされていない特定のコマンドについてまとめます。
リポジトリとインタラクトするサポートされたコマンド
このセクションでは、pipクライアントが設定されたレジストリに1つかそれ以上のリクエストを行うpipコマンドをリストアップします。これらのコマンドは、CodeArtifactリポジトリに対して呼び出されたときに正しく機能することが確認されています。
CodeArtifactはpip searchを実装していません。pipを CodeArtifactのリポジトリで設定した場合、pip searchを実行するとPyPI
サポートされているクライアント側コマンド
これらのコマンドはリポジトリとの直接的なやりとりを必要としないため、CodeArtifactはそのサポートのために何もする必要はありません。
| コマンド | 説明 |
|---|---|
|
uninstall |
パッケージをアンインストールする |
|
インストール済みパッケージを要件形式で出力します。 |
|
|
インストールされているパッケージを一覧表示します。 |
|
|
インストールされたパッケージに関する情報を表示します。 |
|
|
インストールされているパッケージに互換性のある依存関係があることを確認します。 |
|
|
ローカルおよびグローバル設定を管理します。 |
|
|
要件からホイールを構築します。 |
|
|
パッケージアーカイブのハッシュを計算します。 |
|
|
コマンド補完に役立ちます。 |
|
|
デバッグ時に便利な情報を表示します。 |
|
|
help |
コマンドのヘルプを表示します。 |