Using Google App Engine services outside of uploaded application - google-app-engine

I am looking to use Google Cloud Storage services outside of launching a google app engine application. My application is designed for running on a hosted server of our own, and I would like to still use the cloud storage service.
I've written a dev app that did this, and ran it with dev_appserver.py in the python GAE framework. It seems the dev_appserver.py is necessary as it fills in how to perform the RPC functions the cloud storage provides.
Is there a way to easily use google cloud storage service without the rest of it?

There is gsutil command line tool:
https://developers.google.com/storage/docs/gsutil
There is an xml/json restful service all at:
https://developers.google.com/storage/index
You'll need to enable the google cloud storage on the google console at:
https://code.google.com/apis/console/ and get the necessary api keys.

Related

Is it possible to implement create a web project in Spring Boot + Datastore?

I'm currently new to web developing and right now I started with a Spring Boot application which I converted to standard App Engine project. I'm wondering if it is possible to not convert my Spring Boot application to my App Engine project and still use Datastore as database?
Yes, it's possible to use the Cloud Datastore from an app in the GAE flexible environment, from outside GAE or even from outside the Google Cloud. From Cloud Datastore (emphasis mine):
You can access Cloud Datastore from anywhere using the Cloud
Datastore API. Use the Google Cloud client libraries to store and
retrieve data from Cloud Datastore.
The same Cloud Datastore data is available regardless of if you use
the App Engine libraries, the Google Cloud client libraries, or call
the API directly.
But you can't use the GAE Standard Environment Client Libraries, you have to use either the Cloud Datastore Client Libraries or the Cloud Datastore API v1.
Potentially of interest: the Deploying to the App Engine Flexible Environment guide happens to use a spring boot app as example.

Google Cloud Java SDK

I was going through the Google Cloud Java SDK on Github when I came across this line. I don't quite understand the meaning of "within Compute/App Engine". This is in with regards to Authentication for Google Cloud Services.
Github Link :
https://github.com/GoogleCloudPlatform/google-cloud-java
*When using google-cloud libraries from within Compute/App Engine, no additional authentication steps are necessary. For example:
`Storage storage = StorageOptions.getDefaultInstance().getService();`*
You can access Google APIs from anywhere on the internet. If the code accessing GCS is running on a phone, on your desktop, on AWS, on a server in colo, then you will need to do the authentication described.
However if you are accessing the API from code that is already running on Google Cloud Platform, then the authentication is automatically provided.

Using Elixir on Google Cloud Platform

Does anyone know if it's possible to use Elixir on Google Cloud Platform? Specifically I'd like to know how to deploy an app to App Engine, and how to access the Cloud Storage API.
No custom runtime required any more. Elixir is supported natively on Google Cloud Platform: https://cloud.google.com/elixir/
Quickstart dock: https://cloud.google.com/community/tutorials/elixir-phoenix-on-google-app-engine/
Check this community-tutorial on how to
Create an OTP release for your app using Distillery
Wrap your app release in a Docker image
Deploy your app on Google Kubernetes Engine
Phoenix/Elixir on Google Cloud
Accessing the Cloud Storage API is preferably done via JSON nowadays. Without more information I provide more customized information; see the Google Cloud Storage JSON API for more info.
Use a custom runtime in the App Engine flexible environment to use an
alternative implementation of Java, Python, Node.js, or Go, or write
code in any other language.
Source: https://cloud.google.com/appengine/docs/flexible/custom-runtimes/
Config application for Google App Engine. See https://cloud.google.com/appengine/docs/flexible/custom-runtimes/
Use Dockerfile for Elixir (https://elixir-lang.org/), pick one of these:
https://hub.docker.com/search/?isAutomated=0&isOfficial=0&page=1&pullCount=0&q=elixir&starCount=0
Deploy Dockerfile to Google App engine.
Use Google Cloud Storage JSON API to interactive with Google Cloud storage service by Elixir code via JSON:
https://cloud.google.com/storage/docs/json_api/

Is an App Engine instance required for accessing Datastore?

Do I need to deploy an App (even a dummy one) on the App Engine in order to use the Datastore service using the google-cloud-datastore Java API from a client such as a Compute Engine running in the google cloud?
No, you don't need to deploy an AppEngine app to access the Google Cloud Datastore. You just need to create a project from the Console and you can connect to the Datastore in the project from anywhere using the google-cloud-datasource API.

I want to choose my own Server and own database in google app engine

I am very newly in google app engine.. There are three Questoins on google app engine and in google app engine i want to choose JAVA language.
Does google app engine provide private cloude ?
I want to deploy my application with my own server( E.x.glassfish or JBoss) on google app engine ?
I want to use my own database instead of cloud SQL in google app engine?
Is it possible or not?
With Google Cloud Appengine - no, it's impossible.
With Google Cloud Instances or Google Cloud Containers - all of this is possible.
Appengine is just one piece of Google Cloud, designed for very specific job, with infrastructure managed by Google. You can only write some code (with lot of restrictions too) that runs inside it. You can read some details about code restritions there: https://cloud.google.com/appengine/docs/java/#Java_The_sandbox
What you're looking for is Google Cloud Instances, that are more standard virtual machines, where you can run anything you want. See https://cloud.google.com/compute/
There is still tools for Load Balancing, Health Check, Centralized Logging for Cloud Instances, and other stuff similar to features provided by Appengine.

Resources