Konfigurationsdatei

Die Konfigurationsdatei der Vonage Cloud Runtime (vcr.yml), gibt der Plattform Informationen darüber, wie Sie Ihre Anwendung debuggen und einsetzen können. Es handelt sich um eine YAML-Datei mit Objekten, mit denen Sie konfigurieren können, wo Ihre Instanzen bereitgestellt werden, mit welcher Vonage-Anwendung Sie verbunden sind usw. Hier ist ein Beispiel für eine Konfigurationsdatei:

project:
    name: app
instance:
    name: dev
    runtime: nodejs22
    region: aws.use1
    application-id: 773c2b45-c20a-4d6b-8afe-24ce29ba6f92
    entrypoint: [node, index.js]
    build-script: "./build.sh"
    capabilities:
        - voice
        - messages-v1
    environment:
        - name: VONAGE_NUMBER
          value: "44700000000"
        - name: INTEGRATION_API_KEY
          secret: MY_SECRET_API_KEY
    secrets:
        - MY_SECRET_API_KEY
debug:
    name: debug
    application-id: 884c2b45-c20a-4d6b-8afe-24ce29ba6f93
    environment:
        - name: DEBUG_VONAGE_NUMBER
          value: "4471111111"
    entrypoint: [nodemon, --inspect, index.js]
    preserve-data: false

Projekt

Ein Projekt ist ein Namespace zur Gruppierung von Instanzen.

Name

name ist ein eindeutiger String-Bezeichner für Ihr Projekt. Sie können mehrere Instanzen innerhalb eines Projekts haben, in einer Beziehung von einem Projekt zu vielen Instanzen. Zum Beispiel eine Instanz, auf der Ihr Produktionscode läuft, eine Instanz, auf der Ihr Entwicklungscode läuft, und eine Instanz für das Staging.

Um mehrere Instanzen zu haben, erstellen Sie eine neue Konfigurationsdatei, z. B. prod.ymlund stellen Sie sicher, dass der Projektname derselbe ist. Um verschiedene Konfigurationsdateien einzusetzen, können Sie deren Dateipfade an die Funktion CLI-Befehl deploy.

Instanz

Eine Instanz ist Ihr Code, der auf der Vonage Cloud Runtime-Plattform ausgeführt wird. Um Ihren Code auszuführen, benötigt die Plattform einige Informationen darüber, wo und wie er ausgeführt werden soll.

Name

name ist ein eindeutiger String-Bezeichner für Ihre Instanz. Dies ermöglicht Ihnen die Unterscheidung, wenn Sie mehrere Instanzen in Ihrem Projekt haben. Der Name der Instanz hat keinen Einfluss darauf, in welcher Umgebung Ihre Instanz ausgeführt wird, dies wird durch die region.

Laufzeit

runtime die Sprache ist, mit der Sie Ihren Quellcode erstellt haben, stehen folgende Optionen zur Verfügung:

  • nodejs18
  • nodejs22
  • nodejs24
  • python3
  • python3ai
  • python314
  • go119
  • go126
  • java21
  • ruby3.3
  • php8

Region

region ist der Ort, an dem die Instanz ausgeführt wird. Die derzeit verfügbaren Regionen sind:

  • EU - aws.euw1
  • US - aws.use1
  • APAC (Singapur) - aws.apse1
  • APAC (Sydney) - aws.apse2

Applikation ID

application-id ist die Vonage Application ID, mit der die Instanz verbunden wird. Dies ermöglicht Vonage Cloud Runtime, die Rückrufe der Anwendung für Sie einzustellen und auf verknüpfte Numbers zuzugreifen.

Einstiegspunkt

entrypoint wird verwendet, um Vonage Cloud Runtime Befehle für die Ausführung Ihrer Anwendung zu erteilen. entrypoint nimmt ein String-Array, das dann ausgeführt wird, um Ihre Anwendung zu starten. Um meine Anwendung zu starten, würde ich zum Beispiel verwenden:

node index.js

Dies wird sich ändern:

entrypoint: [node, index.js]

Das erste Element ist der auszuführende Befehl, gefolgt von eventuellen Flags oder Parametern.

Skript erstellen

build-script können Sie ein Skript angeben, das VCR bei der Erstellung Ihrer Anwendung ausführen soll. Das Build-Skript wird ausgeführt, bevor Ihr entrypoint Befehl aufgerufen wird. Hier ist ein Beispiel für ein Build-Skript für ein JavaScript- und NPM-Projekt:

#!/bin/bash npm ci

Fähigkeiten

capabilities auf die gleichnamigen Funktionen von Vonage Applications abbilden, sind folgende Optionen verfügbar:

  • voice
  • messages-v1
  • rtc

Dies ermöglicht Vonage Cloud Runtime die Verwaltung der Webhooks für diese Funktionen. Um die Webhooks zu empfangen, können Sie die entsprechende Funktion im Vonage Cloud Runtime SDK verwenden. Siehe die Dokumentation für die Stimme, Nachrichten und Konversation (RTC) Anbieter für weitere Informationen.

Umwelt

environment ermöglicht es Ihnen, optional Umgebungsvariablen an Ihre Anwendung zu übergeben. Vonage Cloud Runtime wird die Umgebungsvariablen für Sie injizieren, wenn Sie die Anwendung ausführen vcr debug oder wenn Ihre Anwendung in der Vonage Cloud Runtime bereitgestellt wird. Also zum Beispiel, VONAGE_NUMBER von oben wäre verfügbar als:

process.env.VONAGE_NUMBER;

Vonage Cloud Runtime fügt auch einige Umgebungsvariablen standardmäßig für Sie ein. Dazu gehören Dinge wie die Vonage Application ID und der private Schlüssel. Eine vollständige Liste finden Sie in der Verlegeanleitung.

Geheimnisse

Sie können Geheimnisse, die Sie bereits mit der CLI erstellt haben, der Instanz zugänglich machen, indem Sie sie dem Umgebungsobjekt wie oben gezeigt hinzufügen. API_KEY wäre als verfügbar:

process.env.API_KEY;

Weitere Informationen zum Erstellen und Verwalten von Geheimnissen finden Sie im Geheimnisse der Vonage Cloud Runtime Anleitung.

Debuggen

Das Debug-Objekt gibt der Vonage Cloud Runtime CLI Informationen darüber, wie Sie Ihre Anwendung im Debug-Modus ausführen können. Weitere Informationen zum Debugging finden Sie in der Vonage Cloud Runtime Anleitung zur Fehlersuche.

Name

name ermöglicht es Ihnen, Ihrem Debugger einen Namen zu geben, so dass die generierte Debug-URL statisch ist und nicht zufällig beim Start des Debuggers ermittelt wird.

Applikation ID

So können Sie eine eigene Vonage Application ID für Ihre Instanz angeben.

Umwelt

So können Sie separate Umgebungsvariablen von Ihrer Instanz angeben.

Einstiegspunkt

entrypoint für Debugging funktioniert genauso wie die Instanzeintrittspunkt. Dies gibt Ihnen die Flexibilität, einen separaten Debug-Workflow einzurichten, z. B. mit einem Datei-Überwacher, der die Anwendung neu startet, wenn Änderungen vorgenommen werden:

nodemon --inspect index.js

Wird:

entrypoint: [nodemon, --inspect, index.js]

Daten aufbewahren

preserve-data ermöglicht es Ihnen, die Daten, die mit Zustand der Instanz zwischen den Durchläufen des Debuggers. Sie ist standardmäßig falsch.