אמזון קוויקסייט הוא פתרון בינה עסקית (BI) מופעלת למידת מכונה (ML) הניתן להרחבה, המאפשרת להתחבר לנתונים שלך בקלות, ליצור לוחות מחוונים אינטראקטיביים, לקבל גישה לתובנות התומכות ב-ML ולשתף חזותיים ודשבורדים עם עשרות אלפים של משתמשים פנימיים וחיצוניים, בתוך QuickSight עצמה או מוטמעים בכל יישום.
כתיבה חוזרת היא היכולת לעדכן מאגר נתונים, מחסן נתונים או כל קצה אחורי אחר של מסד נתונים מתוך לוחות מחוונים של BI ולנתח את הנתונים המעודכנים כמעט בזמן אמת בתוך לוח המחוונים עצמו. בפוסט זה, אנו מראים כיצד לבצע כתיבה מאובטחת של מסד נתונים עם QuickSight.
השתמש בסקירת המקרים
כדי להדגים כיצד לאפשר יכולת כתיבה חוזרת עם QuickSight, בואו ניקח בחשבון חברה בדיונית, AnyCompany Inc. AnyCompany היא חברת שירותים מקצועית המתמחה במתן פתרונות כוח אדם ללקוחותיה. AnyCompany קבעה שהפעלת עומסי עבודה בענן כדי לתמוך בצרכים העסקיים הגלובאליים הגדלים שלה היא יתרון תחרותי ומשתמשת בענן כדי לארח את כל עומסי העבודה שלה. AnyCompany החליטה לשפר את האופן שבו הסניפים שלה מספקים הצעות מחיר ללקוחותיה. נכון לעכשיו, הסניפים מייצרים הצעות מחיר ללקוחות באופן ידני, וכצעד ראשון במסע החדשנות הזה, AnyCompany מחפשת לפתח פתרון ארגוני להפקת הצעות מחיר ללקוחות עם יכולת ליישם באופן דינמי נתוני תמחור מקומיים בזמן יצירת הצעות מחיר.
AnyCompany משתמשת כעת האדום של אמזון כפלטפורמת מחסני הנתונים הארגוניים שלהם ו-QuickSight כפתרון ה-BI שלהם.
בניית פתרון חדש מלווה באתגרים הבאים:
- AnyCompany רוצה פתרון שקל לבנות ולתחזק, והם לא רוצים להשקיע בבניית ממשק משתמש נפרד.
- AnyCompany רוצה להרחיב את היכולות של לוח המחוונים הקיים של QuickSight BI כדי לאפשר גם יצירת הצעות מחיר וקבלת הצעות מחיר. זה יפשט את השקת התכונות מכיוון שהעובדים שלהם כבר משתמשים במרכזי המחוונים של QuickSight ונהנים מהממשק הקל לשימוש שמספק QuickSight.
- AnyCompany רוצה לאחסן את היסטוריית המשא ומתן על הצעת המחיר הכוללת הצעות מחיר שנוצרו, נבדקו ומקובלות.
- AnyCompany רוצה לבנות לוח מחוונים חדש עם נתוני היסטוריית ציטוטים לניתוח ותובנות עסקיות.
פוסט זה עובר על השלבים לאפשר פונקציונליות כתיבה לאחור לאמזון Redshift מ-QuickSight. שים לב שכלי ה-BI המסורתיים הם לקריאה בלבד עם אפשרויות מועטות עד ללא אפשרויות לעדכון נתוני מקור.
סקירת פתרונות
פתרון זה משתמש בשירותי AWS הבאים:
- שער API של אמזון - מארח ומאבטח את ה-writeback REST API שיופעל על ידי QuickSight
- AWS למבדה – מפעיל את פונקציית המחשוב הנדרשת ליצירת ה-hash ופונקציה שנייה לביצוע מאובטח את הכתיבה בחזרה
- אמזון קוויקסייט - מציע לוחות מחוונים של BI ויכולות יצירת הצעות מחיר
- האדום של אמזון - מאחסן הצעות מחיר, מחירים ומערכי נתונים רלוונטיים אחרים
- מנהל סודות AWS - מאחסן ומנהל מפתחות לחתימה על hashes (תקציר הודעות)
למרות שפתרון זה משתמש ב-Amazon Redshift כמאגר הנתונים, ניתן ליישם גישה דומה עם כל מסד נתונים שתומך ביצירת פונקציות מוגדרות על ידי משתמש (UDF) שיכולות להפעיל את Lambda.
האיור הבא מציג את זרימת העבודה לביצוע החזרות מ-QuickSight.
השלב הראשון בפתרון הוא יצירת hash או תקציר הודעות של קבוצת התכונות באמזון Redshift על ידי הפעלת פונקציית Lambda. שלב זה מונע שיבוש בבקשות. כדי ליצור Hash, אמזון Redshift מפעיל את a Scalar Lambda UDF. מנגנון הגיבוב המשמש כאן הוא הפופולרי BLAKE 2 פונקציה (זמינה בספריית Python האשליב). כדי לאבטח עוד יותר את ה-hash, נעשה שימוש ב-keyed hashing, המהווה אלטרנטיבה מהירה ופשוטה יותר קוד אימות הודעות מבוסס hash (HMAC). מפתח זה נוצר ומאוחסן על ידי Secrets Manager ואמור להיות נגיש רק ליישומים מורשים. לאחר יצירת ה-hash המאובטח, הוא מוחזר ל-Amazon Redshift ומשולב בתצוגת אמזון Redshift.
כתיבת הציטוט שנוצר בחזרה לאמזון Redshift מבוצעת על ידי פונקציית ה-writeback Lambda, ונקודת קצה API Gateway REST API נוצרת כדי לאבטח ולהעביר בקשות לפונקציית הכתיבה בחזרה. פונקציית הכתיבה חזרה מבצעת את הפעולות הבאות:
- צור את ה-hash על סמך פרמטרי הקלט של ה-API שהתקבלו מ-QuickSight.
- חתום על הגיבוב על ידי החלת המפתח ממנהל הסודות.
- השווה את ה-hash שנוצר עם ה-hash שהתקבל מפרמטרי הקלט באמצעות שיטת compare_digest הזמינה ב- HMAC מודול.
- לאחר אימות מוצלח, כתוב את הרשומה לטבלת הגשת הצעות המחיר באמזון Redshift.
הסעיף הבא מספק שלבים מפורטים עם מטענים לדוגמה וקטעי קוד.
צור את ה-hash
ה-hash נוצר באמצעות Lambda UDF באמזון Redshift. בנוסף, מפתח מנהל סודות משמש לחתימה על ה-hash. כדי ליצור את ה-hash, בצע את השלבים הבאים:
- צור את מפתח מנהל הסודות מה- ממשק שורת הפקודה של AWS (AWS CLI):
- צור Lambda UDF כדי ליצור hash להצפנה:
- הגדר UDF של אמזון לאדום כדי לקרוא לפונקציית Lambda כדי ליצור hash:
השמיים AWS זהות וניהול גישה לתפקיד (IAM) בשלב הקודם יש לצרף את המדיניות הבאה כדי להיות מסוגל להפעיל את פונקציית Lambda:
- קח את המפתח ממנהל הסודות.
מפתח זה משמש את פונקציית Lambda כדי לאבטח עוד יותר את ה-hash. זה מצוין ב- לקבל_סוד פונקציה בשלב 2.
הגדר מערכי נתונים של Amazon Redshift ב-QuickSight
לוח המחוונים ליצירת הצעות מחיר משתמש בתצוגת ההיסט האדום של אמזון.
צור תצוגת אמזון לאדום המשתמשת בכל העמודות הקודמות יחד עם עמודת ה-hash:
הרשומות ייראו כמו צילום המסך הבא.
התצוגה הקודמת תשמש כמערך הנתונים של QuickSight ליצירת ציטוטים. ניתוח QuickSight ייווצר באמצעות מערך הנתונים. לניתוח כמעט בזמן אמת, אתה יכול להשתמש במצב שאילתה ישירה של QuickSight.
צור משאבי API Gateway
פעולת הכתיבה חוזרת יזומה על ידי QuickSight שמפעילה משאב API Gateway, אשר מפעיל את פונקציית הכתיבה חזרה של Lambda. כתנאי מוקדם ליצירת השדה המחושב ב-QuickSight כדי לקרוא ל-writeback API, תחילה עליך ליצור משאבים אלה.
API Gateway מאבטח ומפעיל את פונקציית ה-writeback Lambda עם הפרמטרים שנוצרו כפרמטרים של מחרוזת שאילתת URL עם תבניות מיפוי. ניתן להימנע מפרמטרי המיפוי על ידי שימוש באינטגרציה של ה-Proxy Lambda.
צור משאב REST API מסוג GET שמשתמש בפונקציות Lambda (שנוצרו בשלב הבא) כסוג האינטגרציה. להנחיות, עיין ב יצירת ממשק API של REST ב-Amazon API Gateway ו הגדר שילובי Lambda ב-API Gateway.
צילום המסך הבא מציג את הפרטים ליצירת פרמטר מחרוזת שאילתה עבור כל פרמטר המועבר ל-API Gateway.
צילום המסך הבא מציג את הפרטים ליצירת פרמטר תבנית מיפוי עבור כל פרמטר המועבר ל-API Gateway.
צור את פונקציית Lambda
צור פונקציית Lambda חדשה עבור שער ה-API להפעיל. פונקציית Lambda מבצעת את השלבים הבאים:
- קבל פרמטרים מ-QuickSight דרך API Gateway ו-hash את הפרמטרים המשורשרים.
דוגמת הקוד הבאה מאחזרת פרמטרים מהקריאה ל-API Gateway באמצעות אובייקט האירוע של הפונקציה Lambda:
הפונקציה מבצעת את לוגיקת הגיבוב כפי שמוצג ב- ליצור hash צעד מוקדם יותר באמצעות הפרמטרים המשורשרים שהועבר על ידי QuickSight.
- השווה את הפלט הגיבוב עם פרמטר הגיבוב.
אם אלה לא תואמים, הכתיבה חזרה לא תתרחש.
- אם ה-hashs תואמים, בצע כתיבה חזרה. בדוק אם יש רשומה בטבלת יצירת הציטוטים על ידי הפקת שאילתה מהטבלה באמצעות הפרמטרים שהועברו מ-QuickSight:
- השלם את הפעולה הבאה בהתבסס על תוצאות השאילתה:
- אם לא קיימת רשומה עבור השילוב הקודם, צור והפעל שאילתת הוספה באמצעות כל הפרמטרים עם הסטטוס כפי שנוצר.
- אם קיימת רשומה עבור השילוב הקודם, צור והפעל שאילתת הוספה עם הסטטוס כמו בבדיקה. נעשה שימוש חוזר ב-quote_Id עבור השילוב הקיים.
צור ויז'ואל של QuickSight
שלב זה כולל יצירת ויז'ואל טבלה המשתמש בשדה מחושב כדי להעביר פרמטרים ל-API Gateway ולהפעיל את פונקציית Lambda הקודמת.
- הוסף שדה מחושב של QuickSight בשם Generate Quote כדי להחזיק את כתובת האתר המתארחת ב-API Gateway שתופעל לכתוב בחזרה את היסטוריית הציטוטים לתוך Amazon Redshift:
- צור ויז'ואל טבלה של QuickSight.
- הוסף שדות נדרשים כגון לקוח, מיומנות ועלות.
- הוסף את השדה Generate Quote מחושב ועצב אותו כהיפר-קישור.
בחירה בקישור הזה תכתוב את הרשומה לאמזון Redshift. זה מוטל על אותו ערך גיבוב שחוזר כאשר פונקציית Lambda מבצעת את ה-hash על הפרמטרים.
צילום המסך הבא מציג דוגמה חזותית של טבלה.
כתוב למסד הנתונים של Amazon Redshift
מפתח מנהל הסודות מובא ומשמש את פונקציית Lambda כדי ליצור את ה-hash להשוואה. הכתיבה חזרה תתבצע רק אם ה-hash תואם ל-hash שעבר בפרמטר.
הטבלה הבאה של אמזון לאדום תתפוס את היסטוריית הציטוטים כפי שהיא מאוכלסת בפונקציית Lambda. רשומות בירוק מייצגות את הרשומות העדכניות ביותר עבור הציטוט.
שיקולים והצעדים הבאים
שימוש ב-hashs מאובטח מונע פגיעה בפרמטרי עומס הנראים בחלון הדפדפן כאשר כתובת האתר לכתיבה חוזרת מופעלת. כדי לאבטח עוד יותר את כתובת האתר לכתיבה חוזרת, תוכל להשתמש בטכניקות הבאות:
- פרוס את REST API ב-VPC פרטי שנגיש רק למשתמשי QuickSight.
- כדי למנוע התקפות שידור חוזר, ניתן ליצור חותמת זמן לצד פונקציית הגיבוב ולהעביר כפרמטר נוסף בכתובת ה-writing-back. לאחר מכן ניתן לשנות את פונקציית ה-backend Lambda כך שתאפשר רק כתיבה לאחור בתוך סף מסוים מבוסס זמן.
- עקוב אחר ה-API Gateway בקרת גישה ו אבטחה שיטות עבודה מומלצות.
- להקל מניעת שירות פוטנציאלית עבור ממשקי API הפונים לציבור.
אתה יכול לשפר עוד יותר את הפתרון הזה כדי להציג טופס מבוסס אינטרנט כאשר כתובת ה-URL לכתובת חזרה נפתחת. ניתן ליישם זאת על ידי יצירה דינמית של טופס HTML בפונקציית Lambda העורפית כדי לתמוך בהזנת מידע נוסף. אם עומס העבודה שלך דורש מספר גבוה של כתיבה חוזרת הדורשת תפוקה גבוהה יותר או במקביל, מאגר נתונים נבנה למטרות כמו מהדורה תואמת אמזון אורורה PostgreSQL יכול להיות בחירה טובה יותר. למידע נוסף, עיין ב הפעלת פונקציית AWS Lambda מאשכול Aurora PostgreSQL DB. לאחר מכן ניתן לסנכרן עדכונים אלה לטבלאות אמזון Redshift באמצעות שאילתות מאוחדות.
סיכום
פוסט זה הראה כיצד להשתמש ב-QuickSight יחד עם Lambda, API Gateway, Secrets Manager ו-Amazon Redshift כדי ללכוד נתוני קלט של משתמשים ולעדכן בצורה מאובטחת את מחסן הנתונים של Amazon Redshift מבלי לעזוב את סביבת QuickSight BI שלך. פתרון זה מבטל את הצורך ביצירת אפליקציה חיצונית או ממשק משתמש עבור פעולות עדכון או הוספת מסד נתונים, ומפחית את תקורה של פיתוח ותחזוקה קשורים. ניתן לאבטח את קריאת ה-API Gateway באמצעות מפתח או אסימון כדי להבטיח שרק שיחות שמקורן ב-QuickSight יתקבלו ב-API Gateway. זה יטופל בפוסטים הבאים.
על הכותבים
סריקנת' בהטי הוא ארכיטקט פתרונות עיקריים מתמחה בעולם עבור Amazon QuickSight. הוא החל את דרכו כיועץ ועבד עבור מספר ארגונים פרטיים וממשלתיים. מאוחר יותר הוא עבד עבור PerkinElmer Health and Sciences & eResearch Technology Inc, שם היה אחראי על עיצוב ופיתוח יישומי אינטרנט עם תעבורה גבוהה, צינורות נתונים ניתנים להרחבה וניתנים לתחזוקה עבור פלטפורמות דיווח המשתמשות בשירותי AWS ומחשוב ללא שרתים.
Raji Sivasubramaniam הוא Sr. Solutions Architect ב-AWS, המתמקד באנליטיקס. Raji מתמחה בארכיטקטורה של פתרונות ניהול נתונים ארגוניים, בינה עסקית ואנליטיקה מקצה לקצה עבור חברות Fortune 500 ו-Fortune 100 ברחבי העולם. יש לה ניסיון מעמיק בנתוני בריאות משולבים וניתוחים עם מגוון רחב של מערכי נתונים רפואיים כולל שוק מנוהל, מיקוד לרופאים וניתוח מטופלים.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoAiStream. Web3 Data Intelligence. הידע מוגבר. גישה כאן.
- הטבעת העתיד עם אדריאן אשלי. גישה כאן.
- קנה ומכירה של מניות בחברות PRE-IPO עם PREIPO®. גישה כאן.
- מקור: https://aws.amazon.com/blogs/big-data/perform-secure-database-write-backs-with-amazon-quicksight/
- :יש ל
- :הוא
- :איפה
- $ למעלה
- 100
- 11
- 13
- 22
- 500
- 7
- 8
- 9
- a
- יכולת
- יכול
- קבלה
- מקובל
- גישה
- נגיש
- לרוחב
- פעולה
- פעולות
- נוסף
- מידע נוסף
- בנוסף
- יתרון
- לאחר
- תעשיות
- להתיר
- לאורך
- בַּצַד
- כְּבָר
- גם
- חלופה
- אמזון בעברית
- אמזון קוויקסייט
- an
- אנליזה
- ניתוח
- לנתח
- ו
- כל
- API
- ממשקי API
- בקשה
- יישומים
- החל
- מריחה
- גישה
- ARE
- טענה
- טיעונים
- AS
- At
- המתקפות
- תכונות
- כּוֹכָב הַשַׁחַר
- אימות
- זמין
- נמנע
- AWS
- AWS למבדה
- בחזרה
- קצה אחורי
- מבוסס
- BE
- כי
- הטוב ביותר
- שיטות עבודה מומלצות
- מוטב
- ענפים
- דפדפן
- לִבנוֹת
- בִּניָן
- עסקים
- מודיעין עסקי
- by
- מחושב
- שיחה
- שיחות
- CAN
- יכולות
- ללכוד
- קריירה
- מקרה
- מסוים
- האתגרים
- לבדוק
- בחירה
- לקוחות
- ענן
- קוד
- טור
- עמודות
- שילוב
- משולב
- מגיע
- חברות
- חברה
- השוואה
- תחרותי
- להשלים
- לחשב
- מחשוב
- לְחַבֵּר
- לשקול
- יועץ
- הקשר
- עלות
- יכול
- מכוסה
- לִיצוֹר
- נוצר
- יוצרים
- כיום
- לקוח
- לקוחות
- לוח מחוונים
- נתונים
- ניהול נתונים
- מחסן נתונים
- מסד נתונים
- מערכי נתונים
- החליט
- בְּרִירַת מֶחדָל
- להפגין
- מניעת שירות
- תכנון
- מְפוֹרָט
- פרטים
- נחוש
- לפתח
- מתפתח
- צעצועי התפתחות
- תקציר
- ישיר
- לא
- באופן דינמי
- e
- כל אחד
- מוקדם יותר
- קל
- קל לשימוש
- השפעה
- או
- מבטל
- מוטבע
- עובדים
- לאפשר
- הצף
- מקצה לקצה
- נקודת קצה
- להגביר את
- להנות
- לְהַבטִיחַ
- מִפְעָל
- סביבה
- Ether (ETH)
- אירוע
- דוגמה
- אלא
- יוצא מן הכלל
- קיימים
- קיים
- ניסיון
- להאריך
- חיצוני
- שקר
- מהר יותר
- מאפיין
- הושג
- בִּדְיוֹנִי
- שדה
- שדות
- תרשים
- פירמה
- ראשון
- התמקדות
- הבא
- בעד
- טופס
- הון עתק
- החל מ-
- פונקציה
- פונקציונלי
- פונקציות
- נוסף
- שער כניסה
- ליצור
- נוצר
- יצירת
- דור
- לקבל
- גלוֹבָּלִי
- עסק גלובלי
- כדור הארץ
- Goes
- ממשלה
- ירוק
- גדל
- לטפל
- לקרות
- שירים
- חשיש
- has has
- יש
- he
- בְּרִיאוּת
- בריאות
- כאן
- גָבוֹהַ
- גבוה יותר
- מאוד
- שֶׁלוֹ
- היסטוריה
- להחזיק
- המארח
- אירח
- מארחים
- איך
- איך
- HTML
- http
- HTTPS
- IAM
- זהות
- if
- יושם
- לייבא
- in
- מעמיק
- בע"מ
- כולל
- כולל
- מוּטָל
- הצביע
- מידע
- חדשנות
- קלט
- תובנות
- הוראות
- משולב
- השתלבות
- ואינטגרציות
- מוֹדִיעִין
- אינטראקטיבי
- מִמְשָׁק
- פנימי
- אל תוך
- להשקיע
- הופעל
- מעורר
- IT
- שֶׁלָה
- עצמו
- מסע
- jpg
- ג'סון
- מפתח
- מפתחות
- מאוחר יותר
- למידה
- עזיבה
- סִפְרִיָה
- כמו
- קו
- קשר
- קְצָת
- מקומי
- הגיון
- נראה
- נראה כמו
- הסתכלות
- מכונה
- למידת מכונה
- לתחזק
- ניתנת לשמירה
- תחזוקה
- עושה
- הצליח
- ניהול
- מנהל
- מצליח
- באופן ידני
- מיפוי
- שוק
- להתאים
- מנגנון
- הודעה
- שיטה
- יכול
- ML
- מצב
- שונים
- מודול
- יותר
- רוב
- מספר
- צריך
- שם
- צורך
- צרכי
- חדש
- פיתרון חדש
- הבא
- לא
- מספר
- אובייקט
- of
- המיוחדות שלנו
- on
- רק
- נפתח
- מבצע
- תפעול
- אפשרויות
- or
- ארגונים
- אחר
- תפוקה
- פרמטר
- פרמטרים
- לעבור
- עבר
- חולה
- לבצע
- מבצע
- רופא
- פלטפורמה
- פלטפורמות
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- מדיניות
- פופולרי
- מְאוּכלָס
- הודעה
- פוסטגרסל
- הודעות
- פוטנציאל
- פרקטיקות
- נוכחות
- למנוע
- מונע
- מחירים
- תמחור
- מנהל
- פְּרָטִי
- מקצועי
- לספק
- מספק
- מתן
- פרוקסי
- פיתון
- להעלות
- קיבלו
- לאחרונה
- שיא
- רשום
- מפחית
- קָשׁוּר
- רלוונטי
- להחליף
- דווח
- לייצג
- לבקש
- בקשות
- לדרוש
- נדרש
- דורש
- משאב
- משאבים
- אחראי
- REST
- תוצאות
- לַחֲזוֹר
- חוזר
- החזרות
- סקירה
- סקר
- תפקיד
- הפעלה
- ריצה
- אותו
- להרחבה
- מדעים
- שְׁנִיָה
- סוד
- סעיף
- לבטח
- מְאוּבטָח
- מאובטח
- מאבטח
- לִרְאוֹת
- נפרד
- ללא שרת
- שרות
- שירותים
- מושב
- סט
- שיתוף
- היא
- משמרת
- צריך
- לְהַצִיג
- הראה
- הופעות
- סִימָן
- דומה
- לפשט
- מְיוּמָנוּת
- פִּתָרוֹן
- פתרונות
- מָקוֹר
- מיוחד
- מתמחה
- ספציפי
- יציב
- החל
- הצהרה
- מצב
- שלב
- צעדים
- חנות
- מאוחסן
- חנויות
- מחרוזת
- סגנון
- כְּנִיעָה
- לאחר מכן
- הצלחה
- מוצלח
- כזה
- תמיכה
- תומך
- שולחן
- מיקוד
- טכניקות
- טכנולוגיה
- תבנית
- תבניות
- עשרות
- זֶה
- השמיים
- שֶׁלָהֶם
- אז
- אלה
- הֵם
- זֶה
- אלפים
- סף
- דרך
- תפוקה
- זמן
- חותם
- ל
- אסימון
- כלים
- מסורתי
- תְנוּעָה
- מופעל
- נָכוֹן
- לנסות
- סוג
- עדכון
- מְעוּדכָּן
- עדכונים
- כתובת האתר
- להשתמש
- מְשׁוּמָשׁ
- משתמש
- ממשק משתמש
- משתמשים
- באמצעות
- אימות
- ערך
- מגוון
- גרסה
- לצפיה
- נראה
- חזותיים
- רוצה
- רוצה
- מחסן
- היה
- דֶרֶך..
- we
- אינטרנט
- יישומי אינטרנט
- המבוסס על האינטרנט
- מתי
- אשר
- רָחָב
- ויקיפדיה
- יצטרך
- עם
- בתוך
- לְלֹא
- עבד
- זרימת עבודה
- כוח עבודה
- עוֹלָם
- לכתוב
- אתה
- זפירנט