Mit Funktionen arbeiten
Eine Funktion ist ein zustandsloser Codeschnipsel, der Aufgaben ausführt, wenn er von HTTP Anfragen aufgerufen wird. Mit IBM Code Engine Funktionen können Sie Ihre Geschäftslogik auf skalierbare und serverlose Weise ausführen. IBM Code Engine funktionen bieten eine optimierte Laufzeitumgebung für niedrige Latenzzeiten und schnelle Scale-out-Szenarien. Ihr Funktionscode kann in einer verwalteten Laufzeitumgebung geschrieben werden, die bestimmte Node.js oder Python Versionen enthält.
Ein Codepaket ist eine Sammlung von Dateien, die Ihren Funktionscode darstellt. Dieses Codepaket wird in den Laufzeitcontainer eingefügt. Ihr Code-Bundle wird von Code Engine erstellt und in der Container-Registry oder in der Funktion gespeichert. Ein Codepaket ist kein OCI-Standard-Container-Image (Open Container Initiative).
Vorbereitende Schritte
- Wenn Sie die Konsole Code Engine verwenden möchten, gehen Sie auf Code Engine overview.
- Wenn Sie die Befehlszeilenschnittstelle verwenden möchten, richten Sie die Umgebung der Code Engine-Befehlszeilenschnittstelle ein.
- Planen und wählen Sie Ihren Ansatz, um Ihren Code als Code Engine Funktionskomponente laufen zu lassen.
Sie sind sich nicht sicher, welcher Typ von Code Engine-Workload erstellt werden soll? Code Engine-Planung enthält weitere Informationen hierzu.
Funktionseinschränkungen
- Keine Unterstützung für die Subskription von Ereignisproduzenten.
- Keine Unterstützung für Terraform.
Wie kann ich meinen Code als Code Engine Funktionskomponente laufen lassen?
Unabhängig davon, ob Ihr Code als Quellcode in einer lokalen Datei oder in einem Git Repository vorhanden ist, oder ob es sich bei Ihrem Code um ein vorhandenes Code-Bundle handelt, das sich in einer öffentlichen oder privaten Registrierung befindet, bietet Code Engine eine optimierte Methode, um Ihren Code als Funktion auszuführen.
-
Wenn Sie mit einem Quellcode beginnen, der sich in einem Git Repository befindet, können Sie auf den Speicherort Ihres Quellcodes verweisen. Code Engine erstellt dann das Code-Bundle aus Ihrem Quellcode und erstellt die Funktion mit einem einzigen Vorgang. In diesem Szenario lädt Code Engine Ihren Code auf IBM Cloud® Container Registry hoch. Weitere Informationen finden Sie unter Funktion aus Repository-Quellcode erstellen.
-
Wenn Sie mit dem Quellcode auf einer lokalen Workstation beginnen, können Sie auf den Speicherort Ihres Quellcodes verweisen, und Code Engine übernimmt die Erstellung des Abbilds aus Ihrem Quellcode und die Erstellung der Funktion mit einem einzigen CLI-Befehl. In diesem Szenario lädt Code Engine Ihren Code auf IBM Cloud® Container Registry hoch. Weitere Informationen finden Sie unter Funktion aus lokalem Quellcode mit der Befehlszeilenschnittstelle erstellen.
-
Wenn Sie mit Quellcode beginnen, können Sie Ihren Quellcode auch inline ausführen. In diesem Szenario fügen Sie Ihren Quellcode ein, wenn Sie Ihre Funktion erstellen. Weitere Informationen finden Sie unter Funktion mit Inline-Code erstellen.
Nachdem Sie Ihre Funktion erstellt und ausgeführt haben, können Sie Ihre Funktion auch auf eine der oben genannten Arten aktualisieren, unabhängig davon, wie Sie Ihre Funktion erstellt oder zuvor aktualisiert haben.
Was passiert, wenn ich meine Funktion aufrufe?
Wenn eine Funktion aufgerufen (gestartet) wird, wird die entsprechende Funktionsinstanz mit den konfigurierten Laufzeitcontainer-und Ressourcenparametern initialisiert. Der Prozess der ersten Initialisierung wird als Kaltstartbezeichnet.
Um die Latenzzeit für den Kaltstart zu reduzieren, optimiert Code Engine den Aufruf, indem bestimmte Laufzeiten mit bestimmten CPU-und Speicherkonfigurationen vorab aktualisiert werden. Zu den vorgewärmten Kombinationen für Funktionen gehören die Laufzeiten Node.js und Python sowie die Standard-CPU- und Speicherkombination für Funktionen, d. h. 0.25 vCPU x 1 GB Speicher. Darüber hinaus soll das System die Wiederverwendung von bereits initialisierten Funktionsinstanzen verbessern. Daher wird eine Funktionsinstanz nach Abschluss des Aufrufs aktiv gehalten, um nachfolgende Aufrufe durch Wiederverwendung derselben Instanz und Wiederverwendung des Status der Instanz nach Abschluss des letzten Aufrufs zuzulassen. Die Wiederverwendung einer Funktionsinstanz ist nicht garantiert.
Kann ich meine Funktionsinstanz länger am Leben halten?
Mit Code Enginewird Ihre Funktion abhängig von der Workload automatisch nach oben und unten skaliert. Wenn Sie Ihre Funktion mit der Standardkombination aus CPU und Speicher erstellen, wird Ihre Funktion in einen vorgewärmten Container injiziert, der für die Verwendung optimiert ist. Wenn Sie eine Funktion mit einer anderen CPU-und Speicherkombination als der Standardkombination erstellen, wird Ihre Funktion in einen neuen Container injiziert. Standardmäßig wird dieser Container nur für einen kurzen Zeitraum nach Abschluss der Funktion aktiv gehalten. Weitere Informationen finden Sie unter Unterstützte CPU-und Speicherkombinationen für Funktionen.
Sie können die Zeit, die Ihr Container aktiv bleibt, mit der Option --scale-down-delay in der Befehlszeilenschnittstelle oder mit der Option Scale-down-Verzögerung in der Konsole ändern. Beachten Sie, dass die Beibehaltung
des Containers zwar die Kaltstartzeiten für jede nachfolgende Ausführung Ihrer Funktion reduziert, Sie jedoch auch die Zeit in Rechnung stellen, die der angepasste Funktionscontainer vorhanden ist.
Anforderungen und Antworten
Die Funktionen werden über das Protokoll HTTP aufgerufen. Wenn Sie Ihre Funktion aufrufen, können Sie die benutzerdefinierten Anforderungsparameter, den benutzerdefinierten Anforderungskörper und die Kopfzeilen sowie die Methode HTTP angeben. Die Anforderungsparameter werden dem Funktionscode als Eingabeparameter zur Verfügung gestellt. Der Funktionscode kann den Antworthauptteil, Antwortheader und Antwortcode festlegen, die vom Funktionsendpunkt an den Aufrufenden zurückgegeben werden.
Beispiel 1: HTML-Antwort aus einer Funktion generieren
Das folgende Beispiel zeigt, wie eine HTML-Antwort aus einer Funktion generiert wird.
function main(params) {
var msg = 'You did not tell me who you are.';
if (params.name) {
msg = `Hello, ${params.name}!`
} else {
msg = `Hello, FaaS on CodeEngine!`
}
return {
headers: { 'Content-Type': 'text/html; charset=utf-8' },
body: `<html><body><h3>${msg}</h3></body></html>`
}
}
module.exports.main = main;
Beispiel 2: Antwortcode und Antwortheader festlegen
Ihre Funktion kann einen bestimmten Antwortcode und Header-Flags festlegen. Das folgende Beispiel veranschaulicht, wie Sie einen Antwortcode und eine Antwortkopfzeile festlegen können, um eine Umleitung zu einem anderen URL hinzuzufügen.
function main(params) {
return {
headers: { location: 'https://cloud.ibm.com/docs/codeengine' },
statusCode: 302
}
}
Beispiel 3: Klartextantwort aus einer Funktion generieren
Das folgende Beispiel veranschaulicht, wie eine Klartextantwort aus einer Funktion generiert wird.
function main(params) {
var msg = 'You did not tell me who you are.';
if (params.name !== "") {
msg = `Hello, ${params.name}!`
}
return {
headers: { 'Content-Type': 'text/plain;charset=utf-8' },
body: `${msg}`
}
}
Fehlerbehandlung und Debugging
Funktionsaufrufe können System-oder Anwendungsfehler zurückgeben. Systemfehler geben beispielsweise an, dass der Funktionscode nicht erfolgreich ausgeführt wurde, während Anwendungsfehler auf ein Problem im Funktionscode selbst hinweisen.
Wenn ein Systemfehler auftritt, wird ein HTTP Antwortcode ähnlich den folgenden Codes zurückgegeben.
| Code | Beschreibung |
|---|---|
| 409 | Die für die Funktion erforderlichen Ressourcen wurden nicht erfüllt. |
| 413 | Die Anforderungsnutzdaten überschreiten das definierte Maximum. |
| 414 | Der Aufruf-URI ist zu lang. |
| 416 | Die Funktion hat eine Antwort generiert, die den definierten Maximalwert überschreitet. |
| 422 | Der Funktionscode ist ungültig und kann nicht verarbeitet werden. Weitere Informationen finden Sie in den Plattform-Protokollen. |
| 424 | Der Funktionscode konnte nicht ausgeführt werden. Versuchen Sie es zu einem späteren Zeitpunkt erneut. |
| 429 | Das Ressourcenkontingent wurde überschritten. Die Funktion konnte nicht geplant werden. |
| 431 | Die Anforderungsheader überschreiten das definierte Maximum. |
| 500 | Interner Serverfehler. |
| 502 | Fehlerhaftes Gateway. |
| 503 | Die Funktion ist derzeit nicht verfügbar. Versuchen Sie es später erneut. |
| 507 | Nicht genügend Speicher zum Laden der Funktion. |
Wenn Code Engine den Funktionscode ausführen kann, antwortet er auf den Aufruf mit einem der folgenden Statuscodes.
| Code | Beschreibung |
|---|---|
| 200 | Funktionsaufruf akzeptiert, die Funktion wird verzögert ausgeführt. |
| 202 | Funktionsaufruf akzeptiert, die Funktion wird asynchron ausgeführt. |
| 299 | Die Funktion hat den angegebenen oder maximalen Laufzeitgrenzwert überschritten und wurde abgebrochen. |
Als Entwickler einer Funktion können Sie jeden beliebigen HTTP Statuscode erzeugen, auch die zuvor aufgeführten. Daher gibt ein Antwortheader an, dass der Statuscode vom Funktionscode generiert wurde.
Die Funktionen von Code Engine fügen der Funktionsaufrufantwort die folgenden Antwortheader hinzu.
| Code | Beschreibung |
|---|---|
x-faas-actionstatus |
Der HTTP Statuscode, der von der Logik des Funktionsprogramms gesetzt wird. |
x-faas-activation-id |
Die eindeutige ID für den Funktionsaufruf. |
x-faas-result |
Eine success-Nachricht oder kurze Fehlernachricht, die vom Laufzeitcontainer zurückgegeben wird. |
x-faas-errormessage |
Eine lange Fehlernachricht mit zusätzlichen Details |
x-faas-prewarmed |
Eine Nachricht, die angibt, ob der Aufruf kalt war oder ob die Funktion in einem vorhandenen (vorgewärmten) Container ausgeführt wurde. Mögliche Werte sind false oder true. |
Ein-/Ausgabemerkmale für Funktionsdaten
Zum Ausführen Ihrer Funktion in Code Enginemuss Ihr Code einen Laufzeitvertrag mit den folgenden Merkmalen implementieren.
- Muss von einem öffentlichen Webanwendungsendpunkt aus aufrufbar sein, so dass er in Webseiten eingebettet und dann von einer beliebigen Code Engine Eventing-Quelle, einem Webbrowser oder einem anderen HTTPS-fähigen Client aufgerufen werden kann.
- Sie müssen eine
main-Prozedur als Eingangspunkt implementieren. Die Prozedurmainkann Eingabeparameter in Form einer JSON-formatierten Datenstruktur empfangen und Ausgabeparameter zurückgeben, auch in Form einer JSON-formatierten Datenstruktur. - Kann einen optionalen Unterpfad empfangen, sodass die Funktion basierend auf dem angegebenen Pfad unterschiedliche Versionen implementieren kann Die Prozedur
mainder Funktion empfängt den Pfad als Eingabeparameter__ce_path. - Kann optionale Abfrageparameter empfangen, die verwendet werden können, um die Funktion zur Laufzeit zu konfigurieren. Die Prozedur
mainder Funktion empfängt die Parameter als Schlüssel/Wert-Paare in der Eingabedatenstruktur im JSON-Format. - Kann Anforderungsheader empfangen, sodass Clientcode akzeptierte Codierungen angeben kann
- Kann einen optionalen Inhaltstyp-Anforderungsheader empfangen.
- Kann optionale Anforderungsnutzdaten (Hauptteil) empfangen, die die Funktion zur Laufzeit verarbeitet. Abhängig vom ausgewählten Inhaltstyp der Anforderung werden die Datennutzdaten an den Haupteingangspunkt der Funktion übergeben, entweder
in Base64-codierter Form oder als Teil der JSON-Eingabedatenstruktur. Sonderzeichen in Schlüsselwertpaaren von
application/x-www-form-urlencodedinput sindpercent-encoded-Werte. - Kann einen beliebigen HTTP Statuscode definieren (optional), der dann an den aufrufenden Client zurückgegeben wird.
- Kann beliebige Antwortheader festlegen, z. B. eine Umleitungsposition, eine Antwortcodierung oder Cookiewerte.
- Kann einen beliebigen Antworthauptteil mit einer ausgewählten binären oder nicht binären Codierung zurückgeben, z. B.
application/octet-stream,application/json,text/*,image/*oderaudio/*. Wenn keincontent-type-Antwortheader festgelegt ist, wird standardmäßigtext/plainverwendet. - Unterstützt die folgenden Inhaltstypen für Anforderungen:
application/x-www-form-urlencoded(Standardeinstellung),text/plain,application/json,application/octet-stream,image/*,audio/* - Unterstützt den Anforderungsheader
multipart/form-datanicht.
Optionen für die Sichtbarkeit einer Funktion Code Engine
Mit Code Engine können Sie den richtigen Grad an Sichtbarkeit für Ihre Funktion bestimmen, indem Sie die Endpunkte oder Systemdomänenzuordnungen definieren, die für den Empfang von Anfragen verfügbar sind.
Jede Funktion hat eine interne Systemdomänenzuordnung, die für alle Komponenten innerhalb desselben Code Engine Projekts, aber nicht außerhalb des Projekts sichtbar ist. Zusätzlich zur Zuordnung der internen Systemdomäne wählen Sie aus, dass die Funktion im öffentlichen Internet oder im privaten Netz von IBM Cloud sichtbar gemacht werden soll.
Bei öffentlicher oder privater Sichtbarkeit wird die Funktion auf einem HTTPS Endpunkt ausgesetzt. Einzelheiten über das verwendete TLS-Zertifikat finden Sie unter TLS-Zertifikate für Code Engine Projekte.
Sie können Ihre Funktion mit den folgenden Sichtbarkeitsebenen bereitstellen:
| Einstellung | Beschreibung |
|---|---|
| intern(Projekt) | Eine Funktion mit dieser Einstellung kann Anforderungen von Komponenten im selben Code Engine-Projekt empfangen. Die Einstellung eines internen (Projekt-)Endpunkts bedeutet, dass Ihre Funktion nicht vom öffentlichen Internet aus zugänglich ist und der Netzwerkzugriff nur von anderen Code Engine Komponenten möglich ist, die innerhalb desselben Code Engine Projekts ausgeführt werden. Dieser Endpunkt ist immer aktiviert. Wichtig: Eine Funktion kann über die internen Routen keinen anderen Job oder keine andere Anwendung aufrufen. |
| public | Eine Funktion mit dieser Einstellung ist für das Internet und Ihr Code Engine Projekt sichtbar. Das Setzen eines öffentlichen Endpunkts bedeutet, dass Ihre Funktion Anfragen aus dem öffentlichen Internet oder von Komponenten innerhalb Ihres Code Engine Projekts empfangen kann. Diese Einstellung ist die Standardeinstellung. |
| Privater | Eine Funktion mit dieser Einstellung ist für das private Netzwerk IBM Cloud und Ihr Code Engine Projekt zugänglich. Das Einrichten eines privaten Endpunkts bedeutet, dass Ihre Funktion nicht vom öffentlichen Internet aus zugänglich ist und der Netzwerkzugriff nur von anderen IBM Cloud Diensten aus möglich ist, indem virtuelle private Endpunkte (VPE) oder Code Engine Komponenten verwendet werden, die im selben Projekt ausgeführt werden. |
Sie können die Endpunkteinstellungen für die Sichtbarkeit einer Funktion über die Konsole oder die Befehlszeilenschnittstelle festlegen, wenn Sie Ihre Funktion erstellen und bereitstellen oder aktualisieren.
Funktion mit einem internen Endpunkt bereitstellen
Sie können die Endpunktsichtbarkeit für Ihre Funktion für die Implementierung mit einem internen (Projekt-) Endpunkt festlegen. Wenn Sie einen internen (Projekt-) Endpunkt festlegen, ist Ihre Funktion nicht über das öffentliche Internet zugänglich und der Netzzugriff ist nur über andere Code Engine-Komponenten möglich, die in demselben Code Engine-Projekt ausgeführt werden. Dieser Endpunkt ist immer aktiviert. Die Funktionen sind weiterhin über gemeinsam genutzte Komponenten zugänglich und müssen daher gesichert werden.
Wenn Ihre Lösung beispielsweise aus mehreren Funktionen innerhalb eines Projekts besteht, könnten Sie Ihre Lösung so einrichten, dass nur eine dieser Funktionen vom Internet aus sichtbar ist, damit sie den eingehenden Datenverkehr verarbeiten kann. Diese öffentlich zugängliche Funktion kann die Arbeit an andere Funktionen in Ihrer Lösung delegieren, so dass diese nicht über das Internet sichtbar sein müssen.
Legen Sie über die Befehlszeilenschnittstelle die Endpunktsichtbarkeit für Ihre Funktion fest, sodass sie mit einem Projektendpunkt implementiert wird, indem Sie die Option --visibility=project im Befehl function create oder function update verwenden. Sie können die verfügbaren URLs für Ihre Funktion, die Ihre Endpunktdefinition widerspiegeln, mit dem Befehl
function get abrufen.
Legen Sie in der Konsole die Sichtbarkeit von Endpunkten für Ihre Funktion mithilfe der Einstellung Endpunkte fest, wenn Sie Ihre Funktion erstellen. Nach der Implementierung Ihrer Funktion können Sie diese Einstellungen für die Systemdomänenzuordnung auf der Registerkarte Domänenzuordnungen auf der Seite "Funktionen" anzeigen und ändern.
Eine Funktion mit dieser Einstellung kann Anforderungen von Komponenten im selben Code Engine-Projekt empfangen. Eine Funktion kann jedoch über die internen Routen keinen anderen Job oder keine andere Anwendung aufrufen.
Bereitstellen Ihrer Funktion mit einem öffentlichen Endpunkt
Wenn Sie eine Funktion bereitstellen, kann sie standardmäßig Anforderungen vom öffentlichen Internet oder von Komponenten innerhalb desselben Code Engine-Projekts empfangen. In diesem Fall wird die Funktion mit einem öffentlichen Endpunkt implementiert.
Bereitstellen Ihrer Funktion mit einem privaten Endpunkt
Sie können die Endpunktsichtbarkeit für Ihre Funktion für die Bereitstellung mit einem privaten Endpunkt festlegen. Wenn Sie einen privaten Endpunkt für Ihre Funktion festlegen, ist dieser nicht vom öffentlichen Internet aus zugänglich und der Netzwerkzugriff ist nur von anderen IBM Cloud Diensten aus virtuellen privaten Endpunkten (VPE) oder Code Engine Komponenten möglich, die im selben Projekt (cluster-local) laufen.
Wenn Ihre Lösung beispielsweise aus einer Komponente besteht, die auf einem IBM Cloud Kubernetes Service Kubernetes Cluster innerhalb Ihres eigenen virtuellen privaten Endpunkts ausgeführt wird, und Sie über das private Netzwerk IBM Cloud auf die Funktion Code Engine zugreifen möchten, können Sie die Sichtbarkeit der Funktion auf privat setzen. Wenn die Sichtbarkeit der Funktion auf privat eingestellt ist, ist die Funktion nicht über das öffentliche Internet zugänglich. Die Funktion ist weiterhin von anderen Funktionen innerhalb des Projekts aus zugänglich.
Sie können Ihre Funktion mit einem privaten Endpunkt erstellen, damit die Funktion nur über das private Netz von IBM Cloud und nicht über das externe Internet zugänglich gemacht wird. Die Funktion ist nach wie vor über gemeinsam genutzte Komponenten aus dem internen Netz erreichbar, und der Endpunkt der Funktion muss gesichert werden.
Legen Sie über die CLI die Endpunktsichtbarkeit für Ihre Funktion fest, sodass sie mit einem privaten Endpunkt bereitgestellt wird. Verwenden Sie dazu die Option --visibility=private im Befehl function create oder function update. Sie können die verfügbaren URLs für Ihre Funktion, die Ihre Endpunktdefinition widerspiegeln, mit dem Befehl function get abrufen.
Legen Sie in der Konsole die Sichtbarkeit von Endpunkten für Ihre Funktion mithilfe der Einstellung Endpunkte fest, wenn Sie Ihre Funktion erstellen. Nach der Implementierung Ihrer Funktion können Sie diese Einstellungen für die Systemdomänenzuordnung auf der Registerkarte Domänenzuordnungen auf der Seite "Funktionen" anzeigen und ändern.
Weitere Informationen zum Herstellen einer Verbindung über private Netze finden Sie unter Virtuelle private Endpunkte mit Code Engine verwenden.
Optionen zum Erstellen von Funktionen
Informieren Sie sich über die Optionen, die Sie beim Erstellen Ihrer Funktion angeben können. Je nachdem, ob Sie die Konsole oder die Befehlszeilenschnittstelle verwenden, sind möglicherweise andere Optionen verfügbar.
Speicher und CPU
Wenn Sie Ihre Funktion bereitstellen, können Sie die Menge an Speicher und CPU angeben, die Ihre Funktion verbrauchen kann. Diese Beträge können variieren, je nachdem, ob Ihre Funktion rechenintensiv, speicherintensiv oder ausgeglichen ist.
Standardmäßig sind Ihrer Funktion 4 G Speicherplatz und 1.0 vCPU zugewiesen. Weitere Informationen zu anderen unterstützten Speicher-und CPU-Kombinationen finden Sie unter Unterstützte Speicher-und CPU-Kombinationen für Funktionen.
Erstellen und Ausführen Ihrer Funktion mit Umgebungsvariablen
Sie können Umgebungsvariablen als Schlüssel-Wert-Paare definieren und festlegen, die von Ihrer Funktion zur Laufzeit verwendet werden können.
Sie können Umgebungsvariablen definieren, wenn Sie Ihre Funktion erstellen oder wenn Sie eine bestehende Funktion mit der CLI aktualisieren.
Weitere Informationen zum Definieren von Umgebungsvariablen finden Sie unter Mit Umgebungsvariablen arbeiten.
Code Engine fügt automatisch bestimmte Umgebungsvariablen in die Funktion ein. Weitere Informationen zu automatisch injizierten Umgebungsvariablen finden Sie unter Automatisch injizierte Umgebungsvariablen.
Erstellen und Ausführen Ihrer Funktion bei Verwendung von Secrets und Configmaps
In Code Engine können Secrets und Configmaps mit Hilfe von Umgebungsvariablen von Ihrer Funktion verwendet werden.
Sowohl bei geheimen Schlüsseln als auch bei Konfigurationszuordnungen handelt es sich um Schlüssel/Wert-Paare. Wenn sie Umgebungsvariablen zugeordnet sind, werden die NAME=VALUE-Beziehungen so konfiguriert, dass der Name der Umgebungsvariablen
dem 'Schlüssel' der einzelnen Einträge in diesen Zuordnungen entspricht und der Wert der Umgebungsvariablen dem 'Wert' des jeweiligen Schlüssels.
Ihre Funktion kann Umgebungsvariablen verwenden, um eine configmap (oder secret) vollständig zu referenzieren oder einzelne Schlüssel in einer configmap (oder secret) zu referenzieren.
Weitere Informationen finden Sie unter Geheime Schlüssel mithilfe von Umgebungsvariablen referenzieren und Konfigurationszuordnungen mithilfe von Umgebungsvariablen referenzieren.
Hinweise zu Funktionskontingenten
Wenn Sie mit Anwendungen, Funktionen und Stapeljobs arbeiten, werden diese Ressourcen im Kontext eines Code Engine-Projekts ausgeführt. Ressourcenkontingente werden pro Projekt definiert und Grenzwerte gelten für Anwendungen, Funktionen und Stapeljobs.
Weitere Informationen zu Code Engine-Grenzwerte finden Sie unter Grenzwerte und Kontingente für Code Engine.
Nächste Schritte
Da Sie nun mit den Schlüsselkonzepten der Arbeit mit Code Engine-Funktionen vertraut sind, können Sie Funktionen erstellen und mit ihnen arbeiten? Weitere Informationen finden Sie in den folgenden Abschnitten.
- Funktionsworkloads mit Inline-Code erstellen.
- Funktionsworkloads mit Repository-Quellcode erstellen.
- Funktionsworkloads aus lokalem Quellcode erstellen
Weitere Informationen zur Arbeit mit Funktionen finden Sie in den folgenden Themen.