Crie, implante, depure e monitore aplicativos em Java altamente escalonáveis

  • Crie apps em Java no GCP usando Eclipse, IntelliJ ou a linha de comando com base em navegador
  • Implante e escalone apps em Java do Spring Boot ou do Spark
  • Use os plug-ins das ferramentas de criação Maven ou Gradle para criar e fazer implantações no GCP
  • Consulte bancos de dados MySQL, PostgreSQL ou NoSQL totalmente gerenciados no GCP usando Java
  • Implante apps em Java em um cluster gerenciado do Kubernetes
  • Execute apps nas imagens do Docker OpenJDK ou OpenJDK+Jetty9 mantidas pelo Google
Um grande conjunto de bibliotecas e APIs idiomáticas em Java
1
Configure um projeto no Console do Cloud Platform
  1. Faça login na sua Conta do Google.

    Se você ainda não tiver uma, inscreva-se.

  2. Configurar um projeto do Console do GCP.

    Configurar um projeto

    Clique para:

    • criar ou selecionar um projeto;
    • ativar a(s) Cloud Storage API necessária(s) para o projeto.
    • criar uma conta de serviço;
    • fazer o download de uma chave privada como JSON.

    É possível ver e gerenciar esses recursos a qualquer momento no Console do GCP.

2
Configure um intervalo do Cloud Storage

Crie um intervalo do Cloud Storage:

gsutil mb gs://[YOUR-BUCKET-NAME]

Torne o intervalo acessível para leitura pública se quiser que ele disponibilize arquivos:

gsutil defacl set public-read gs://[YOUR_BUCKET_NAME]
3
Adicione dependências do Maven ao pom.xml
<dependency>
  <groupId>com.google.cloud</groupId>
  <artifactId>google-cloud-storage</artifactId>
  <version>1.22.0</version>
</dependency>
4
Adicione variáveis de ambiente ao app.yaml
env_variables:
  BUCKET_NAME: YOUR-BUCKET-NAME
5
Escreva seu código
@SuppressWarnings("serial")
@WebServlet(name = "upload", value = "/upload")
@MultipartConfig()
public class UploadServlet extends HttpServlet {

  private static final String BUCKET_NAME = System.getenv("BUCKET_NAME");
  private static Storage storage = null;

  @Override
  public void init() {
    storage = StorageOptions.getDefaultInstance().getService();
  }

  @Override
  public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException,
      ServletException {
    final Part filePart = req.getPart("file");
    final String fileName = filePart.getSubmittedFileName();

    // Modify access list to allow all users with link to read file
    List<Acl> acls = new ArrayList<>();
    acls.add(Acl.of(Acl.User.ofAllUsers(), Acl.Role.READER));
    // the inputstream is closed by default, so we don't need to close it here
    Blob blob =
        storage.create(
            BlobInfo.newBuilder(BUCKET_NAME, fileName).setAcl(acls).build(),
            filePart.getInputStream());

    // return the public download link
    resp.getWriter().print(blob.getMediaLink());
  }
}
GUIAS DE INÍCIO RÁPIDO DE JAVA
Encontre e corrija problemas de produção

O Google Stackdriver oferece funcionalidades de rastreamento, depuração, geração de registros, monitoramento e geração de relatórios. Ele fornece insights sobre a integridade, o desempenho e a disponibilidade de aplicativos com tecnologia de nuvem. Dessa forma, você encontra e corrige problemas em produção com mais agilidade.

Saiba mais
JAVA NAS COMUNIDADES DO GCP

Tem algo a dizer? Participe da nossa comunidade para fazer perguntas ou falar com especialistas do Google que ajudam a fomentar o suporte para Java no Google Cloud Platform.