Esta página descreve como usar o recurso de visualização na Web do Cloud Shell. Esse recurso permite executar aplicativos da Web na instância da máquina virtual do Cloud Shell e visualizá-los no Google Cloud console.
O botão "Visualização da Web" pode ser encontrado no canto superior direito da barra de tarefas do Cloud Shell.
Iniciar o aplicativo da Web
Você pode executar qualquer aplicativo da Web que receba solicitações HTTP na máquina virtual do Cloud Shell, incluindo o servidor de desenvolvimento do App Engine. O aplicativo da Web precisa receber solicitações HTTP nas portas dentro do alcance permitido, 2000 a 65000. Essas portas estão disponíveis apenas para proteger o serviço de proxy do Cloud Shell, que restringe o acesso HTTPS apenas à sua conta de usuário.
Exemplo de servidor simples
Para iniciar um servidor Python HTTP simples a partir do prompt de comando do Cloud Shell:
cd `mktemp -d` \
&& echo '<html><body>Hello World</body></html>' >./index.html \
&& python -m http.server 8080
Exemplo de servidor de desenvolvimento do App Engine
Para clonar uma amostra de aplicativo do App Engine e executá-la no servidor de desenvolvimento do App Engine:
git clone https://github.com/GoogleCloudPlatform/appengine-guestbook-python \
&& cd appengine-guestbook-python \
&& dev_appserver.py ./app.yaml
O servidor de desenvolvimento é executado na porta 8080 por padrão.
Visualizar o aplicativo
Clique no botão Visualização da Web e, em seguida, selecione o número da porta no menu exibido. O Cloud Shell abre o URL de visualização no serviço de proxy dele em uma nova janela do navegador.
Também é possível acessar o URL de visualização combinando a porta com a variável de ambiente WEB_HOST no terminal do Cloud Shell usando o formato https://$PORT-$WEB_HOST ou a API Cloud Shell.
Como acessar aplicativos do Streamlit
A pré-visualização na Web do Cloud Shell funciona por uma série de proxies HTTP.
Os aplicativos Streamlit exigem argumentos adicionais para funcionar quando executados
por trás de um proxy HTTP. Ao executar esses aplicativos, especifique
--browser.serverAddress=localhost --server.enableCORS=false --server.enableXsrfProtection=false
na linha de comando.