For the complete documentation index, see llms.txt. This page is also available as Markdown.

Google Cloud Storage

Google Cloud Storage의 이미지를 Roboflow에 업로드

Google Cloud Storage에서 이미지 데이터 저장을 다루고 Roboflow에 업로드할 때, 일반적으로 두 가지 옵션이 있습니다: signed URL을 사용하거나, 이미지를 로컬에 수동으로 다운로드(gsutil CLI를 통해)한 뒤 로컬에서 업로드하는 방법입니다. 이 방법들 중 어떤 것을 선택할지는 데이터 처리 및 관리에 대한 구체적인 요구사항에 따라 달라집니다.

  • Signed URLs: 이 방법은 이미지를 로컬 머신으로 다운로드하는 데 따르는 추가 단계와 시간 소모를 피하고 싶을 때 특히 유리합니다. signed URL을 사용하면 이미지를 로컬에 저장할 필요 없이 Google Cloud Storage에서 Roboflow API로 직접 이미지 데이터를 업로드할 수 있습니다. 그 결과 처리 속도는 더 빨라지고 로컬 시스템의 부하도 줄어듭니다.

  • CLI 로컬: 이미지를 먼저 로컬 환경으로 다운로드하는 편을 선호하는 경우도 있을 수 있습니다. 예를 들어 Roboflow에 업로드하기 전에 이미지를 전처리하거나 수동으로 확인해야 한다면, 로컬 복사본이 있으면 유용합니다.

적절한 방법을 선택하는 것은 데이터 전송 속도, 전처리 필요 여부, 이미지 수동 검토와 같은 구체적인 사용 사례 요구사항에 따라 달라집니다.

Google Cloud JSON Key

버킷에 적절한 권한을 가진 서비스 계정을 생성하고 JSON 키 파일을 다운로드합니다. 이 파일에는 애플리케이션 인증에 사용되는 자격 증명이 포함됩니다.

옵션 1: signed URL을 통해 업로드:

Python의 Google Cloud SDK를 사용하여 Google Cloud Storage 버킷에 있는 이미지의 signed URL을 생성할 수 있습니다.

def get_gcs_signed_url(bucket_name: str, blob_name: str) -> str:
    """GCS 객체에 대한 signed URL을 생성합니다."""
    storage_client = storage.Client.from_service_account_json(GOOGLE_APPLICATION_CREDENTIALS)
    bucket = storage_client.get_bucket(bucket_name)
    blob = bucket.get_blob(blob_name)
    
    url = blob.generate_signed_url(
        version="v4",
        expiration=3600,  # 1시간(초)
        method="GET"
    )
    return url

위 코드 스니펫에서는 Google Cloud Storage 버킷 이름과 blob 이름이 필요합니다. 이미지의 signed URL이 생성되어 반환됩니다.

이를 바탕으로, 버킷에 있는 모든 사용 가능한 객체를 가져온 뒤 API를 통해 Roboflow에 업로드하는 완전한 솔루션을 만들 수 있습니다. 이 솔루션의 개요는 아래와 같습니다:

옵션 2: GCP에서 데이터를 로컬로 다운로드

GCP에서 데이터를 다운로드하려면 먼저 GCP CLI를 설치하세요. 그런 다음 GCP 사용자 계정으로 인증합니다.

이미지나 이미지 폴더를 다운로드하려면 다음 명령을 사용하세요:

다음을 mybucket GCP 스토리지 버킷 이름으로 바꾸고, folder 복사하려는 파일 또는 폴더의 대상 경로로 바꾸세요. 이 명령은 대상 파일 또는 폴더를 현재 작업 디렉터리(.).

Roboflow에 데이터 업로드

이제 데이터를 다운로드했으므로, 업로드 웹 인터페이스 또는 Roboflow CLI.

참고 자료

마지막 업데이트

도움이 되었나요?