Descripción general de la API de Funciones de Go

Con la API de Funciones, tu aplicación puede detectar interrupciones y tiempos de inactividad programados para funciones de API específicas. Puedes usar esta API para reducir el tiempo de inactividad en tu aplicación detectando funciones que no estén disponibles para luego saltearlas. Para ver el contenido del paquete capability, consulta la referencia del paquete capability.

Por ejemplo, si usas la API de Datastore, puedes utilizar la API de Funciones para detectar cuándo la API de Datastore no está disponible e informar sobre el error al usuario.

func handler(w http.ResponseWriter, r *http.Request) {
	ctx := appengine.NewContext(r)
	if !capability.Enabled(ctx, "datastore_v3", "*") {
		http.Error(w, "This service is currently unavailable.", 503)
		return
	}
	// do Datastore lookup ...
}

Puedes consultar por separado si hay disponibilidad de operaciones de lectura y escritura en Datastore. En el ejemplo que aparece a continuación, se muestra cómo detectar la disponibilidad de operaciones de escritura en Datastore y cómo enviar un mensaje a los usuarios durante el tiempo de inactividad:

if !capability.Enabled(ctx, "datastore_v3", "write") {
	// Datastore is in read-only mode.
}

Usa la API de Funciones en Go 1.9

La función capability.Enabled muestra “true” si la API y la función proporcionadas están disponibles. Debes pasar un nombre de función (como "write") o el comodín "*" para consultar todas las funciones de la API.

Funciones compatibles

Por el momento, la API admite las funciones siguientes:

Función Argumentos para Enabled
Disponibilidad de Blobstore "blobstore", "*"
Operaciones de lectura en Datastore "datastore_v3", "*"
Operaciones de escritura en Datastore "datastore_v3", "write"
Disponibilidad del servicio de correo electrónico "mail", "*"
Disponibilidad del servicio de Memcache "memcache", "*"
Disponibilidad del servicio de lista de tareas en cola "taskqueue", "*"
Disponibilidad del servicio de recuperación de URL "urlfetch", "*"
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Entorno estándar de App Engine para Go