파일 다운로드

이 페이지에서는 Artifact Registry 표준 저장소 및 원격 저장소에서 개별 파일을 다운로드하는 방법을 설명합니다. 저장소는 모든 아티팩트 형식이 될 수 있습니다.

파일 다운로드는 형식별 도구 없이 로컬 환경에 파일을 가져오려는 경우에 유용할 수 있습니다. 파일을 다운로드하기 전에 Artifact Registry에 인증해야 합니다.

다운로드 가능한 파일

저장소에서 찾은 모든 개별 데이터 또는 메타데이터 파일을 다운로드할 수 있습니다. 예를 들어 Maven 저장소는 Java 패키지를 아티팩트로 저장합니다. jar 파일 및 pom.xml 파일과 같은 Java 패키지 내의 모든 파일은 개별적으로 다운로드할 수 있습니다.

Docker 이미지와 같은 다운로드 작업을 위한 클라이언트 도구에 크게 의존하는 아티팩트에는 이 기능을 사용하지 않는 것이 좋습니다.

시작하기 전에

필요한 역할

저장소에 저장된 파일을 다운로드하는 데 필요한 권한을 얻으려면 관리자에게 저장소에 대한 Artifact Registry 리더(roles/artifactregistry.reader) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

파일 나열

저장소의 파일을 나열하여 다운로드할 수 있는 항목을 확인할 수 있습니다.

Console

  1. Google Cloud 콘솔에서 저장소 페이지를 엽니다.

    저장소 페이지 열기

  2. 저장소 목록에서 저장소를 선택합니다.

  3. 패키지 이름을 클릭합니다.

  4. 모든 패키지 버전의 다운로드 가능한 파일을 보려면 파일 탭을 클릭합니다.

  5. 특정 버전 패키지의 다운로드 가능한 파일을 보려면 버전 이름을 클릭한 후 파일 탭을 클릭합니다.

gcloud

다음 모든 명령어에 대해 --limit 플래그를 명령어에 추가하여 반환할 최대 파일 수를 설정할 수 있습니다.

기본값이 구성된 경우 기본 프로젝트, 저장소, 위치의 모든 파일을 나열하려면 다음 명령어를 실행합니다.

gcloud artifacts files list

지정된 프로젝트, 저장소, 위치의 파일을 나열하려면 다음을 실행합니다.

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION

특정 패키지의 모든 버전에 대한 파일을 나열하려면 다음을 실행합니다.

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE

특정 패키지 버전의 파일을 나열하려면 다음을 실행합니다.

gcloud artifacts files list \
    --project=PROJECT \
    --repository=REPOSITORY \
    --location=LOCATION \
    --package=PACKAGE \
    --version=VERSION

다음 값을 바꿉니다.

  • LOCATION은 저장소의 리전 또는 멀티 리전 위치입니다.
  • PROJECT: Google Cloud 프로젝트 ID 프로젝트 ID에 콜론(`:`)이 포함되어 있으면 도메인 범위 프로젝트를 참조하세요.
  • REPOSITORY: 이미지가 저장된 저장소의 이름입니다.
  • PACKAGE: 패키지의 이름입니다.
  • VERSION: 패키지의 버전입니다.

Docker 저장소의 경우 명령어에 --tag 플래그를 추가하여 특정 컨테이너 이미지 태그의 파일을 나열할 수 있습니다.

자세한 내용은 gcloud artifacts files list를 참조하세요.

파일 다운로드

저장소에서 개별 파일을 다운로드하려면 다음 명령어를 실행합니다.

gcloud

아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT: Google Cloud 프로젝트 ID입니다. 프로젝트 ID에 콜론(:)이 포함되어 있으면 도메인 범위 프로젝트를 참조하세요.
  • LOCATION: 저장소의 리전 또는 멀티 리전 위치입니다.
  • REPOSITORY: 아티팩트가 저장된 저장소의 이름입니다.
  • DESTINATION: 로컬 파일 시스템의 대상 폴더 경로입니다. 대상 폴더가 이미 있어야 하며 그렇지 않으면 명령어가 실패합니다.
  • FILE: 파일의 완전한 이름입니다. gcloud artifacts files list 명령어를 실행하고 FILE에 대한 값을 복사하여 이 값을 찾을 수 있습니다.

다음 명령어를 실행합니다.

Linux, macOS 또는 Cloud Shell

gcloud artifacts files download \
    --project=PROJECT \
    --location=LOCATION \
    --repository=REPOSITORY \
    --destination=DESTINATION \
    FILE

Windows(PowerShell)

gcloud artifacts files download `
    --project=PROJECT `
    --location=LOCATION `
    --repository=REPOSITORY `
    --destination=DESTINATION `
    FILE

Windows(cmd.exe)

gcloud artifacts files download ^
    --project=PROJECT ^
    --location=LOCATION ^
    --repository=REPOSITORY ^
    --destination=DESTINATION ^
    FILE
다운로드가 즉시 시작되는 것을 확인할 수 있습니다.

API

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT: Google Cloud 프로젝트 ID입니다. 프로젝트 ID에 콜론(:)이 포함되어 있으면 도메인 범위 프로젝트를 참조하세요.
  • LOCATION: 저장소의 리전 또는 멀티 리전 위치입니다.
  • REPOSITORY: 아티팩트가 저장된 저장소의 이름입니다.
  • DESTINATION: 로컬 파일 시스템의 대상 폴더 경로입니다. 대상 폴더가 이미 있어야 하며 그렇지 않으면 명령어가 실패합니다.
  • FILE: URL로 인코딩된 파일 이름입니다. gcloud artifacts files list 명령어를 실행하고 FILE에 대한 값을 복사하여 이 값을 찾을 수 있습니다. 이 명령어의 경우 URL 인코딩 형식으로 변환해야 합니다. 예를 들어 path/to/file.jarpath%2Fto%2Ffile.jar로 입력해야 합니다.

HTTP 메서드 및 URL:

GET https://artifactregistry.googleapis.com/download/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/files/FILE:download?alt=media

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다운로드가 즉시 시작되는 것을 확인할 수 있습니다.

다음 단계