Images API는 Google Cloud Storage 또는 Blobstore에서 직접 이미지를 제공하고 즉시 이 이미지를 조작할 수 있는 기능을 제공합니다. image
패키지의 콘텐츠를 보려면 image
패키지 참조를 확인하세요.
Images API가 작동하려면 Cloud Storage 버킷은 세분화된 API 액세스 제어 목록(ACL)을 사용해야 합니다. 균일한 버킷 수준 액세스용으로 구성된 버킷의 경우 Images API가 해당 버킷의 이미지를 가져올 수 없으며 TransformationError
오류 메시지가 표시됩니다. 버킷이 이러한 방식으로 구성된 경우 균일한 버킷 수준 액세스를 사용 중지할 수 있습니다.
이미지 형식
서비스에 JPEG, PNG, WEBP, GIF(애니메이션 GIF 포함), BMP, TIFF, ICO 형식의 이미지 데이터를 입력할 수 있습니다. 변환된 이미지는 JPEG, WEBP, PNG 형식으로 반환될 수 있습니다.
입력 형식과 출력 형식이 서로 다른 경우 서비스는 변환을 수행하기 전에 입력 데이터를 출력 형식으로 변환합니다.
이미지 제공 및 크기 조정
image.ServingURL
함수를 사용하면 웹에 적합한 이미지 미리보기 이미지를 제공할 수 있는 안정적인 전용 URL을 생성할 수 있습니다.
Blobstore에 원본 이미지의 단일 복사본을 저장한 다음 이미지의 크기를 조정하거나 자동으로 자를 수 있는 고성능 이미지 단위 URL을 요청할 수 있습니다. 이 URL에서 제공하면 CPU나 동적 제공 로드가 발생하지 않습니다(대역폭은 평소와 같이 청구됩니다).
이 함수가 반환하는 URL은 항상 공개되어 있지만 추측은 불가능하며, 비공개 URL은 현재 지원되지 않습니다. URL 제공을 중지하려면 image.DeleteServingURL
함수를 사용하여 삭제합니다.
image.ServingURLOptions
값을 함수에 전달하면 이 옵션으로 인코딩된 URL이 반환됩니다. nil
을 전달하면 함수는 이미지의 기본 URL을 반환합니다. 예를 들면 다음과 같습니다.
http://lhx.ggpht.com/randomStringImageId
URL에 인수를 지정하여 동적으로 이미지 크기를 조정하고 자를 수 있습니다. 사용 가능한 인수는 다음과 같습니다.
=sxx
: 여기서xx
는 이미지에서 가장 긴 변의 길이(픽셀 단위)를 나타내는 0~2560 사이의 정수입니다. 예를 들어=s32
를 추가하면 이미지의 가장 긴 변이 32픽셀이 되도록 크기가 조절됩니다.=sxx-c
: 여기서 xx는 잘린 이미지 크기(픽셀 단위)를 나타내는 0~2560 사이의 정수입니다.-c
는 이미지를 자르도록 시스템에 지시합니다.
# Resize the image to 32 pixels (aspect-ratio preserved) http://lhx.ggpht.com/randomStringImageId=s32 # Crop the image to 32 pixels http://lhx.ggpht.com/randomStringImageId=s32-c
Blobstore API를 사용하여 Cloud Storage에서 이미지 제공
Cloud Storage를 데이터 스토어로 사용하고 Blobstore API를 사용하여 이미지를 제공하는 경우 Cloud Storage 객체용 blob 키를 만들어야 합니다.
삭제 시 유의사항
Cloud Storage 또는 Blobstore에 저장된 이미지 제공을 중지하려면 image.DeleteServingURL
함수를 호출합니다.
제공된 URL을 통해 이미지에 액세스할 수 있으므로 Cloud Storage 또는 Blobstore에서 이미지를 직접 삭제하면 안 됩니다.
URL을 만든 애플리케이션이 사용 중지 또는 삭제되면 기본 이미지가 남아있더라도 제공한 URL은 작동하지 않습니다.