Paket google.golang.org/appengine (Version 1.6.8)

Das appengine-Paket bietet grundlegende Funktionen für Google App Engine.

Weitere Informationen zum Schreiben von Go-Anwendungen für Google App Engine finden Sie unter https://cloud.google.com/appengine/docs/go/

Variablen

Middleware

var Middleware func(http.Handler) http.Handler = internal.Middleware

Middleware umschließt einen HTTP-Handler, sodass GAE API-Aufrufe ausgeführt werden können

Funktionen

func APICall

func APICall(ctx context.Context, service, method string, in, out proto.Message) error

APICall führt einen API-Aufruf aus.

Dies ist nicht für die allgemeine Verwendung vorgesehen. Es wird zur Verwendung in Verbindung mit WithAPICallFunc exportiert.

func AccessToken

func AccessToken(c context.Context, scopes string) (token string, expiry time.Time, err error)

AccessToken generiert ein OAuth2-Zugriffstoken für die angegebenen Bereiche im Auftrag des Dienstkontos dieser Anwendung. Dieses Token läuft nach der gemeldeten Zeit ab.

func AppID

func AppID(c context.Context) string

AppID liefert die Anwendungs-ID für die aktuelle Anwendung. Der String ist eine einfache Anwendungs-ID (z. B. "appid") mit einem Domainpräfix für benutzerdefinierte Domainbereitstellungen (z. B. "example.com:appid").

func BackgroundContext (verworfen)

func BackgroundContext() context.Context

BackgroundContext gibt einen Kontext zurück, der nicht mit einer Anfrage verknüpft ist.

Verworfen: App Engine hat keinen speziellen Hintergrundkontext mehr. Verwenden Sie einfach context.Background().

func Datacenter

func Datacenter(c context.Context) string

Datacenter liefert eine Kennung für das Rechenzentrum, in dem die Instanz ausgeführt wird.

func DefaultVersionHostname

func DefaultVersionHostname(c context.Context) string

DefaultVersionHostname liefert den Standardhostnamen der Standardversion der aktuellen Anwendung (z. B. "my-app.appspot.com"). Dieser eignet sich zum Erstellen von URLs.

func InstanceID

func InstanceID() string

InstanceID liefert eine vorwiegend eindeutige Kennung für diese Instanz.

func IsAppEngine

func IsAppEngine() bool

IsAppEngine meldet, ob die App Engine-Anwendung in App Engine ausgeführt wird, entweder in der Standardumgebung oder der flexiblen Umgebung.

func IsDevAppServer

func IsDevAppServer() bool

IsDevAppServer meldet, ob die App Engine-Anwendung auf dem Entwicklungs-Anwendungsserver ausgeführt wird.

func IsFlex

func IsFlex() bool

IsFlex meldet, ob die App Engine-Anwendung in der flexiblen Umgebung ausgeführt wird.

func IsOverQuota

func IsOverQuota(err error) bool

IsOverQuota meldet, ob err einen API-Aufruffehler aufgrund von nicht ausreichend verfügbarem Kontingent darstellt.

func IsSecondGen

func IsSecondGen() bool

IsSecondaryGen meldet, ob die App Engine-Anwendung in den Laufzeiten der zweiten Generation ausgeführt wird (>= Go 1.11).

func IsStandard

func IsStandard() bool

IsStandard meldet, ob die App Engine-Anwendung in der Standardumgebung ausgeführt wird. Dies umfasst sowohl Laufzeiten der ersten Generation (<= Go 1.9) als auch die Laufzeiten der zweiten Generation (>= Go 1.11).

func IsTimeoutError

func IsTimeoutError(err error) bool

IsTimeoutError meldet, ob err ein Zeitüberschreitungsfehler ist.

func Main

func Main()

„Main“ ist der Haupteinstiegspunkt für eine Anwendung, die in App Engine ausgeführt wird.

In der flexiblen Umgebung von App Engine wird eine einfache Systemdiagnose installiert, falls noch keine registriert ist, und sie beginnt, den Port 8080 zu überwachen (überschrieben durch die Umgebungsvariable $PORT).

Weitere Informationen zur Durchführung einer eigenen Systemdiagnose finden Sie unter https://cloud.google.com/appengine/docs/flexible/custom-runtimes#health_check_requests.

In der App Engine-Standardumgebung wird sichergestellt, dass der Server gestartet wurde und bereit ist, Anfragen zu empfangen.

„Main“ gibt nie etwas zurück.

„Main“ ist so konzipiert, dass das Hauptpaket der Anwendung so aussieht:

package main

import (
        "google.golang.org/appengine"

        _ "myapp/package0"
        _ "myapp/package1"
)

func main() {
        appengine.Main()
}

Die Pakete „myapp/packageX“ registrieren HTTP-Handler in ihren Init-Funktionen.

func ModuleHostname

func ModuleHostname(c context.Context, module, version, instance string) (string, error)

ModuleHostname liefert einen Hostnamen einer Modulinstanz. Wenn das Modul der leere String ist, bezieht er sich auf das Modul der aktuellen Instanz. Wenn die Version leer ist, bezieht er sich auf die Version der aktuellen Instanz, falls diese gültig ist, oder auf die Standardversion des Moduls der aktuellen Instanz. Wenn die Instanz leer ist, liefert ModuleHostname den Hostnamen für den Lastenausgleich.

func ModuleName

func ModuleName(c context.Context) string

ModuleName liefert den Modulnamen der aktuellen Instanz.

func Namespace

func Namespace(c context.Context, namespace string) (context.Context, error)

Namespace liefert einen Ersetzungskontext, der innerhalb des angegebenen Namespace funktioniert.

func NewContext

func NewContext(req *http.Request) context.Context

NewContext liefert einen Kontext für einen derzeit ausgeführten HTTP-Request. Diese Funktion ist kostengünstig.

func RequestID

func RequestID(c context.Context) string

RequestID liefert einen String, der den Request eindeutig identifiziert.

func ServerSoftware

func ServerSoftware() string

ServerSoftware liefert die App Engine-Releaseversion. In der Produktion sieht sie aus wie "Google App Engine/X.Y.Z". Im Entwicklungs-Anwendungsserver sieht sie aus wie "Development/X.Y".

func ServiceAccount

func ServiceAccount(c context.Context) (string, error)

ServiceAccount liefert einen String, der den Namen des Dienstkontos in Form einer E-Mail-Adresse darstellt (normalerweise app_id@appspot.gserviceaccount.com).

func SignBytes

func SignBytes(c context.Context, bytes []byte) (keyName string, signature []byte, err error)

SignBytes signiert Byte mit einem privaten Schlüssel, der für Ihre Anwendung einzigartig ist.

func VersionID

func VersionID(c context.Context) string

VersionID liefert die Versions-ID für die aktuelle Anwendung. Sie hat die Form "X.Y", wobei X in app.yaml angegeben ist und Y eine Zahl ist, die generiert wird, wenn die jeweilige Version der Anwendung hochgeladen wird. Sie enthält keinen Modulnamen.

func WithAPICallFunc

func WithAPICallFunc(ctx context.Context, f APICallFunc) context.Context

WithAPICallFunc gibt eine Kopie des übergeordneten Kontexts zurück, der dazu führt, dass API-Aufrufe „f“ anstelle des normalen Betriebs aufrufen.

Dies ist nur für fortgeschrittene Nutzer gedacht.

func WithContext

func WithContext(parent context.Context, req *http.Request) context.Context

WithContext liefert eine Kopie des übergeordneten Kontexts und ordnet sie einem derzeit laufenden HTTP-Request zu. Diese Funktion ist kostengünstig.

APICallFunc

type APICallFunc func(ctx context.Context, service, method string, in, out proto.Message) error

APICallFunc definiert einen Funktionstyp für die Verarbeitung eines API-Aufrufs. Siehe WithCallOverride.

BlobKey

type BlobKey string

BlobKey ist ein Schlüssel für ein Blobstore-Blob.

Konzeptuell gehört dieser Typ ins blobstore-Paket. Er befindet sich jedoch im appengine-Paket, um eine zirkuläre Abhängigkeit zu verhindern: Blobstore hängt vom Datenspeicher ab und der Datenspeicher muss auf den BlobKey-Typ verweisen.

Zertifikat

type Certificate struct {
	KeyName string
	Data    []byte // PEM-encoded X.509 certificate
}

Das Zertifikat stellt ein öffentliches Zertifikat für die Anwendung dar.

func PublicCertificates

func PublicCertificates(c context.Context) ([]Certificate, error)

PublicCertificates ruft die öffentlichen Zertifikate für die Anwendung ab. Damit kann eine von SignBytes zurückgegebene Signatur geprüft werden.

GeoPoint

type GeoPoint struct {
	Lat, Lng float64
}

GeoPoint stellt einen Standort in der Form Breitengrad/Längengrad in Grad dar.

func (GeoPoint) Valid

func (g GeoPoint) Valid() bool

Valid gibt an, ob ein GeoPoint innerhalb von [-90, 90] Breitengrad und [-180, 180] Längengrad liegt.

MultiError

type MultiError []error

MultiError wird von Batchvorgängen zurückgegeben, wenn Fehler bei bestimmten Elementen vorliegen. Fehler stehen in einer 1:1-Beziehung zu den Eingabeelementen; erfolgreiche Elemente haben einen Nulleintrag.

func (MultiError) Error

func (m MultiError) Error() string