Desarrolla potentes backends en el lenguaje que prefieras
arrow_forward
Crea y despliega backends de Kotlin con autoescalado para tus aplicaciones móviles.
arrow_forward
Usa las bibliotecas y los frameworks de Java que prefieras para programar con Kotlin.
arrow_forward
Utiliza Firebase o los servicios totalmente gestionados de MySQL o PostgreSQL para la base de datos de tu aplicación.
arrow_forward
Ejecuta Kotlin en una aplicación en contenedores a gran escala en Google Kubernetes Engine.
arrow_forward
Usa IntelliJ con los complementos de Google Cloud Tools para añadir bibliotecas de APIs de Google Cloud y realizar el despliegue en App Engine.
Usa los frameworks de Java y Kotlin que prefieras para programar con Kotlin
Aprende a crear una aplicación en Spring Boot, Spark y Ktor. Luego, usa Cloud SQL para integrarla con MySQL.
// import com.google.cloud.storage.StorageOptionsvalstorage=StorageOptions.getDefaultInstance().servicevalbucket=storage.get(bucketName)?:error("Bucket $bucketName does not exist.")println("Listing all blobs in bucket $bucketName:")bucket.list().iterateAll().forEach{blob->
println("${blob.name} (content-type: ${blob.contentType}, size: ${blob.size})")}
1
Configura un proyecto de Google Cloud Platform.
En la consola de Cloud Platform, ve a la página Gestionar recursos y selecciona un proyecto o crea uno.
// import com.google.cloud.vision.v1.ImageAnnotatorClient// import java.io.FilevalimgProto=ByteString.copyFrom(File(imageFileName).readBytes())valvision=ImageAnnotatorClient.create()// Set up the Cloud Vision API request.valimg=Image.newBuilder().setContent(imgProto).build()valfeat=Feature.newBuilder().setType(Type.LABEL_DETECTION).build()valrequest=AnnotateImageRequest.newBuilder().addFeatures(feat).setImage(img).build()// Call the Cloud Vision API and perform label detection on the image.valresult=vision.batchAnnotateImages(arrayListOf(request))// Print the label annotations for the first response.result.responsesList[0].labelAnnotationsList.forEach{label->
println("${label.description} (${(label.score*100).toInt()}%)")}
1
Configura un proyecto de Google Cloud Platform.
En la consola de Cloud Platform, ve a la página Gestionar recursos y selecciona un proyecto o crea uno.
// Create the client.valdb=FirestoreOptions.newBuilder().setTimestampsInSnapshotsEnabled(true).build().service// Fetch the document reference and data object.valdocRef=db.collection(collectionName).document(documentName)valdata=docRef.get()// future.get()// snapshot.data?:error("Document $collectionName:$documentName not found")// MutableMap// Print the retrieved data.data.forEach{key,value->println("$key: $value")}
Subir archivos a Google Cloud Storage
1
Configura un proyecto de Google Cloud Platform.
En la consola de Cloud Platform, ve a la página Gestionar recursos y selecciona un proyecto o crea uno.
// import com.google.cloud.storage.StorageOptionsvalstorage=StorageOptions.getDefaultInstance().servicevalbucket=storage.get(bucketName)?:error("Bucket $bucketName does not exist.")println("Listing all blobs in bucket $bucketName:")bucket.list().iterateAll().forEach{blob->
println("${blob.name} (content-type: ${blob.contentType}, size: ${blob.size})")}
Analizar imágenes con la API de Cloud Vision
1
Configura un proyecto de Google Cloud Platform.
En la consola de Cloud Platform, ve a la página Gestionar recursos y selecciona un proyecto o crea uno.
// import com.google.cloud.vision.v1.ImageAnnotatorClient// import java.io.FilevalimgProto=ByteString.copyFrom(File(imageFileName).readBytes())valvision=ImageAnnotatorClient.create()// Set up the Cloud Vision API request.valimg=Image.newBuilder().setContent(imgProto).build()valfeat=Feature.newBuilder().setType(Type.LABEL_DETECTION).build()valrequest=AnnotateImageRequest.newBuilder().addFeatures(feat).setImage(img).build()// Call the Cloud Vision API and perform label detection on the image.valresult=vision.batchAnnotateImages(arrayListOf(request))// Print the label annotations for the first response.result.responsesList[0].labelAnnotationsList.forEach{label->
println("${label.description} (${(label.score*100).toInt()}%)")}
Llamar a Firestore desde un backend de Kotlin
1
Configura un proyecto de Google Cloud Platform.
En la consola de Cloud Platform, ve a la página Gestionar recursos y selecciona un proyecto o crea uno.
// Create the client.valdb=FirestoreOptions.newBuilder().setTimestampsInSnapshotsEnabled(true).build().service// Fetch the document reference and data object.valdocRef=db.collection(collectionName).document(documentName)valdata=docRef.get()// future.get()// snapshot.data?:error("Document $collectionName:$documentName not found")// MutableMap// Print the retrieved data.data.forEach{key,value->println("$key: $value")}
Detecta y depura problemas rápidamente
Los productos de operaciones de Google Cloud ofrecen potentes funciones de monitorización, almacenamiento de registros y diagnóstico. Esta solución suministra datos sobre el estado, el rendimiento y la disponibilidad de las aplicaciones basadas en la nube, lo que permite identificar problemas y resolverlos con mayor rapidez.
Productos de operaciones
Monitorización, almacenamiento de registros y diagnóstico de las aplicaciones de Google Cloud y AWS en un mismo lugar.
Error Reporting
Un tutorial sobre cómo investigar un error en la consola de Cloud desde el momento en el que se recibe la alerta correspondiente.
Monitorizar, diagnosticar y solucionar problemas
En este vídeo, Aja Hammerly utiliza Cloud Monitoring, Cloud Logging, Error Reporting, Cloud Debugger y Cloud Trace para localizar y solucionar errores imperceptibles en una aplicación de muestra.
¿Tienes algo que añadir? Únete a nuestra comunidad para hacer preguntas o charlar con expertos de Google involucrados en el proceso de integración de Kotlin en Google Cloud Platform.
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],[],[],[]]