שלב את פונקציות Oracle Cloud Infrastructure (OCI) עם Oracle Analytics כדי שתוכל להשתמש בהן בזרימות נתונים לצורך טרנספורמציה של נתונים.
אפשר לבצע טרנספורמציה של נתונים ב-Oracle Analytics באמצעות פונקציות שנוצרו ב-OCI. לדוגמה, אתה יכול להשתמש בפונקציית המרת שפה כדי להמיר טקסט באנגלית לספרדית או גרמנית.
תחילה אתה רושם פונקציות של OCI ב-Oracle Analytics, ואחר כך כל משתמש של Oracle Analytics בעל הרשאות של מנהלן שירות BI (בינה עסקית) או מחבר תוכן DV (המחשת נתונים) יכול להשתמש בהן בזרימות נתונים.
צור פונקציות בקונסולה של OCI כדי שתוכל להשתמש בהן לביצוע טרנספורמציה של נתונים בזרימות נתונים של Oracle Analytics.
אודות רישום פונקציות OCI ב-Oracle Analytics
כאשר אתה רושם פונקציית OCI ב-Oracle Analytics, אם היא מואפרת בתיבת הדו-שיח בחר פונקציה, בדוק שהיא מוגדרת עם התווית תואמת oac
ומופעלת עם הערך funcMode
הנכון.
.png
אודות הגדרת התצורה של פונקציות OCI לשימוש ב-Oracle Analytics
פונקציות OCI שבהן אתה רוצה להשתמש ב-Oracle Analytics צריכות להיות בעלות תגית תואמת oac
וקוד הפונקציה צריך לכלול את המשתנה funcMode
. הגדר את התצורה של הגדרות אלה בקונסולה של OCI:
תואמת oac
והגדר את הערך כאמת
.funcMode
בקוד הפונקציה שלך. Oracle Analytics
שולח בקשה לרשום פונקציית OCI עם funcMode=describeFunction
ובקשה להפעיל פונקציית OCI עם funcMode=executeFunction
. פונקציית המטפל ב-func.py אמורה לפעול במצב describeFunction או במצב executeFunction. אפשר לעשות זאת על בסיס ערך משתנה הקלט funcMode
מהבקשה כפי שמוצג להלן.
כאן פורמט הבקשה והתשובה של פונקציות OCI לדוגמה של ספירת מילים בפייתון.
funcMode = describeFunction
{ "funcMode": "describeFunction"}
כאשר funcMode בבקשה הוא 'describeFunction', הפונקציה אמורה להחזיר את הגדרת הפונקציה עם סטטוס (returnCode & errorMessage), פלטים(שם, dataType של עמודת הפלט), פרמטרים(שם, תיאור, סוג וכן הלאה של פרמטרי הקלט), bucketName וכן הלאה כאובייקט JSON בפורמט הבא (דוגמה של ספירת מילים):
funcDefinition = { "status": { "returnCode": 0, "errorMessage": "" }, "funcDescription": { "outputs": [ {"name": "word_count", "dataType": "integer"} ], "parameters": [ {"name": "textColumn", "displayName": "Text Column", "description": "Choose column to count words", "required": True, "value": {"type": "column"}} ], "bucketName": "bucket-OCI-FAAS", "isOutputJoinableWithInput": True } }
הוסף הקוד הבא ב-func.py כדי להחזיר funcDefinition כאשר funcMode בבקשה הוא 'describeFunction'.
def handler(ctx, data: io.BytesIO = None): response_data = "" try: body = json.loads(data.getvalue()) funcMode = body.get("funcMode") if funcMode == 'describeFunction': response_data = json.dumps(funcDefinition) except (Exception, ValueError) as ex: response_data = json.dumps( {"error": "{0}".format(str(ex))}) return response.Response( ctx, response_data, headers={"Content-Type": "application/json"} )
funcMode = executeFunction - כאשר funcMode הוא 'executeFunction', יש להריץ את לוגיקת הפונקציה בפועל ולשלוח את התשובה חזרה ל-Oracle Analytics יחד עם הפלט. כאשר הפונקציה הרשומה מופעלת מזרימת הנתונים ב-Oracle Analytics, אובייקט הבקשה יהיה בפורמט הבא עם שם העמודה ב-args, input(bucketName, fileName, fileExtension, fileName, method & rowID) -output(bucketName, fileName & fileExtension).
{ "args": { "textColumn": "REVIEW" }, "funcMode": "executeFunction", "input": { "bucketName": "bucket-OCI-FAAS", "fileExtension": ".csv", "fileName": "oac-fn-e99cd4fddb3844be89c7af6ea4bbeb76-input", "method": "csv", "rowID": "row_id" }, "output": { "bucketName": "bucket-OCI-FAAS", "fileExtension": ".csv", "fileName": "oac-fn-e99cd4fddb3844be89c7af6ea4bbeb76-output" } }
אודות יצירת פונקציות ב-OCI
פונקציות אפשר ליצור באמצעות הקונסולה של OCI, שורת הפקודה (Fn Project CLI) או API. לדוגמה, בקונסולה של OCI, לחץ על שירותי מפתח, אחר כך עלפונקציות ופעל בהתאם להוראות המופיעות על המסך כדי ליצור יישומים ופונקציה אחת או יותר. לפרטים, ראה תיעוד על יצירת פונקציות ב-OCI. אם זאת הפעם הראשונה שאתה יוצר פונקציות, פעל בהתאם לשלבים בדוגמה מקצה לקצה יצירה, פריסה והפעלה של פונקציית Helloworld. כל פונקציה שבה אתה רוצה להשתמש ב-Oracle Analytics חייבת לכלול את התגית בסגנון חופשי תואמת oac=true
(ראה אודות הגדרת התצורה של פונקציות OCI לשימוש ב-Oracle Analytics לעיל).
עצות על יצירת פונקציות בקונסולה של OCI
כדי לשלב את Oracle Analytics עם OCI Functions, ודא שיש לך את כללי מדיניות האבטחה הדרושים.
למשתמש ה-OCI שאתה מציין בחיבור בין Oracle Analytics Cloud לחשבון הדייר OCI שלך חייבות להיות הרשאות קריאה, כתיבה ומחיקה במדור המכיל את משאבי ה-OCI שבהם ברצונך להשתמש. ודא שמשתמש ה-OCI שייך לקבוצת משתמשים עם כללי מדיניות האבטחה המינימליים הבאים של OCI. כאשר אתה מתחבר לחשבון דייר של OCI מ-Oracle Analytics, אתה יכול להשתמש במפתח API של OCI או במשאב ראשי.
הערה: בשביל המשאב הראשי, כדי לכלול את כל מופעי Analytics תחת מדור, ציין {request.principal.type='analyticsinstance', request.principal.compartment.id='<compartmentA_ocid> '}
במקום {request.principal.id='<analytics_instance_ocid>'}
.
טבלה 1-32 כללי מדיניות האבטחה הדרושים לשילוב OCI Functions
כללי מדיניות של מפתח API | כללי מדיניות של משאב ראשי |
---|---|
אפשר לקבוצה <group_name> להשתמש במשפחת פונקציות במדור <compartment_name> |
אפשר לכל משתמש להשתמש במשפחת מונקציות במדור <compartment_name> שבו הכול {request.principal.id='<analytics_instance_ocid>'} |
אפשר לקבוצה <group_name> לקרוא תאי אחסון במדור <compartment_name> |
אפשר לכל משתמש לקרוא תאי אחסון במדור <compartment_name> שבו הכול {request.principal.id='<analytics_instance_ocid>'} |
אפשר לקבוצה <group_name> לנהל אובייקטים במדור <compartment_name> שבו target.bucket.name='<staging_bucket_name>' |
אפשר לכל משתמש לנהל אובייקטים במדור <compartment_name> שבו הכול {request.principal.id='<analytics_instance_ocid>', target.bucket.name='<staging_bucket_name>'} |
אפשר לקבוצה <group_name> לקרוא namespaces של מחסן אובייקטים בחשבון דייר |
אפשר לכל משתמש לקרוא namespaces של מחסן אובייקטים בחשבון דייר שבו הכול {request.principal.id='<analytics_instance_ocid>'} |
טבלה 2-32 OCI Functions - כללי מדיניות של קבוצה דינמית
מדיניות | תיאור |
---|---|
אפשר לקבוצה דינמית <group_name> לנהל אובייקטים במדור <compartment_name> שבו target.bucket.name='<staging_bucket_name>' |
מספק גישה לסל היערכות נתונים בשביל הקבוצה הדינמית. |
כלל התאמה לדוגמה בשביל <dynamic_group>.{resource.type = 'fnfunc', resource.compartment.id = '<compartment_ocid>'}
הערה: <compartment_id>
הוא ה-OCID של המדור שמכיל את הפונקציות.
בצע את המשימות ברמה-גבוהה האלה לפי הסדר המפורט להלן כדי לבצע טרנספורמציה של נתונים ב-Oracle Analytics באמצעות פונקציות של OCI.
משימה | תיאור | מידע נוסף |
---|---|---|
צור פונקציות ב-OCI (דורש הרשאות של מפתח פונקציות) |
בחשבון דייר OCI שלך, צור את הפונקציות שלך וודא שהן מקיימות את הדרישות המקדימות המוגדרות לשימוש עם Oracle Analytics. |
אודות הגדרת התצורה של פונקציות OCI לשימוש ב-Oracle Analytics |
הקצה כללי מדיניות של OCI | ודא שיש לך את כללי מדיניות ה-OCI הדרושים לחיבור באמצעות מפתח API או משאב ראשי. | כללי המדיניות הדרושים לשילוב OCI Functions עם Oracle Analytics |
חבר את Oracle Analytics לחשבון דייר OCI שלך (דורש הרשאות מנהלן או מחבר המחשות נתונים) | ב-Oracle Analytics, צור חיבור לחשבון דייר OCI שלך. | |
רשום את פונקציות OCI ב-Oracle Analytics (דורש הרשאות מנהלן או מחבר המחשות נתונים) | ב-Oracle Analytics, רשום את פונקציות OCI שלך כדי שתוכל לקרוא להן מזרימות נתונים. | |
בצע טרנספורמציה של הנתונים שלך באמצעות הפונקציות של OCI (דורש הרשאות מנהלן או מחבר המחשות נתונים) | צור זרימת נתונים והשתמש בשלב החל תסריט מותאם כדי להפעיל פונקציה של OCI. |
רשום פונקציות של OCI ב-Oracle Analytics כדי שתוכל להשתמש בהן בזרימות נתונים לצורך טרנספורמציה של נתונים. לדוגמה, תוכל לרשום פונקציית המרת שפה כדי שאנליסטים של נתונים יוכלו להמיר טקסט באנגלית לספרדית או גרמנית.