API Images para serviços agrupados antigos

A API Images permite publicar imagens diretamente a partir do Google Cloud Storage ou do Blobstore, e manipular essas imagens em tempo real. Para ver o conteúdo do pacote image, consulte a imagereferência do pacote.

Os contentores do Cloud Storage têm de usar listas de controlo de acesso detalhadas para que a API Images funcione. Para contentores que foram configurados para acesso de nível de contentor uniforme, a API Images não vai conseguir obter imagens nesse contentor e apresenta a mensagem de erro TransformationError. Se o seu contentor estiver configurado desta forma, pode desativar o acesso uniforme ao nível do contentor.

Formatos de imagem

O serviço aceita dados de imagem nos formatos JPEG, PNG, WEBP, GIF (incluindo GIF animado), BMP, TIFF e ICO. As imagens transformadas podem ser devolvidas nos formatos JPEG, WEBP e PNG.

Se o formato de entrada e o formato de saída forem diferentes, o serviço converte os dados de entrada no formato de saída antes de realizar a transformação.

Publicação e redimensionamento de imagens

A função image.ServingURL permite-lhe gerar um URL estável e dedicado para publicar miniaturas de imagens adequadas para a Web.

Pode armazenar uma única cópia da sua imagem original no Blobstore e, em seguida, pedir um URL por imagem de alto desempenho que possa publicar a imagem redimensionada e/ou recortada automaticamente. A publicação a partir deste URL não incorre em qualquer carga de CPU ou publicação dinâmica na sua aplicação (embora a largura de banda continue a ser cobrada como habitualmente).

O URL devolvido pela função é sempre público, mas não é adivinhável. Atualmente, não são suportados URLs privados. Se quiser parar de publicar o URL, elimine-o através da função image.DeleteServingURL.

Se transmitir um valor image.ServingURLOptions à função, esta devolve um URL codificado com essas opções. Se transmitir nil, a função devolve o URL predefinido da imagem, por exemplo:

http://lhx.ggpht.com/randomStringImageId

Pode redimensionar e recortar a imagem dinamicamente especificando os argumentos no URL. Os argumentos disponíveis são:

  • =sxx, onde xx é um número inteiro de 0 a 2560 que representa o comprimento, em píxeis, do lado mais longo da imagem. Por exemplo, adicionar =s32 redimensiona a imagem para que a sua dimensão mais longa seja de 32 píxeis.
  • =sxx-c, em que xx é um número inteiro de 0 a 2560 que representa o tamanho da imagem recortada em píxeis e -c indica ao sistema que deve recortar a imagem.
# 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

Publicar imagens do Cloud Storage através da API Blobstore

Se estiver a usar o Cloud Storage como um repositório de dados e a publicar as imagens através da API Blobstore, tem de criar uma chave de blob para o objeto do Cloud Storage.

Uma nota sobre a eliminação

Para parar de publicar uma imagem armazenada no Cloud Storage ou no Blobstore, chame a função image.DeleteServingURL.

Deve evitar eliminar diretamente imagens no Cloud Storage ou no Blobstore, uma vez que, ao fazê-lo, as imagens podem continuar acessíveis através do URL de publicação.

Os URLs de publicação deixam de funcionar se a aplicação que os criou for desativada ou eliminada, mesmo que a imagem subjacente permaneça disponível.