Salesforce

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

גרסאות נתמכות

המחבר דורש את Web Services API. ‫Web Services API נתמך באופן מקורי במהדורות Salesforce Enterprise,‏ Unlimited ו-Developer. אפשר להפעיל את ה-API של שירותי האינטרנט במהדורת Professional בתשלום נוסף. לשם כך צריך ליצור קשר עם Salesforce. המחבר מוגדר כברירת מחדל לגרסה 56.0 של Salesforce API.

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

בפרויקט Google Cloud, מבצעים את המשימות הבאות:

  • מוודאים שהגדרתם חיבור לרשת. מידע על תבניות רשת זמין במאמר קישוריות לרשת.
  • נותנים למשתמש שמגדיר את המחבר את תפקיד ה-IAM‏ roles/connectors.admin.
  • מקצים לחשבון השירות שרוצים להשתמש בו עבור המחבר את תפקידי ה-IAM הבאים:
    • roles/secretmanager.viewer
    • roles/secretmanager.secretAccessor

    אם אין לכם חשבון שירות, אתם צריכים ליצור חשבון שירות. המחבר וחשבון השירות צריכים להיות שייכים לאותו פרויקט.

  • מפעילים את השירותים הבאים:
    • secretmanager.googleapis.com (Secret Manager API)
    • connectors.googleapis.com (Connectors API)

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

הגדרת המחבר

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

  1. במסוף Cloud, עוברים לדף Integration Connectors > Connections ובוחרים או יוצרים פרויקט בענן.

    כניסה לדף Connections

  2. לוחצים על + יצירת חדש כדי לפתוח את הדף יצירת חיבור.
  3. בקטע מיקום, בוחרים מיקום מהרשימה אזור ואז לוחצים על הבא.

    רשימה של כל האזורים הנתמכים מופיעה במאמר מיקומים.

  4. בקטע פרטי החיבור, ממלאים את הפרטים הבאים:
    1. בוחרים באפשרות Salesforce מרשימת המחברים.
    2. בוחרים גרסה של מחבר מהרשימה Connector version (גרסת המחבר).
    3. בשדה Connection name, מזינים שם למופע החיבור. שם החיבור יכול להכיל אותיות קטנות, מספרים או מקפים. השם צריך להתחיל באות ולהסתיים באות או במספר, והוא לא יכול להכיל יותר מ-49 תווים.
    4. אופציונלי: מזינים תיאור למופע החיבור.
    5. אופציונלי: מפעילים את Cloud Logging ואז בוחרים רמת יומן. כברירת מחדל, רמת היומן מוגדרת כ-Error.
    6. בשדה Service account, בוחרים חשבון עם התפקידים הנדרשים.
    7. (אופציונלי) מגדירים את ההגדרות של צומת החיבור.
      • מספר מינימלי של צמתים: מזינים את המספר המינימלי של צמתי חיבור.
      • מספר הצמתים המקסימלי: מזינים את מספר צמתי החיבור המקסימלי.

      צומת הוא יחידה (או עותק) של חיבור שמבצעת עיבוד של עסקאות. כדי לעבד יותר עסקאות עבור חיבור מסוים, צריך יותר צמתים, ולהפך: כדי לעבד פחות עסקאות, צריך פחות צמתים. כדי להבין איך הצמתים משפיעים על התמחור של המחבר, אפשר לעיין במאמר בנושא תמחור של צמתי חיבור. אם לא מזינים ערכים, כברירת מחדל, מספר הצמתים המינימלי מוגדר כ-2 (לזמינות טובה יותר) ומספר הצמתים המקסימלי מוגדר כ-50.

    8. (אופציונלי) כדי להגדיר שרת proxy לחיבור, בוחרים באפשרות שימוש ב-proxy ומזינים את פרטי ה-proxy.
      • סכימת אימות של שרת proxy: בוחרים את סוג האימות לאימות מול שרת ה-proxy. אלה סוגי האימות שנתמכים:
        • בסיסי: אימות HTTP בסיסי.
        • Digest: אימות HTTP מסוג Digest.
      • משתמש proxy: שם משתמש שישמש לאימות בשרת ה-proxy.
      • סיסמת ה-Proxy: הסוד במנהל הסודות של סיסמת המשתמש.
      • סוג ה-SSL של ה-Proxy: סוג ה-SSL שבו יש להשתמש כשמתחברים לשרת ה-Proxy. סוגי האימות הבאים נתמכים:
        • אוטומטי: הגדרת ברירת המחדל. אם כתובת ה-URL היא כתובת HTTPS, נעשה שימוש באפשרות Tunnel. אם כתובת ה-URL היא כתובת HTTP, נעשה שימוש באפשרות NEVER.
        • תמיד: החיבור תמיד מופעל באמצעות SSL.
        • לעולם לא: החיבור לא מופעל באמצעות SSL.
        • מנהור: החיבור הוא דרך שרת proxy למנהור. שרת ה-proxy פותח חיבור למארח המרוחק, והתנועה זורמת הלוך ושוב דרך ה-proxy.
      • בקטע שרת Proxy, מזינים את פרטי שרת ה-Proxy.
        1. לוחצים על + הוספת יעד.
        2. בוחרים סוג יעד.
          • כתובת המארח: מציינים את שם המארח או את כתובת ה-IP של היעד.

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

    9. אופציונלי: לוחצים על + הוספת תווית כדי להוסיף תווית לקישור בצורה של צמד מפתח/ערך.
    10. לוחצים על הבא.
  5. בקטע יעדים, מזינים את הפרטים של המארח המרוחק (מערכת העורף) שאליו רוצים להתחבר ולוחצים על הבא.
  6. בשדה סוג היעד, בוחרים את הסוג הרצוי.

    • כדי לציין את שם המארח או את כתובת ה-IP של היעד, בוחרים באפשרות כתובת המארח ומזינים את הכתובת בשדה מארח 1.
    • כדי ליצור חיבור פרטי, בוחרים באפשרות Endpoint attachment (צירוף נקודת קצה). ברשימה Endpoint Attachment, בוחרים את קובץ ה-Endpoint Attachment שנוצר עבור מערכת ה-Backend.

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

  7. בקטע אימות, מזינים את פרטי האימות.
    1. בוחרים סוג אימות ומזינים את הפרטים הרלוונטיים.

      החיבור ל-Salesforce תומך בסוגי האימות הבאים:

      • OAuth 2.0 – קוד אימות
      • ‫OAuth 2.0 – JWT bearer
      • ‫OAuth 2.0 – פרטי כניסה של לקוח
      • שם משתמש וסיסמה
    2. כדי להבין איך להגדיר את סוגי האימות האלה, אפשר לעיין במאמר בנושא הגדרת אימות.

    3. לוחצים על הבא.
  8. בודקים את פרטי החיבור והאימות ולוחצים על יצירה.

הגדרת אימות

מזינים את הפרטים בהתאם לאימות שבו רוצים להשתמש.

  • OAuth 2.0 – קוד הרשאה
    • Client ID: מזהה הלקוח שמשמש לבקשת אסימוני גישה.
    • Scopes: רשימה מופרדת בפסיקים של ההיקפים הרצויים.
    • סוד לקוח: סוד הלקוח שמשמש לבקשת טוקנים של גישה.
    • Secret version: הגרסה של סוד הלקוח.
    • כתובת URL לאישור: כתובת ה-URL לאישור שנוצרה כשיוצרים את הלקוח.
  • OAUTH 2.0 - JWT bearer
    • טוקן צרכן של אפליקציה מקושרת: טוקן הצרכן שסופק על ידי Salesforce לאפליקציה המקושרת שיצרתם.
    • שם משתמש: שם המשתמש שמשויך לאפליקציה המקושרת שיצרתם.
    • מפתח פרטי: סוד ב-Secret Manager שמכיל את התוכן של קובץ המפתח הפרטי. המפתח הפרטי חייב להיות זהה למפתח הציבורי או לאישור שסופקו ל-Salesforce.
    • גרסת סוד: הגרסה של המפתח הפרטי.

    מידע נוסף זמין במאמר יצירת חיבור ל-Salesforce באמצעות JWT.

  • OAuth 2.0 – פרטי לקוח
    • Client ID: מזהה הלקוח של האפליקציה שיצרתם.
    • סוד לקוח: סוד ב-Secret Manager שמכיל את סוד הלקוח של האפליקציה המקושרת שיצרתם.
    • Secret version: הגרסה של סוד הלקוח.
  • שם משתמש וסיסמה
    • שם משתמש: שם המשתמש ב-Salesforce שבו רוצים להשתמש לחיבור.
    • Password: סוד ב-Secret Manager שמכיל את הסיסמה שמשויכת לשם המשתמש ב-Salesforce.
    • אסימון אבטחה: סוד ב-Secret Manager שמכיל קוד אלפאנומרי תלוי-אותיות שסופק על ידי Salesforce למשתמש.
    • גרסת סוד: הגרסה של הסוד ב-Secret Manager.

דוגמאות להגדרת חיבור

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

סוג החיבור של שם המשתמש והסיסמה

שם השדה פרטים
מיקום us-central1
מחבר Salesforce
גרסת המחבר 1
שם החיבור google-cloud-salesforce-conn
הפעלת Cloud Logging כן
רמת הרישום ביומן שגיאה
חשבון השירות SERVICEACCOUNT_NAME@developer.gserviceaccount.com
רמת הפירוט 5
מספר הצמתים המינימלי 2
מספר הצמתים המקסימלי 50
סוג היעד כתובת המארח
מארח 1 https://login.salesforce.com.
שם משתמש שם משתמש
סיסמה PASSWORD
גרסה של סוד 1
אסימון אבטחה zrph####53HCM6D1ZdW####
גרסה של סוד 1

אישור מחדש של קוד הרשאה

אם אתם משתמשים בסוג האימות Authorization code וביצעתם שינויים בהגדרות באפליקציית הקצה העורפי של Salesforce, אתם צריכים לאשר מחדש את הקישור ל-Salesforce. כדי לאשר מחדש חיבור, מבצעים את השלבים הבאים:

  1. לוחצים על החיבור הרצוי בדף החיבורים.

    ייפתח הדף עם פרטי החיבור.

  2. לוחצים על עריכה כדי לערוך את פרטי החיבור.
  3. בודקים את הפרטים של OAuth 2.0 – קוד הרשאה בקטע אימות.

    אם צריך, מבצעים את השינויים הנדרשים.

  4. לוחצים על Save. הלחיצה תעביר אתכם לדף פרטי החיבור.
  5. בקטע אימות, לוחצים על עריכת הרשאה. מוצגת החלונית Authorize (אישור).
  6. לוחצים על Authorize.

    אם ההרשאה מתבצעת בהצלחה, סטטוס החיבור יהיה פעיל בדף החיבורים.

התקנת אפליקציה מקושרת מסוג OAuth 2.0

כחלק משיפור האבטחה, מערכת Salesforce מחייבת עכשיו התקנה של כל האפליקציות המקושרות שמשתמשות באימות OAuth 2.0. ההגדרה הזו חלה על חיבורים חדשים וקיימים. השינוי הזה אומר שהחיבור הקיים שלכם עלול להפסיק לפעול, אלא אם האפליקציה המקושרת מותקנת ב-Salesforce. עוברים לדף Connected Apps OAuth Usage בחשבון Salesforce ומתקינים את האפליקציה. מידע נוסף זמין במאמר Connected App Usage Restrictions Change.

שימוש בחיבור ל-Salesforce בשילוב

אחרי שיוצרים את החיבור, הוא זמין גם ב-Apigee Integration וגם ב-Application Integration. אפשר להשתמש בחיבור בשילוב באמצעות המשימה Connectors.

  • כדי להבין איך ליצור ולהשתמש במשימה Connectors ב-Apigee Integration, אפשר לעיין במאמר משימת Connectors.
  • מידע על יצירה ושימוש במשימת מחברים ב-Application Integration זמין במאמר משימת מחברים.

פעולות

המחבר הזה מאפשר לכם לבצע פעולות של הוספה, מחיקה, עדכון וקריאה של נתונים ב-Salesforce. כדי להריץ שאילתות SQL מותאמות אישית, המחבר מספק את הפעולה Execute custom query (הרצת שאילתה מותאמת אישית).

כדי ליצור שאילתה בהתאמה אישית, פועלים לפי השלבים הבאים:

  1. פועלים לפי ההוראות המפורטות ל הוספת משימה של מחברים.
  2. כשמגדירים את משימת המחבר, בוחרים באפשרות פעולות בסוג הפעולה שרוצים לבצע.
  3. ברשימה Action, בוחרים באפשרות Execute custom query ולוחצים על Done.

    תמונה שמציגה את הפעולה execute-custom-query-action תמונה שמציגה את הפעולה execute-custom-query-action

  4. מרחיבים את הקטע Task input (קלט למשימה) ומבצעים את הפעולות הבאות:
    1. בשדה Timeout after, מזינים את מספר השניות להמתנה עד להפעלת השאילתה.

      ערך ברירת המחדל: 180 שניות.

    2. בשדה Maximum number of rows (מספר השורות המקסימלי), מזינים את מספר השורות המקסימלי שיוחזר ממסד הנתונים.

      ערך ברירת המחדל: 25.

    3. כדי לעדכן את השאילתה המותאמת אישית, לוחצים על עריכת סקריפט בהתאמה אישית. תיפתח תיבת הדו-שיח עורך הסקריפטים.

      תמונה שבה מוצגת שאילתת SQL בהתאמה אישית תמונה שבה מוצגת שאילתת SQL בהתאמה אישית

    4. בתיבת הדו-שיח הכלי לעריכת סקריפטים, מזינים את שאילתת ה-SQL ולוחצים על שמירה.

      אפשר להשתמש בסימן שאלה (?) בהצהרת SQL כדי לייצג פרמטר יחיד שצריך לציין ברשימת פרמטרים של שאילתה. לדוגמה, שאילתת ה-SQL הבאה בוחרת את כל השורות מהטבלה Employees שתואמות לערכים שצוינו בעמודה LastName:

      SELECT * FROM Employees where LastName=?

    5. אם השתמשתם בסימני שאלה בשאילתת ה-SQL, צריך להוסיף את הפרמטר על ידי לחיצה על + הוספת שם פרמטר לכל סימן שאלה. במהלך ההפעלה של השילוב, הפרמטרים האלה מחליפים את סימני השאלה (?) בשאילתת ה-SQL באופן עקבי. לדוגמה, אם הוספתם שלושה סימני שאלה (?), אתם צריכים להוסיף שלושה פרמטרים לפי הסדר.

      תמונה שמראה את האפשרות add-query-param תמונה שמראה את האפשרות add-query-param

      כדי להוסיף פרמטרים של שאילתה:

      1. מהרשימה סוג בוחרים את סוג הנתונים של הפרמטר.
      2. בשדה ערך, מזינים את הערך של הפרמטר.
      3. כדי להוסיף כמה פרמטרים, לוחצים על + הוספת פרמטר של שאילתה.
    6. הפעולה Execute custom query לא תומכת במשתני מערך.

מחבר Salesforce לא תומך בערכים עם פרמטרים עבור סעיף ה-OFFSET, ואי אפשר להחליף אותו באופן דינמי באמצעות פרמטרים של שאילתה. עם זאת, יש תמיכה בפרמטרים של שאילתה במשפט WHERE.

בקטע הזה מפורטות הפעולות שנתמכות על ידי מחבר Salesforce. כדי להבין איך להגדיר את הפעולות, אפשר לעיין בדוגמאות לפעולות.

פעולת CreateJobv2

אפשר להשתמש בפעולה הזו כדי ליצור משימה.

פרמטרים של קלט בפעולה CreateJobV2

שם הפרמטר סוג הנתונים חובה תיאור
ObjectName String כן השם של האובייקט שבו רוצים להשתמש במשימה, כמו Account (חשבון), Campaign (קמפיין), Event (אירוע) וכו'.
שאילתה String לא השאילתה שרוצים להריץ.
פעולה String כן סוג הפעולה שבה רוצים להשתמש בעבודה. הערכים התקינים הם insert,‏ delete,‏ update,‏ upsert או query.
ExternalIdColumn String לא השדה של המזהה החיצוני באובייקט שעובר עדכון. השלב הזה נדרש לפעולות upsert. הערכים בשדות צריכים להופיע גם בנתוני המשרות בפורמט CSV.
ColumnDelimiter String לא המפריד בין העמודות שמשמש לנתוני משימות ב-CSV. ערך ברירת המחדל הוא COMMA. הערכים התקינים הם 'BACKQUOTE',‏ 'CARET',‏ 'COMMA',‏ 'PIPE',‏ 'SEMICOLON' ו-'TAB'.
LineEnding String לא סיום השורה שמשמש לנתוני משימות ב-CSV, שמסמן את סוף שורת הנתונים. ברירת המחדל היא LF. הערכים התקינים הם LF ו-CRLF.
MultiPartRequest בוליאני לא מפעילים את התכונה הזו רק אם הנתונים בקובץ ה-CSV לא חורגים מ-20,000 תווים. צריך גם לציין את הנתיב של קובץ ה-CSV.
CSVFilePath String לא מציינים את הנתיב של קובץ ה-CSV.

דוגמה להגדרת הפעולה CreateJobV2 מופיעה במאמר דוגמאות.

פעולת UploadJobDataV2

משתמשים בפעולה הזו כדי להעלות קובץ משימות בפורמט CSV אל Salesforce.

פרמטרים של קלט לפעולה UploadJobDataV2

שם הפרמטר סוג הנתונים חובה תיאור
ContentUrl String לא כתובת ה-URL שמשמשת לבקשות 'העלאת נתוני משרה' לגבי המשרה הזו. התוקף הוא רק אם המשרה במצב פתוח.
CSVFilePath String לא מציינים את הנתיב של קובץ ה-CSV.
תוכן String כן תוכן קובץ ה-CSV כ-InputStream. צריך לספק את הערך הזה רק אם השדה CSVFilePath ריק.

דוגמה להגדרת הפעולה UploadJobDataV2 מופיעה במאמר דוגמאות.

הפעולה CreateBatch

הפעולה הזו יוצרת חבילת נתונים ב-Salesforce.

פרמטרים של קלט לפעולה CreateBatch

שם הפרמטר סוג הנתונים חובה תיאור
JobId String נכון המזהה של המשימה שאליה מוסיפים את החבילה.
במצטבר String נכון האובייקטים שמתווספים. מציינת את השאילתה שבה צריך להשתמש אם מבצעים שאילתה באצווה.
ContentType String נכון סוג התוכן של המשרה. הערכים התקינים הם: CSV,‏ XML,‏ ZIP_CSV ו-ZIP_XML. אם מבצעים שאילתה באצווה, מגדירים את הערך ל-CSV. ערך ברירת המחדל הוא XML.

פרמטרים של פלט הפעולה CreateBatch

דוגמה להגדרת הפעולה CreateBatch מופיעה במאמר דוגמאות.

פעולת CreateJob

הפעולה הזו מוסיפה רשומה של אובייקט Salesforce.

פרמטרים של קלט לפעולה CreateJob

שם הפרמטר סוג הנתונים חובה תיאור
ObjectName String נכון שם האובייקט שישמש את העבודה
פעולה String נכון סוג הפעולה שבה רוצים להשתמש בעבודה.

פרמטרים של פלט של הפעולה CreateJob

דוגמה להגדרת הפעולה CreateJob מופיעה במאמר דוגמאות.

פעולת GetBatch

הפעולה הזו מקבלת מידע על חבילת נתונים (batch) של Salesforce.

פרמטרים של קלט לפעולה GetBatch

שם הפרמטר סוג הנתונים חובה תיאור
JobId String נכון מזהה המשימה שאליה משויך האצווה.
BatchId String נכון המזהה של הקבוצה שאותה מאחזרים.

פרמטרים של פלט של הפעולה GetBatch

דוגמה להגדרת הפעולה GetBatch מופיעה במאמר דוגמאות.

פעולת GetJob

הפעולה הזו מקבלת מידע על משימה ב-Salesforce.

פרמטרים של קלט לפעולה GetJob

שם הפרמטר סוג הנתונים חובה תיאור
JobId String נכון המזהה של המשימה שאותה מאחזרים.

פרמטרים של פלט של הפעולה GetJob

דוגמה להגדרת הפעולה GetJob מופיעה במאמר דוגמאות.

הפעולה UploadAttachment

הפעולה הזו מעלה קובץ מצורף ומשייכת אותו לישות ב-Salesforce.

פרמטרים של קלט לפעולה UploadAttachment

שם הפרמטר סוג הנתונים חובה תיאור
ObjectId String נכון המזהה של האובייקט שאליו ישויך המסמך שהועלה.
FileName String נכון השם של הקובץ המצורף.
Base64Data String נכון מחרוזת הנתונים שתשמש כתוכן של הקובץ.

כדי להעלות קבצים מ-Salesforce ל-Google Cloud Storage, צריך להשתמש בסטרימינג בינארי.

דוגמה להגדרת הפעולה UploadAttachment מופיעה במאמר דוגמאות.

פעולת GetBatchResults

הפעולה הזו מקבלת את התוצאות של קבוצת Salesforce.

פרמטרים של קלט לפעולה GetBatchResults

שם הפרמטר סוג הנתונים חובה תיאור
JobId String נכון מזהה המשימה שאליה משויך האצווה.
BatchId String נכון המזהה של הקבוצה שאותה מאחזרים.
ContentType String נכון סוג התוכן של המשרה.

פרמטרים של פלט של הפעולה GetBatchResults

דוגמה להגדרת הפעולה GetBatchResults מופיעה במאמר דוגמאות.

פעולה DownloadContentDocument

הפעולה הזו מורידה מסמך מ-Salesforce.

פרמטרים של קלט בפעולה DownloadContentDocument

שם הפרמטר סוג הנתונים חובה תיאור
מזהה String נכון המזהה של המסמך להורדה.
כותרת String לא נכון הכותרת של המסמך להורדה.
LocalPath String נכון הנתיב המקומי לשמירת הקובץ שהורד. אם לא מספקים את הנתיב, תוכן הקובץ מוחזר בזיכרון.
קידוד String לא נכון הקידוד של הקובץ שהורד. הערכים התקינים הם NONE ו-BASE64. ערך ברירת המחדל הוא BASE64.
FileStream String לא נכון הפלט של הנתונים שמשמש כשלא מציינים את LocalPath. הוא מאפשר תרחישי שימוש בזיכרון או בסטרימינג.

פרמטרים של פלט של הפעולה DownloadContentDocument

שם הפרמטר סוג הנתונים תיאור
FileId String המזהה של הקובץ שהורד.
הפעולה הצליחה String הפרמטר הזה מציין אם ההורדה בוצעה בהצלחה.
FileName String השם של הקובץ שהורד.
FullPath String הנתיב המלא של הקובץ שהורד.
FileData String נתוני הקובץ של הקובץ שהורד.
FailureMessage String הודעת הכשל של הקובץ שהורד ונכשל.

מחבר Salesforce לא מגביל את הגודל המקסימלי של קובץ להורדה. במטענים ייעודיים (payloads) של JSON או Base64, הקבצים צריכים להיות קטנים מ-40MB כדי למנוע הרחבה של המטען הייעודי, חריגה ממגבלות הזיכרון או פסק זמן.

דוגמה להגדרת הפעולה DownloadContentDocument מופיעה במאמר דוגמאות.

דוגמאות לפעולות

דוגמה – CreateJobV2

בדוגמה הזו נוצרת משימה.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה CreateJobV2 ולוחצים על סיום.
  3. בקטע Task Input (קלט של המשימה) במשימה Connectors (מחברים), לוחצים על connectorInputPayload ואז צריך להזין ערך דומה לערך הבא בשדה Default Value:
     {
      "ObjectName": "Contact",
      "Action": "insert"
     }
  4. אם הפעולה מצליחה, לפרמטר התגובה CREATEJOBV2 של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

     
      [{
      "ID": "750dM000005HjdnQAC",
      "State": "Open",
      "JobType": null,
      "ContentUrl": "services/data/v43.0/jobs/ingest/750dM000005HjdnQAC/batches",
      "ContentType": "CSV",
      "CreatedDate": "2024-08-07T09:16:16.000+0000",
      "CreatedById": "005dM0000061WSFQA2",
      "ConcurrencyMode": "Parallel",
      "SystemModStamp": "2024-08-07T09:16:16.000+0000"
      }] 

דוגמה – UploadJobDataV2

בדוגמה הזו, קובץ של משרה מועלה אל Salesforce.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה UploadJobDataV2 ולוחצים על סיום.
  3. בקטע Task Input (קלט המשימה) של המשימה Connectors (מחברים), לוחצים על connectorInputPayload ומזינים ערך דומה לערך הבא בשדה Default Value:
     {
      "Content":   "FirstName,LastName,Email,MobilePhone,External_Id__c\\nGinelle,Merioth,gmerioth0@example.com,851-555-8435,4d13cac0-2c11-48e9-891d-49ee9508a6c7\\nDalli,Tumilson,dtumilson1@example.com,881-555-6742,38bcb24b-247f-498b-9502-c98995a1e04b\\nRobbin,Purveys,rpurveys2@example.com,732-555-6909,35d96c7a-3856-4809-8c49-35ddb9fa7dd9\\nLothaire,Ivanchenkov,livanchenkov3@example.com,144-555-1959,75f63f26-6f4a-406f-a9f4-807f4a8a7b51",
      "ContentUrl": "services/data/v43.0/jobs/ingest/750dM000005HjdnQAC/batches"
     }
  4. אם הפעולה מצליחה, לפרמטר התגובה UploadJobDataV2 של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

     
      [{
      "Uploaded": "true"
      }]

דוגמה – CreateBatch

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה CreateBatch ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
    {
    "JobId": "750dL000007EipxQAC",
    "Aggregate": "\n    Walter\n    White\n  \n  \n    Rob\n    Brown\n  \n",
    "ContentType": "XML"
    }
  4. אם הפעולה מצליחה, לפרמטר התגובה CreateBatch של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

     
    [{
      "ID": "751dL000003ziC5QAI",
      "JobID": "750dL000007EipxQAC",
      "ApexProcessingTime": "0",
      "ApiActiveProcessingTime": "0",
      "CreatedDate": "2024-09-03T04:48:53.000Z",
      "NumberRecordsFailed": "0",
      "NumberRecordsProcessed": "0",
      "State": "Queued",
      "StateMessage": null,
      "SystemModstamp": "2024-09-03T04:48:53.000Z",
      "TotalProcessingTime": "0"
    }]

דוגמה – CreateJob

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה CreateJob ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
    {
      "ObjectName": "Campaign",
      "Action": "insert"
    }
  4. אם הפעולה מצליחה, לפרמטר התגובה CreateJob של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

     
     [{
      "ID": "750dL000007GgD7QAK",
      "JobID": "750dL000007GgD7QAK",
      "ObjectName": "Campaign",
      "Operation": "insert",
      "ApiVersion": "56.0",
      "ApexProcessingTime": "0",
      "ApiActiveProcessingTime": "0",
      "AssignmentRuleId": null,
      "ConcurrencyMode": "Parallel",
      "ContentType": "XML",
      "CreatedById": "005dL000007CalFQAS",
      "CreatedDate": "2024-09-03T05:31:41.000Z",
      "ExternalIdFieldName": null,
      "NumberBatchesCompleted": "0",
      "NumberBatchesQueued": "0",
      "NumberBatchesFailed": "0",
      "NumberBatchesInProgress": "0",
      "NumberBatchesTotal": "0",
      "NumberRecordsFailed": "0",
      "NumberRecordsProcessed": "0",
      "NumberRetries": "0",
      "State": "Open",
      "SystemModStamp": "2024-09-03T05:31:41.000Z",
      "TotalProcessingTime": "0"
    }]

דוגמה – GetBatch

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה GetBatch ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
    {
      "BatchId": "751dL000003yKlJQAU",
      "JobId": "750dL000007EipxQAC"
    }
  4. אם הפעולה מצליחה, לפרמטר התגובה GetBatch של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

     
    [{
      "ID": "751dL000003yKlJQAU",
      "JobID": "750dL000007EipxQAC",
      "ApexProcessingTime": "0",
      "ApiActiveProcessingTime": "0",
      "CreatedDate": "2024-09-02T11:44:15.000Z",
      "NumberRecordsFailed": "0",
      "NumberRecordsProcessed": "0",
      "State": "Failed",
      "StateMessage": "InvalidBatch : Failed to parse XML. Unexpected XML element 'sObject' found at  START_TAG seen ... @1:9 it should be 'sObjects'",
      "SystemModstamp": "2024-09-02T11:44:15.000Z",
      "TotalProcessingTime": "0"
    }]

דוגמה – GetJob

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה GetJob ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
    {
      "JobId": "750dL000007EipxQAC"
    } 
  4. אם הפעולה מצליחה, לפרמטר התגובה GetJob של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

     
    [{
      "ID": "750dL000007EipxQAC",
      "JobID": "750dL000007EipxQAC",
      "ObjectName": "Campaign",
      "Operation": "insert",
      "ApiVersion": "56.0",
      "ApexProcessingTime": "0",
      "ApiActiveProcessingTime": "0",
      "AssignmentRuleId": null,
      "ConcurrencyMode": "Parallel",
      "ContentType": "XML",
      "CreatedById": "005dL000007CalFQAS",
      "CreatedDate": "2024-09-02T11:17:42.000Z",
      "ExternalIdFieldName": null,
      "NumberBatchesCompleted": "0",
      "NumberBatchesQueued": "0",
      "NumberBatchesFailed": "2",
      "NumberBatchesInProgress": "0",
      "NumberBatchesTotal": "2",
      "NumberRecordsFailed": "0",
      "NumberRecordsProcessed": "0",
      "NumberRetries": "0",
      "State": "Open",
      "SystemModStamp": "2024-09-02T11:17:42.000Z",
      "TotalProcessingTime": "0"
    }]

דוגמה – UploadAttachment

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה UploadAttachment ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
    {
      "ObjectId": "001dL00000SC6j7QAD",
      "FileName": "My files/salesforce/con.csv",
      "Base64Data": "Y29ubmVjdG9ycyBpcyBiYWNr"
    }
  4. אם הפעולה מצליחה, לפרמטר התגובה UploadAttachment של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

     
    [{
      "Id": "00PdL000000EJUDUA4"
    }]

דוגמה – GetBatchResults

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה GetBatchResults ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
    {
      "BatchId": "751dL000004D17FQAS",
      "JobId": "750dL000007XKUhQAO",
      "ContentType": "XML"
    }
  4. אם הפעולה מצליחה, לפרמטר התגובה GetBatchResults של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

     
    [{
      "ID": null,
      "Created": "false",
      "Success": "false",
      "Errors_Fields": "LastName",
      "Errors_Message": "Account: bad field names on insert/update call: FirstName, LastName",
      "Errors_StatusCode": "INVALID_FIELD_FOR_INSERT_UPDATE"
    }, {
      "ID": null,
      "Created": "false",
      "Success": "false",
      "Errors_Fields": "LastName",
      "Errors_Message": "Account: bad field names on insert/update call: FirstName, LastName",
      "Errors_StatusCode": "INVALID_FIELD_FOR_INSERT_UPDATE"
    }]

דוגמה – DownloadContentDocument

בדוגמה הזו מורידים מסמך מ-Salesforce באמצעות מזהה המסמך.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה DownloadContentDocument ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
    {
      "Id": "069dM00000ABC123QAC",
      "LocalPath": "/tmp/salesforce_docs"
    }
  4. אם הפעולה מצליחה, לפרמטר התגובה DownloadContentDocument של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

     
    [{
      "FileId": "069dM00000ABC123QAC",
      "Success": "true",
      "FileName": "Contract.pdf",
      "FullPath": "/tmp/salesforce_docs/Contract.pdf"
    }]

דוגמה – DownloadContentDocument (בזיכרון)

בדוגמה הזו, מסמך מורד מ-Salesforce ומאוחסן בזיכרון.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Actions.
  2. בוחרים את הפעולה DownloadContentDocument ולוחצים על סיום.
  3. בקטע מיפוי נתונים Open Data Mapping Editor ואז מזינים ערך דומה לערך הבא בשדה Input:
      {"Title": "Invoice_Q4_2024" }
  4. אם הפעולה מצליחה, לפרמטר התגובה DownloadContentDocument של המשימה connectorOutputPayload יהיה ערך שדומה לזה:

    [{"FileId": "069dM00000XYZ789QAC",
      "Success": "true",
      "FileName": "Invoice_Q4_2024.pdf",
      "FileData": "JVBERi0xLjQKJ..."
    }]

דוגמאות לפעולות על ישויות

בקטע הזה מוסבר איך לבצע חלק מהפעולות על ישויות במחבר הזה.

דוגמה – יצירת קובץ מצורף

    הפעולה 'יצירת קובץ מצורף לישות' יוצרת קובץ מצורף בלי קובץ תוכן. כדי להוסיף קובץ, צריך לבצע את הפעולה Upload Attachment (העלאת קובץ מצורף) על ידי מתן הקשר של הקובץ בקלט.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות 'קובץ מצורף' מהרשימה Entity.
  3. בוחרים את הפעולה Create ולוחצים על סיום.
  4. בקטע מיפוי נתונים של המשימה, לוחצים על OpenDataMapping editor ומזינים ערך דומה לערך הבא ב field:
    {
      "Name": "New Attachment",
      "Description": "New created attachment",
      "ParentId": "001dL00000SC6j7QAD",
      "Body": "Body"
    }
    
  5. הרצת הדוגמה הזו מחזירה תגובה שדומה לתגובה הבאה במשתנה הפלט connectorOutputPayload של משימת המחבר:

    {
      "Id": "00PdL000000EJKXUA4"
    }
    

דוגמה – עדכון קובץ מצורף

    העדכון של הישות בצירוף מעדכן רק את השם או את התיאור של הקובץ המצורף. כדי להוסיף קובץ, צריך לבצע את הפעולה Upload Attachment (העלאת קובץ מצורף) על ידי מתן הקשר של הקובץ בקלט.

  1. בתיבת הדו-שיח Configure connector task, לוחצים על Entities.
  2. בוחרים באפשרות 'קובץ מצורף' מהרשימה Entity.
  3. בוחרים את הפעולה Update ולוחצים על סיום.
  4. מגדירים את מזהה הישות לעדכון קובץ מצורף. כדי להגדיר את מזהה הישות, בקטע Data mapper בTasks, לוחצים על EntityID ומזינים 00PdL000000EJKXUA4 בשדה שמופיע.
  5. בקטע מיפוי נתונים של המשימה, לוחצים על OpenDataMapping editor ומזינים ערך דומה לערך הבא ב field:
    {
      "Name": "New Attachment",
      "Description": "New updated attachment",
      "Body": "Body"
    }
    
  6. לחלופין, במקום לציין את entityId, אפשר גם להגדיר את filterClause לערך 00PdL000000EJKXUA4.

  7. הרצת הדוגמה הזו מחזירה תגובה שדומה לתגובה הבאה במשתנה הפלט connectorOutputPayload של משימת המחבר:

    {
      "Id": "00PdL000000EJKXUA4"
    } 
    

מגבלות המערכת

מחבר Salesforce יכול לעבד עד 28 עסקאות בשנייה, לכל צומת, ומגביל את כל העסקאות שחורגות מהמגבלה הזו. כברירת מחדל, Integration Connectors מקצה 2 צמתים (לזמינות טובה יותר) לחיבור.

מחבר Salesforce לא תומך בפעולת הישות Upsert.

מידע על המגבלות שחלות על Integration Connectors זמין במאמר מגבלות.

יצירת חיבורים באמצעות Terraform

אפשר להשתמש במשאב של Terraform כדי ליצור חיבור חדש.

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

כדי לראות תבנית לדוגמה של Terraform ליצירת חיבור, אפשר לעיין בתבנית לדוגמה.

כשיוצרים את החיבור הזה באמצעות Terraform, צריך להגדיר את המשתנים הבאים בקובץ ההגדרות של Terraform:

שם הפרמטר סוג נתונים חובה תיאור
proxy_enabled בוליאני לא נכון מסמנים את תיבת הסימון הזו כדי להגדיר שרת Proxy לחיבור.
proxy_auth_scheme ENUM לא נכון סוג האימות שבו יש להשתמש כדי לבצע אימות לשרת ה-proxy‏ ProxyServer. הערכים הנתמכים הם: BASIC, ‏ DIGEST, ‏ NONE
proxy_user מחרוזת לא נכון שם משתמש שישמש לאימות בשרת ה-proxy ‏ProxyServer.
proxy_password SECRET לא נכון סיסמה שתשמש לאימות בשרת ה-proxy‏ ProxyServer.
proxy_ssltype ENUM לא נכון סוג ה-SSL שבו צריך להשתמש כשמתחברים לשרת ה-proxy של ProxyServer. הערכים הנתמכים הם: AUTO, ‏ ALWAYS, ‏ NEVER, ‏ TUNNEL

קבלת עזרה מקהילת Google Cloud

אתם יכולים לפרסם את השאלות שלכם ולדון במחבר הזה בקהילת Google Cloud בפורומים של Cloud.

המאמרים הבאים