El proyecto Spring Cloud GCP nos ofrece las siguientes características:
- Bill of Materials (BOM) for dependency version management
- Spring Cloud GCP Pub/Sub, including PubSubTemplate
- Spring Resource Abstraction for Google Cloud Storage
- Spring Integration Channel Adapters for Google Cloud Pub/Sub and Google Cloud Storage
- Spring Cloud Stream Binder for Pub/Sub
- Spring Data Spanner (BETA)
- Spring Boot starters
- GCP Support
- Google Cloud Config (BETA)
- Google Cloud Spanner (BETA)
- Google Cloud Logging
- Google Cloud Pub/Sub
- Google Cloud SQL
- Google Cloud Storage
- Stackdriver Trace with Spring Cloud Sleuth
Y según la documentación solo es necesario esta dependencia en nuestro proyecto:
Y Gradle:
dependencies {
compile 'org.springframework.cloud:spring-cloud-gcp:1.0.0.RELEASE'
}
La intención de este y sucesivos post es mostrarles como usar estos proyectos.
Requisitos
- Tener Java 8+
- Intellij IDEA o el IDE de su preferencia
- Cuenta activa (trial o pagada) en Google Cloud Platform
Trabajando con Google Cloud Storage (GCS)
1. Primero acceder al Google Cloud Shell ( >_) que es una linea de comandos que se ejecuta en el cloud.
El resultado es:
2. Si colocas el comando gcloud auth list podras ver si estas autenticado. El gcloud es una herramienta de linea de comandos que te permite crear/configurar recursos en GCP , pero , en este shell ya viene instalado por defecto.
3. Verificamos que estamos trabajando con el proyecto correcto:
OJO: Si no estuvieras con el proyecto correcto, deberás setear el proyecto así:
gcloud config set project
Ese PROJECT_ID lo obtienes en:
Y al hacer clic en ese icoono a la derecha te saldrá la lista de proyectos:
4. Creamos un archivo en google cloud storage con echo "Hola desde Peru a GCP lovers" > sample.txt
5. Creamos un bucket en GCS y transferimos nuestro archivo con gsutil
BUCKET=joe-bucket-$USER
gsutil makebucket gs://$BUCKET
gsutil copy sample.txt gs://$BUCKET
Si vamos a la consola GCP, en buckets veremos nuestro archivo:
6. Creamos nuestro proyecto boot con las siguientes dependencias: web, GCP Storage
7. Creamos una controladora para Leer nuestro archivo:
8. Ejecutamos el proyecto y obtenemos....
Error. Esto se debe a que estamos en nuestra pc y no hemos configurado nuestras credenciales. El mensaje es claro: "GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials"
9. Para solucionar este problema necesitas generar para tu cuenta una clave y descargar el archivo json correspondiente.
10. Creas una variable de entorno GOOGLE_APPLICATION_CREDENTIALS apuntando a tu archivo json.
11. Copias el contenido de ese json en un archivo application_default_credentials.json ubicado en ~/.config/gcloud
12. Refresca tu terminal y vuelve a probar.
Perfecto!!. Ahora si todo anda bien.
13. Invocamos el URL http://localhost:8080
Wala!!! o como se diga jajaja.
14. Si quieres agregar contenido al archivo, tendras que manejar un POST.
15. Reinicias y pruebas con postman:
Listo, hasta el próximo proyecto.
Joe
Este blog ha sido eliminado por un administrador de blog.
ResponderBorrar