פריסת שרת ה-Proxy

במדריך הזה מפורטים השלבים הנדרשים להגדרת שרת proxy. תשתמשו בשרת ה-proxy בשילוב עם שרת אפליקציות כדי לפשט את האימות באמצעות Dialogflow API. הוראות לגבי עיבוד מודולי ממשק המשתמש בסביבת העבודה של הסוכן מופיעות בדף הראשי של המדריך של LivePerson. כדי להציג את המודולים ב-LivePerson, צריך שיהיו בספרייה גם שרת אפליקציות וגם שרת proxy.

אפשר להגדיר את הפריסה של השילוב הזה בכל פלטפורמת אירוח, אבל בהוראות האלה נשתמש ב-Cloud Run של Google.

לפני שמתחילים

לפני שמתחילים את המדריך הזה, צריך לוודא ששרת האפליקציות כבר הופעל.

הגדרות אישיות

כשפורסים את השירות, צריך להגדיר את משתני הסביבה הבאים. כשיוצרים את שרת האפליקציות בפעם הראשונה, חשוב להשאיר את המשתנים LP_CLIENT_ID ו-LP_CLIENT_SECRET ריקים. ‫LivePerson תספק את המשתנים האלה כשתיצרו אפליקציית Conversational Cloud, ותעדכנו אותם באותו זמן. בשלב הראשון תדלגו גם על APPLICATION_SERVER_URL ועל DF_PROXY_SERVER_URL, ותגדירו את שניהם אחרי ששרתי האפליקציות והפרוקסי ייפרסו ויחזירו את הערכים הנדרשים.

  • LP_ACCOUNT_ID: מזהה החשבון ב-LivePerson.
  • LP_CLIENT_ID: מזהה הלקוח שלכם ב-LivePerson. המידע הזה יסופק על ידי LivePerson אחרי התקנת אפליקציית Conversational Cloud. (אפשר לדלג על המשתנה הזה כרגע, תעדכנו אותו אחרי שתספקו את המידע).
  • LP_CLIENT_SECRET: סוד הלקוח שלכם ב-LivePerson. הפרטים האלה יסופקו על ידי LivePerson אחרי התקנת אפליקציית Conversational Cloud. (אפשר לדלג על המשתנה הזה כרגע, ותעדכנו אותו אחרי שתקבלו את המידע).
  • LP_SENTINEL_DOMAIN: עוברים אל https://developers.liveperson.com/domain-api.html. מזינים את מספר החשבון ומחפשים את הדומיין sentinel.
  • LP_ACCOUNT_CONFIG_READONLY_DOMAIN: עוברים אל https://developers.liveperson.com/domain-api.html. מזינים את מספר החשבון ומחפשים את הדומיין accountConfigReadOnly.
  • APPLICATION_SERVER_URL: כתובת ה-URL של שרת אפליקציית ממשק המשתמש.
  • JWT_SECRET: ביטוי 'סודי' שישמש לחתימה על אסימוני האימות. אפשר להשתמש בכל ביטוי, אבל סוד ארוך ואקראי הוא הכי בטוח. שיטות מומלצות זמינות בכתובת https://fusionauth.io/learn/expert-advice/tokens/building-a-secure-jwt/#keys.

קובץ .env לדוגמה:

    LP_ACCOUNT_ID = 12345678
    LP_CLIENT_ID = abc-123-f0f0
    LP_CLIENT_SECRET = abc123abc123abc123abc123
    LP_SENTINEL_DOMAIN = va.sentinel.liveperson.net
    LP_ACCOUNT_CONFIG_READONLY_DOMAIN = z1.acr.liveperson.net
    APPLICATION_SERVER_URL = https://my-project.wm.r.appspot.com
    JWT_SECRET = an_example_JWT_secret_phrase_please_use_something_better

כלים לפריסה

צריך לפרוס את שרת האפליקציות של ממשק המשתמש בשירות אירוח של Google Cloud. מומלץ להשתמש ב-Google App Engine או ב-Cloud Run. השלבים שבהמשך מתייחסים ל-Cloud Run כדוגמה.

פריסה באמצעות CLI

במסוף המקומי, משנים את הספרייה הפעילה לספריית הבסיס של המאגר.

מריצים את הפקודה הבאה כדי לשמור את מצב המאגר ב-Google Cloud Platform Container Registry. מחליפים את PROJECT-ID במזהה הפרויקט ב-Google Cloud Platform.

    gcloud builds submit --tag gcr.io/PROJECT-ID/agent-assist-modules-proxy-server

מפעילים את השילוב באמצעות הפקודה הבאה. מחליפים את PROJECT-ID במזהה הפרויקט ב-Google Cloud Platform של הסוכן ואת SERVICE-ACCOUNT-EMAIL בכתובת האימייל של הלקוח של חשבון השירות.

    gcloud run deploy --image gcr.io/PROJECT-ID/agent-assist-modules-proxy-server --service-account=SERVICE-ACCOUNT-EMAIL --memory 1Gi --platform managed
  • כשמופיעה בקשה לבחירת אזור, בוחרים אזור (לדוגמה, us-central1).
  • כשמתבקשים להזין שם שירות, מקישים על Enter כדי לאשר את ברירת המחדל.
  • כשמופיעה בקשה לאפשר הפעלות לא מאומתות, מקישים על y.

מידע נוסף זמין במאמרי העזרה בנושא Cloud Run. אפשר לראות רשימה של פריסות האינטגרציה הפעילות בקטע Cloud Run ב-Google Cloud Platform Console.

משתני סביבה

פועלים לפי ההוראות של Cloud Run כדי להגדיר את משתני הסביבה הנדרשים.

אחרי שהשירות נפרס, ה-CLI יציג את כתובת ה-URL שאליה נפרסה האפליקציה (target_url). צריך לחזור ולהגדיר את משתנה הסביבה DF_PROXY_SERVER_URL עבור שרת האפליקציות באמצעות הערך הזה.

כיבוי שרת ה-proxy

כדי להשבית את שרת האפליקציות, צריך למחוק את שירות Cloud Run.

בטרמינל המקומי, מריצים את הפקודה הבאה ובוחרים את פלטפורמת היעד שנבחרה קודם כדי להציג את הפריסות הפעילות:

    gcloud beta run services list

לאחר מכן, מריצים את הפקודה הבאה:

    gcloud beta run services delete agent-assist-modules-proxy-server