API de Imágenes para servicios agrupados en paquetes heredados

La API de imágenes proporciona la capacidad de entregar imágenes directamente desde Google Cloud Storage o Blobstore, y de manipular esas imágenes sobre la marcha. Para ver el contenido del paquete image, consulta la referencia del paquete image.

Los depósitos de Cloud Storage deben usar listas de control de acceso detalladas para que funcione la API de Imágenes. En el caso de los buckets que se configuraron para el acceso uniforme a nivel de bucket, la API de Imágenes no podrá recuperar las imágenes de ese bucket y mostrará el mensaje de error TransformationError. Si tu bucket está configurado de esta manera, puedes inhabilitar el acceso uniforme a nivel de bucket.

Formatos de imagen

El servicio acepta datos de imagen en los formatos JPEG, PNG, WEBP, GIF (incluido GIF animado), BMP, TIFF y también ICO. Las imágenes transformadas se pueden mostrar en los formatos JPEG, WEBP y PNG.

Si el formato de entrada y el formato de salida son diferentes, el servicio convierte los datos de entrada al formato de salida antes de hacer la transformación.

Entrega y redimensiona imágenes

La función image.ServingURL te permite generar una URL dedicada estable a fin de entregar miniaturas de imágenes adecuadas para la Web.

Puedes guardar una copia única de tu imagen original en Blobstore y, luego, solicitar una URL de alto rendimiento por imagen que pueda entregar la imagen redimensionada o cortada de forma automática. La entrega desde esta URL no incurrirá en ninguna carga dinámica o de CPU en tu aplicación (aunque el ancho de banda se cobra como es habitual).

La URL que muestra la función siempre es pública, pero no es posible adivinarla; las URL privadas no son compatibles por el momento. Si deseas detener la entrega de la URL, bórrala mediante la función image.DeleteServingURL.

Si pasas un valor image.ServingURLOptions a la función, se muestra una URL codificada con esas opciones. Si pasas nil, la función mostrará la URL predeterminada para la imagen, por ejemplo:

http://lhx.ggpht.com/randomStringImageId

Puedes cambiar el tamaño de la imagen y recortarla de forma dinámica especificando los argumentos en la URL. Los argumentos disponibles son los siguientes:

  • =sxx en el que xx es un número entero de 0 a 2,560 que representa la longitud, en píxeles, del lado más largo de la imagen. Por ejemplo, si agregas =s32, se cambia el tamaño de la imagen para que su dimensión más larga sea de 32 píxeles.
  • =sxx-c en el que xx es un número entero de 0 a 2,560 que representa el tamaño de la imagen recortada en píxeles, y -c le dice al sistema que recorte la imagen.
# 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

Cómo entregar imágenes desde Cloud Storage mediante la API de Blobstore

Si estás utilizando Cloud Storage como almacén de datos y estás entregando las imágenes mediante la API de Blobstore, debes crear una clave blob para el objeto de Cloud Storage.

Una aclaración sobre la eliminación

Para dejar de entregar una imagen almacenada en Cloud Storage o en Blobstore, llama a la función image.DeleteServingURL.

Debes evitar borrar imágenes directamente en Cloud Storage o Blobstore, ya que así se puede habilitar el acceso a estas a través de la URL de entrega.

Las URL activas dejarán de funcionar si la aplicación que las creó se inhabilita o se borra, incluso si la imagen subyacente permanece disponible.