גיבוש ובדיקה של תנאים לחברות בקבוצה

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

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

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

ניסוח השאילתה ובדיקתה

שאילתות חברות הן מהצורה target_field condition, והן מפורמטות כביטויים של Common Expression Language‏ (CEL). רשימה של שדות משאבים User שאפשר להשתמש בהם זמינה במאמר בנושא מאפייני משתמש חוקיים לקבוצות דינמיות.

שאילתות לדוגמה

בדוגמה הבאה אפשר לראות איך בודקים ערך ספציפי בשדה user.addresses באמצעות הפונקציה exists() של CEL:

user.addresses.exists(ad, ad.locality=='Sunnyvale')

פקודת המאקרו exists() משמשת ליצירת שאילתות חברות בשדות מסוג list.

כך למשל אפשר לחפש ערכים מרובים – (building) area ו-building_id – ברשומה אחת של רשימה:

user.locations.exists(loc, loc.area=='Sunnyvale' && loc.building_id=='Building 1')

בדוגמה הבאה מוצג איך למצוא משתמשים ששייכים ליחידה ארגונית מסוימת:

  • כל המשתמשים הישירים ביחידה ארגונית מסוימת: user.org_unit_id==orgUnitId('03ph8a2z1enx4lx')
  • כל המשתמשים הישירים והעקיפים ביחידה ארגונית מסוימת: user.org_units.exists(org_unit, org_unit.org_unit_id==orgUnitId('03ph8a2z1khexns'))
user.name.value.equalsIgnoreCase('jOhn DoE')`

שלילה בשאילתות

אתם יכולים להשתמש באופרטור NOT ! בשאילתות חברות כדי להחריג משתמשים עם מאפיינים מסוימים. הנה כמה דוגמאות:

  • כל המשתמשים שלא שייכים ליחידה ארגונית מסוימת:

    !(user.org_unit_id==orgUnitId('03ph8a2z1enx4lx'))
    
  • כל המשתמשים שלא שייכים לארגון Marketing:

    !user.organization.exists(org, org.title = "Marketing")
    

יש שילובים של האופרטור NOT ! והמאקרו exists() שלא אפשריים:

  • כל שאילתת NOT ! שמשתמשת במאקרו exists() ובאופרטור AND && בתוכה:

    !user.organization.exists(org, (org.title == "Cloud" && org.department == "Sales"))
    
  • כל שאילתה שמשתמשת בפקודת המאקרו exists() עם האופרטור NOT ! בתוכה:

    user.organization.exists(org, (org.title == "Cloud" || !(org.department == "Sales")))
    

בדיקה של שאילתות לחברוּת בקבוצה

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

מאפייני משתמש מותאמים אישית

אפשר להשתמש במאפייני משתמש בהתאמה אישית בשאילתות של קבוצות דינמיות, כל עוד הסכימה המותאמת אישית כבר קיימת ב-user.custom_schemas, אבל אין תמיכה בהם בתפריטים הנפתחים של הכלי הפשוט ליצירת שאילתות. כדי לבדוק שאילתה של תכונת משתמש מותאמת אישית, מזינים אותה בפורמט של שאילתת CEL ישירות בתיבת הטקסט Enter cel query (הזנת שאילתת CEL). דוגמה לסכימה מותאמת אישית:

{
  "schemaName": "employmentData",
  "fields": [
    {
      "fieldName": "EmployeeNumber",
      "fieldType": "STRING",
      "multiValued": "false"
    },
    {
      "fieldName": "JobFamily",
      "fieldType": "STRING",
      "multiValued": "true"
    }
  ]
}

שדה עם ערך יחיד

user.custom_schemas.employmentData.EmployeeNumber == 'value'

שדה עם כמה ערכים

user.custom_schemas.employmentData.JobFamily.exists(fld, fld == 'value')

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

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