Backend-Module bieten eine Infrastruktur zum Verarbeiten großer Mengen von Nachrichten zu Funktionen und zum Interagieren mit der Agent-Desktop-UI. In dieser Anleitung wird beschrieben, wie Sie Backend-Module in Ihr Agentensystem einbinden.
Weitere Informationen zu den Konzepten und zur Struktur von Backend-Modulen finden Sie in der Dokumentation Grundlagen zu Backend-Modulen.
Vorbereitung
- Installieren Sie die Google Cloud CLI, falls noch nicht geschehen.
- Erstellen Sie ein Cloud Pub/Sub-Thema für jede Art von Ereignisbenachrichtigung, die Sie von Dialogflow benötigen. Notieren Sie sich die Themen-ID und den Themennamen für die spätere Backend-Bereitstellung.
- Konfigurieren Sie Ihr Unterhaltungsprofil mit der Agent Assist Console und Pub/Sub-Themen.
Automatisierte Bereitstellung
Die Bereitstellung kann mit einem Google Cloud Automatisierungsskript oder Terraform automatisiert werden.
Automatisierungsskript
Weitere Informationen finden Sie unter ./deploy.sh.
Terraform-Änderungen anwenden
Sie können die Bereitstellung mit einem Automatisierungsskript der gcloud CLI oder Terraform automatisieren. Führen Sie vor dem Anwenden von Terraform-Änderungen die folgenden Schritte aus.
- Weisen Sie Ihrem Konto die folgenden IAM-Rollen zu:
Project IAM Admin(roles/resourcemanager.projectIamAdmin)Service Usage Admin(roles/serviceusage.serviceUsageAdmin)Service Account Admin(roles/iam.serviceAccountAdmin)Service Account User(roles/iam.serviceAccountUser)Pub/Sub Admin(roles/pubsub.admin)Secret Manager Admin(roles/secretmanager.admin)Cloud Build Editor(roles/cloudbuild.builds.editor)Artifact Registry Administrator(roles/artifactregistry.admin)Storage Admin(roles/storage.admin)Cloud Run Admin(roles/run.admin)Cloud Memorystore Redis Admin(roles/redis.admin)Serverless VPC Access Admin(roles/vpcaccess.admin)
- Erstellen Sie Images für den UI-Connector und den Cloud Pub/Sub-Interceptor und notieren Sie sich den Imagenamen.
- Führen Sie für den UI-Connector den folgenden Befehl im Ordner
./ui-connectoraus.$ gcloud builds submit --tag gcr.io/$GCP_PROJECT_ID/aa-integration-backend/ui-connector
- Führen Sie für den Cloud Pub/Sub-Interceptor den folgenden Befehl im Ordner
./cloud-pubsub-interceptoraus.$ gcloud builds submit --tag gcr.io/$GCP_PROJECT_ID/aa-integration-backend/cloud-pubsub-interceptor
- Führen Sie für den UI-Connector den folgenden Befehl im Ordner
- Erstellen Sie einen Cloud Storage-Bucket zum Speichern des Terraform-Status und aktualisieren Sie den Wert für den Backend-Bucket unter
/terraform/backend.tfmit dem folgenden Befehl.GCP_PROJECT_ID=$(gcloud config get-value project) # Create the Cloud storage bucket gcloud storage buckets create gs://${GCP_PROJECT_ID}-tfstate # Enable Object Versioning to keep the history of your deployments gcloud storage buckets update gs://${GCP_PROJECT_ID}-tfstate --versioning
- Exportieren Sie die Werte der erforderlichen Terraform-Variablen
gcp_project_id,ui_connector_docker_imageundcloud_pubsub_interceptor_docker_image. Beispiel: export TF_VAR_gcp_project_id='you-gcp-project-id'. Alternativ können Sie die Werte direkt unter/terraform/variables.tfeingeben. - Passen Sie die Authentifizierungsmethode an, indem Sie die Methode
auth.check_auth()unter/ui-connector/auth.pyändern.
Wenn Sie diese Schritte mit Cloud Build automatisieren möchten, folgen Sie dieser Anleitung und verwenden Sie die Build-Konfigurationsdatei ./terraform_cloudbuild.yaml. Damit Cloud Build die Dienste bereitstellen kann, müssen Sie dem Cloud Build-Dienstkonto die in Schritt 1 aufgeführten IAM-Rollen zuweisen.
Manuelle Bereitstellung
In den folgenden Schritten wird beschrieben, wie Sie Backend-Module manuell bereitstellen.
Umgebungsvariablen einrichten
Um die Befehle für die Bereitstellung zu vereinfachen, empfehlen wir, die folgenden nützlichen Umgebungsvariablen in Ihrer Shell festzulegen. Sie können die Variablen mit dem folgenden Beispielbefehl festlegen:
$ export GCP_PROJECT_ID='aa-integration-service'
Legen Sie die folgenden Umgebungsvariablen fest:
GCP_PROJECT_ID: Die Projekt-ID Ihres Cloud Platform-Projekts, in dem sich die zugehörigen Ressourcen befinden. Beispiel:my-project.SERVICE_REGION: Der Standort oder die Region Ihrer Dienste und zugehörigen Google Cloud Ressourcen. Plattformressourcen. Beispiel:us-central1.
Administratorkonto einrichten
Wir empfehlen, separate Google Cloud Konten für die Dienst verwaltung und die Laufzeitidentität zu verwenden. Die Dienstverwaltung wird hauptsächlich durchgeführt von Personen mit Google-Konten, während die Laufzeitidentität Cloud Run-Diensten Berechtigungen über Dienstkonten gewährt, um den Zugriff auf erforderliche Ressourcen zu ermöglichen.
Administratorkonto für Personen vorbereiten
Wenn Sie ein Konto verwenden möchten, das bereits die Berechtigungen „Bearbeiter“ oder „Inhaber“ in Ihrem Projekt hat, können Sie mit dem nächsten Abschnittfortfahren.
Um die Backend-Infrastruktur zu verwalten, richten Sie ein Administratorkonto ein und weisen Sie ihm die folgenden IAM-Rollen (Identity and Access Management) zu. Die Berechtigungen sind alle in den grundlegenden Rollen „Bearbeiter“ und „Inhaber“ enthalten.
roles/secretmanager.admin(Secret Manager-Administrator): Verwalten Sie Secrets, die im Secret Manager für die JWT-Generierung und -Überprüfung gespeichert sind.roles/run.admin(Cloud Run-Administrator): Cloud Run-Dienste bereitstellen und verwalten.roles/iam.serviceAccountUser(Dienstkontonutzer): Gewähren Sie Cloud Run-Laufzeitdienstkonten die Berechtigungiam.serviceAccounts.actAs.roles/cloudbuild.builds.editor(Cloud Build-Bearbeiter): Erstellen Sie mit Cloud Build Docker-Images für die Integrationsdienste.- Artifact Registry-Administrator: Erstellen Sie Docker-Images für die Integrationsdienste und verwalten Sie sie.
roles/pubsub.editor(Cloud Pub/Sub-Bearbeiter): Erstellen und verwalten Sie Cloud Pub/Sub-Themen und -Abos.roles/redis.admin(Redis-Administrator): Erstellen und verwalten Sie Memorystore for Redis-Ressourcen.
Verwenden Sie den
add-iam-policy-binding
Google Cloud CLI-Befehl, um einem Konto IAM-Rollen zuzuweisen. Hier ist ein Beispielbefehl:
$ gcloud projects add-iam-policy-binding $GCP_PROJECT_ID \ --member='user:test-user@gmail.com' \ --role='roles/pubsub.editor'
Administratorkonto für Personen in gcloud festlegen
Ersetzen Sie im folgenden Beispiel $ADMIN_ACCOUNT durch das Administratorkonto, das Sie verwenden möchten (z. B. myaccount@gmail.com):
$ gcloud config set account $ADMIN_ACCOUNT
Dienstkonten einrichten
Cloud Run-Dienste oder -Jobs werden standardmäßig als das Standard-Compute Engine-Dienstkonto ausgeführt. Wir empfehlen, jedem Cloud Run-Dienst eine dedizierte Identität zuzuweisen. Dazu weisen Sie ihm ein nutzerverwaltetes Dienstkonto mit den mindestens erforderlichen Berechtigungen zu. Wenn Sie das Standarddienst konto beibehalten möchten, können Sie mit dem Festlegen von Umgebungsvariablen fortfahren.
Zwei Dienstkonten für jede Cloud Run-Laufzeit erstellen
Um die Dienstkonten zu erstellen, ersetzen Sie den Wert von
$CONNECTOR_SERVICE_ACCOUNT_IDund$INTERCEPTOR_SERVICE_ACCOUNT_IDund führen Sie die folgenden Befehle aus:$ export CONNECTOR_SERVICE_ACCOUNT_ID='aa-ui-connector' && gcloud iam service-accounts create $CONNECTOR_SERVICE_ACCOUNT_ID \ --description='Agent Assist integration - UI connector service account' \ --display-name='Agent Assist integration - UI connector' $ export INTERCEPTOR_SERVICE_ACCOUNT_ID='aa-pubsub-interceptor' && gcloud iam service-accounts create $INTERCEPTOR_SERVICE_ACCOUNT_ID \ --description='Agent Assist integration - Pubsub interceptor service account' \ --display-name='Agent Assist integration - Pubsub interceptor'
Weisen Sie mit dem folgenden Beispielbefehl den Dienstkonten für den UI-Connector und den Cloud Pub/Sub-Connector die folgenden Rollen zu:
$ gcloud projects add-iam-policy-binding $GCP_PROJECT_ID \ --member='serviceAccount:$CONNECTOR_SERVICE_ACCOUNT_ID@$GCP_PROJECT_ID.iam.gserviceaccount.com' \ --role='roles/pubsub.editor'
Weisen Sie dem Dienstkonto für den UI-Connector die folgenden IAM-Rollen zu:
roles/redis.editorroles/vpcaccess.userroles/compute.viewerroles/secretmanager.secretAccessorroles/dialogflow.agentAssistClient
Weisen Sie dem Dienstkonto für den Cloud Pub/Sub-Connector die folgenden Rollen zu:
roles/redis.editorroles/vpcaccess.userroles/compute.viewer
Umgebungsvariablen festlegen
Legen Sie für die folgenden Umgebungsvariablen die Werte der Dienstkonten fest, die Sie gerade erstellt haben, oder das Standarddienstkonto von Compute Engine in Ihrem Projekt.
CONNECTOR_SERVICE_ACCOUNT: Das Dienstkonto für die UI-Connector-Laufzeit. Beispiel:aa-ui-connector@my-project-id.iam.gserviceaccount.com.INTERCEPTOR_SERVICE_ACCOUNT: Das Dienstkonto für die Cloud Pub/Sub-Interceptor-Laufzeit. Beispiel:aa-pubsub-interceptor@my-project-id.iam.gserviceaccount.com.
Methode zur Nutzerauthentifizierung anpassen
Das Code-Repository unterstützt sowohl Backend-Nutzer als auch Nutzer des Frontend-Moduls für Genesys Cloud und Twilio.
- Öffnen Sie im Code-Repository die Datei
ui_connector/auth.py. Geben Sie den unterstützten Identitätsanbieter an, indem Sie die Umgebungsvariable
AUTH_OPTIONfestlegen, oder implementieren Sie Ihre Authentifizierungsmethode mitauth.check_auth.Standardmäßig ist
AUTH_OPTIONleer und keine Nutzer dürfen JWT beim UI-Connector-Dienst registrieren. Unterstützte Werte:Salesforce: Überprüfen Sie das Authentifizierungstoken mit Salesforce OpenID Connect. Erforderliche Umgebungsvariable: SALESFORCE_ORGANIZATION_ID.SalesforceLWC: Überprüfen Sie ein Salesforce-Authentifizierungstoken für OAuth-Clientanmeldedaten mit dem REST-Endpunktoauth2/userinfo. Erforderliche Umgebungsvariablen: SALESFORCE_ORGANIZATION_ID, SALESFORCE_DOMAIN.GenesysCloud: Überprüfen Sie das Authentifizierungstoken mit der Genesys SDK UsersAPI.Twilio: Überprüfen Sie das Authentifizierungstoken für Twilio. Erforderliche Umgebungsvariable: TWILIO_FLEX_ENVIRONMENT.Skip: Überprüfen Sie das Authentifizierungstoken nicht. Sollte nicht in der Produktionsumgebung verwendet werden.
Beispiel:
$ export AUTH_OPTION='Salesforce'
Für jeden Tokentyp kann eine andere Validierungsmethode verwendet werden. Sie entscheiden, wie das Token validiert wird. Ohne Änderungen gibt
auth.check_authfür jede Anfragefalsezurück.
Zulässige Ursprünge anpassen (empfohlen)
Wenn Sie die Ursprünge einschränken möchten, die auf Ihren Dienst zugreifen können, ändern Sie den Wert der Variablen config.CORS_ALLOWED_ORIGINS. Mit dem Standardwert * kann jeder Ursprung Ihren Dienst aufrufen.
JWT-Secret-Schlüssel generieren und speichern
Damit der UI-Connector-Dienst sichere Authentifizierungstokens an den Client zurücksenden kann, muss er sie mit einem JWT-Secret-Schlüssel verschlüsseln. Der Wert des Schlüssels kann eine beliebige String sein, sollte aber eindeutig und schwer zu erraten sein.
Dieser Secret-Schlüssel wird in Secret Manager gespeichert.
Umgebungsvariable festlegen
JWT_SECRET_NAME: Der Name für den Secret-Schlüssel im Secret Manager. Dies kann ein beliebiger Name sein. Empfohlener Wert:aa-integration-jwt-secret.
Schlüssel generieren
Wir empfehlen, einen zufälligen Hash als JWT-Secret-Schlüssel zu generieren, damit er nicht von Angreifern erraten werden kann. Dazu können Sie mit Python-Secrets sichere Zufallszahlen generieren.
# generate_secret_key.py import secrets jwt_secret_key = secrets.token_bytes(16) print(jwt_secret_key) # Output example: b'L\x9b\xd6i4\xc3\x1d\x95\xe3\xf78z\xdda\x97\xec'
Schlüssel im Secret Manager speichern
Ersetzen Sie im folgenden Beispielbefehl my_key durch den Secret-Schlüssel, den Sie verwenden möchten.
$ python generate_secret_key.py | gcloud secrets create $JWT_SECRET_NAME --data-file=- \ --replication-policy=user-managed --locations=$SERVICE_REGION
Memorystore for Redis einrichten
Zum Einrichten von Redis benötigen Sie die folgenden Umgebungsvariablen:
VPC_CONNECTOR_NAME: Der Name Ihres Connectors für serverlosen VPC-Zugriff zum Verbinden von Cloud Run-Diensten mit Memorystore for Redis. Empfohlener Wert:aa-integration-vpc.VPC_NETWORK: Das VPC-Netzwerk, an das der Connector für Serverloser VPC-Zugriff angehängt wird. Der Wert solltedefaultsein, wenn Sie keine VPC für Ihr Google Cloud Projekt einrichten.VPC_SUBNET: Der Name des autorisierten VPC-Netzwerk, an das Ihre Redis-Instanz angehängt ist. Der Wert solltedefaultsein, wenn Sie die VPC-Netzwerkeinstellungen nicht angepasst haben.REDIS_IP_RANGE: Ein nicht reserviertes internes IP-Netzwerk für Ihren Connector für Serverloser VPC-Zugriff. Ein/28nicht zugewiesener Speicherplatz ist erforderlich. Empfohlener Wert:10.8.0.0/28(dieser Wert sollte für die meisten neuen Projekte funktionieren).REDIS_INSTANCE_ID: Ein Name für Ihre Redis-Instanz. Empfohlener Wert:aa-integration-redis.
Redis-Instanz in der Region Ihrer Cloud Run-Dienste erstellen
Führen Sie dazu diesen Befehl aus:
$ gcloud redis instances create $REDIS_INSTANCE_ID --size=5 --region=$SERVICE_REGION
Sie können über Cloud Run mithilfe von Direct Egress oder serverlosem VPC-Zugriff eine Verbindung zu einer Redis-Instanz herstellen.
Connector für Serverloser VPC-Zugriff erstellen {:#create-svpca-connector} (optional)
Dieser Schritt ist jetzt optional, wenn Kunden Direct Egress auswählen. Wenn Sie Serverloser VPC-Zugriff auswählen, müssen Sie einen Connector für Serverloser VPC-Zugriff erstellen. Weitere Informationen zu diesem Schritt finden Sie in der Cloud Run-Anleitung.
Prüfen Sie, ob die Serverless VPC Access API für Ihr Projekt aktiviert ist:
$ gcloud services enable vpcaccess.googleapis.com
Erstellen Sie einen Connector für Serverloser VPC-Zugriff mit einem benutzerdefinierten IP-Bereich:
$ gcloud compute networks vpc-access connectors create $VPC_CONNECTOR_NAME \ --network $VPC_NETWORK \ --region $SERVICE_REGION \ --range $REDIS_IP_RANGE
Redis-Host und -Port als Umgebungsvariablen speichern
- Legen Sie die IP-Adresse Ihrer Redis-Instanz auf die Umgebungsvariable
REDIS_HOSTfest. - Legen Sie die Portnummer Ihrer Redis-Instanz auf die Umgebungsvariable
REDIS_PORTfest.
UI-Connector-Dienst bereitstellen
Für den UI-Connector-Dienst benötigen Sie die folgenden Umgebungsvariablen:
CONNECTOR_SERVICE_NAME: Der Cloud Run-Dienstname Ihres UI-Connectors. Empfohlener Wert:ui-connector.CONNECTOR_IMAGE_NAME: Der Imagename Ihres UI-Connector-Dienstes. Er kann mitCONNECTOR_SERVICE_NAMEidentisch sein. Empfohlener Wert:ui-connector.
Docker-Image erstellen
Führen Sie im Ordner /ui-connector den folgenden Befehl aus:
$ gcloud builds submit --tag gcr.io/$GCP_PROJECT_ID/$CONNECTOR_IMAGE_NAME
UI-Connector in Cloud Run bereitstellen
Führen Sie im Ordner /ui-connector den folgenden Befehl aus:
- Wenn Sie Direct Egress verwenden, um eine Verbindung zu Redis herzustellen.
$ gcloud run deploy $CONNECTOR_IMAGE_NAME \ --image gcr.io/$GCP_PROJECT_ID/$CONNECTOR_IMAGE_NAME \ --platform managed \ --service-account=$CONNECTOR_SERVICE_ACCOUNT_NAME \ --allow-unauthenticated \ --timeout 3600 \ --region $SERVICE_REGION \ --network $VPC_NETWORK \ --subnet $VPC_SUBNET \ --clear-vpc-connector \ --min-instances=1 \ --set-env-vars REDISHOST=$REDIS_HOST,REDISPORT=$REDIS_PORT,GCP_PROJECT_ID=$GCP_PROJECT_ID,AUTH_OPTION=$AUTH_OPTION \ --update-secrets=/secret/jwt_secret_key=${JWT_SECRET_NAME}:latest
- Wenn Sie einen erstellten Connector für Serverloser VPC-Zugriff für die Redis-Verbindung verwenden.
$ gcloud run deploy $CONNECTOR_IMAGE_NAME \ --image gcr.io/$GCP_PROJECT_ID/$CONNECTOR_IMAGE_NAME \ --platform managed \ --service-account=$CONNECTOR_SERVICE_ACCOUNT_NAME \ --allow-unauthenticated \ --timeout 3600 \ --region $SERVICE_REGION \ --vpc-connector $VPC_CONNECTOR_NAME \ --clear-network \ --min-instances=1 \ --no-cpu-throttling \ --set-env-vars REDISHOST=$REDIS_HOST,REDISPORT=$REDIS_PORT,GCP_PROJECT_ID=$GCP_PROJECT_ID,AUTH_OPTION=$AUTH_OPTION \ --update-secrets=/secret/jwt_secret_key=${JWT_SECRET_NAME}:latest
Notieren Sie sich die Dienst-URL für den bereitgestellten UI-Connector, die von Clients (Agent-Desktops) verwendet wird.
Cloud Pub/Sub-Interceptor-Dienst bereitstellen
Für den Pub/Sub-Interceptor-Dienst benötigen Sie die folgenden Umgebungsvariablen:
INTERCEPTOR_SERVICE_NAME: Der Cloud Run-Dienstname Ihres Cloud Pub/Sub-Interceptors. Empfohlener Wert:cloud-pubsub-interceptor.INTERCEPTOR_IMAGE_NAME: Der Imagename Ihres Cloud Pub/Sub-Interceptor-Dienstes. Er kann mitINTERCEPTOR_SERVICE_NAMEidentisch sein. Empfohlener Wert:cloud-pubsub-interceptor.INTERCEPTOR_SERVICE_ACCOUNT_NAME: Das Dienstkonto für die Cloud Pub/Sub-Interceptor-Laufzeit.
Docker-Image erstellen
Führen Sie im Ordner /cloud-pubsub-interceptor den folgenden Befehl aus:
$ gcloud builds submit --tag gcr.io/$GCP_PROJECT_ID/$INTERCEPTOR_IMAGE_NAME
Pub/Sub-Interceptor in Cloud Run bereitstellen
Führen Sie im Ordner /cloud-pubsub-interceptor den folgenden Befehl aus:
- Wenn Sie Direct Egress verwenden, um eine Verbindung zu Redis herzustellen.
$ gcloud run deploy $INTERCEPTOR_SERVICE_NAME \ --image gcr.io/$GCP_PROJECT_ID/$INTERCEPTOR_IMAGE_NAME \ --platform managed \ --service-account=$INTERCEPTOR_SERVICE_ACCOUNT_NAME \ --region $SERVICE_REGION \ --network $VPC_NETWORK \ --subnet $VPC_SUBNET \ --clear-vpc-connector \ --ingress=internal \ --min-instances=1 \ --no-cpu-throttling \ # You can also add LOGGING_FILE here to specify the logging file path on Cloud Run. --set-env-vars REDISHOST=$REDIS_HOST,REDISPORT=$REDIS_PORT
- Wenn Sie einen erstellten Connector für Serverloser VPC-Zugriff für die Redis-Verbindung verwenden.
$ gcloud run deploy $INTERCEPTOR_SERVICE_NAME \ --image gcr.io/$GCP_PROJECT_ID/$INTERCEPTOR_IMAGE_NAME \ --platform managed \ --service-account=$INTERCEPTOR_SERVICE_ACCOUNT_NAME \ --region $SERVICE_REGION \ --vpc-connector $VPC_CONNECTOR_NAME \ --clear-network \ --ingress=internal \ --min-instances=1 \ # You can also add LOGGING_FILE here to specify the logging file path on Cloud Run. --set-env-vars REDISHOST=$REDIS_HOST,REDISPORT=$REDIS_PORT
Bereitgestellte URL speichern
Legen Sie die bereitgestellte URL als Umgebungsvariable INTERCEPTOR_SERVICE_URL fest.
Cloud Pub/Sub-Abos konfigurieren
Für Cloud Pub/Sub-Abos wird Folgendes verwendet:
- Themen
- Unterhaltungsprofil
- Dienstkonto
- Dienstkontoberechtigung für den Interceptor-Dienst
Cloud Pub/Sub-Themen erstellen
Erstellen Sie ein Cloud Pub/Sub-Thema für jede Art von Ereignisbenachrichtigung, die Sie von Dialogflow benötigen. Die verfügbaren Ereignisbenachrichtigungstypen sind:
- Ereignisse für neue Vorschläge: Ereignisse, die gesendet werden, wenn neue Agent Assist Vorschläge verfügbar sind (z. B. neue Smart Reply-Vorschläge als Reaktion auf eine Äußerung des Kunden).
- Ereignisse für neue Nachrichten: Ereignisse, die gesendet werden, wenn eine neue Äußerung erkannt wird
von einem Agenten oder Kunden (z. B. wenn der Kunde
Hisagt). - Ereignisse für neue Lebenszyklusänderungen von Unterhaltungen: Ereignisse, die für bestimmte Änderungen im Lebenszyklus von Unterhaltungen gesendet werden (z. B. wenn eine Unterhaltung gestartet oder beendet wird).
- Ereignisse für neue Benachrichtigungen zu Erkennungsergebnissen: Ereignisse, die gesendet werden, wenn ein vorläufiges Transkript
von einem Agenten oder Kunden erkannt wird (z. B. wenn der Kunde
Hi, how can I help you?sagt, ist ein vorläufiges TranskriptHi how canwährend der Kunde spricht).
Notieren Sie sich die Themen-ID und den Themennamen für die spätere Backend-Bereitstellung.
Unterhaltungsprofil konfigurieren
Konfigurieren Sie ein Unterhaltungsprofil mit den Cloud Pub/Sub-Themen, die Sie im vorherigen Schritt erstellt haben.
- Wenn Sie ein neues Unterhaltungsprofil erstellen, wählen Sie Pub/Sub-Benachrichtigungen und dann Pub/Sub-Benachrichtigungen aktivieren aus. Nach der Aktivierung können Sie die Kästchen neben den Benachrichtigungstypen aktivieren, die Sie aktivieren möchten, und die Themen-ID für das zugehörige Cloud Pub/Sub-Thema der Benachrichtigung eingeben.
- Wählen Sie für jedes Thema
JSONals Nachrichtenformat aus.
Dienstkonto für die Pub/Sub-Aboidentität erstellen
Erstellen Sie mit dem folgenden Befehl ein Dienstkonto, das die Pub/Sub-Aboidentität darstellt:
$ gcloud iam service-accounts create cloud-run-pubsub-invoker \ --display-name "Cloud Run Pub/Sub Invoker"
Dienstkonto die Berechtigung zum Aufrufen Ihres Interceptor-Dienstes erteilen
Führen Sie dazu diesen Befehl aus:
$ gcloud run services add-iam-policy-binding $INTERCEPTOR_SERVICE_NAME \ --member=serviceAccount:cloud-run-pubsub-invoker@$GCP_PROJECT_ID.iam.gserviceaccount.com \ --role=roles/run.invoker
Cloud Pub/Sub-Abos für Themen erstellen
Für jedes Thema, das Sie erstellt haben, müssen Sie ein entsprechendes Cloud Pub/Sub-Abo erstellen.
Ereignisse für neue Vorschläge
Ersetzen Sie your-new-suggestion-topic-id durch das Cloud Pub/Sub-Thema, das Sie für neue Vorschläge konfiguriert haben:
$ export TOPIC_ID='your-new-suggestion-topic-id' && gcloud pubsub subscriptions create $SUBSCRIPTION_NAME --topic $TOPIC_ID \ --push-endpoint=$INTERCEPTOR_SERVICE_URL/human-agent-assistant-event \ --push-auth-service-account=cloud-run-pubsub-invoker@$GCP_PROJECT_ID.iam.gserviceaccount.com
Ereignisse für neue Nachrichten
Ersetzen Sie your-new-message-event-topic-id durch das Cloud Pub/Sub-Thema, das Sie für Ereignisse für neue Nachrichten konfiguriert haben:
$ export TOPIC_ID='your-new-message-event-topic-id' && gcloud pubsub subscriptions create $SUBSCRIPTION_NAME --topic $TOPIC_ID \ --push-endpoint=$INTERCEPTOR_SERVICE_URL/new-message-event \ --push-auth-service-account=cloud-run-pubsub-invoker@$GCP_PROJECT_ID.iam.gserviceaccount.com
Lebenszyklusereignisse für Unterhaltungen
Ersetzen Sie your-conversation-lifecycle-event-topic durch das Cloud Pub/Sub-Thema, das Sie für Ereignisse für neue Lebenszyklusänderungen von Unterhaltungen konfiguriert haben:
$ export TOPIC_ID='your-conversation-lifecycle-event-topic' && gcloud pubsub subscriptions create $SUBSCRIPTION_NAME --topic $TOPIC_ID \ --push-endpoint=$INTERCEPTOR_SERVICE_URL/conversation-lifecycle-event \ --push-auth-service-account=cloud-run-pubsub-invoker@$GCP_PROJECT_ID.iam.gserviceaccount.com
Ereignisse für neue Benachrichtigungen zu Erkennungsergebnissen
$ export TOPIC_ID='your-new-recognition-result-notification-event-topic' && gcloud pubsub subscriptions create $SUBSCRIPTION_NAME --topic $TOPIC_ID \ --push-endpoint=$INTERCEPTOR_SERVICE_URL/new-recognition-result-notification-event \ --push-auth-service-account=cloud-run-pubsub-invoker@$GCP_PROJECT_ID.iam.gserviceaccount.com