د ایمیزون Q ایمبیډینګ پراختیا کونکي سوداګرۍ استخباراتي خدمت
شرطونه
- AWS حساب د QuickSight Q فعال شوی
- لږترلږه یوه موضوع د QuickSight Q سره جوړه شوې (او د دې موضوع موضوع ID)
- د AWS حساب سره د QuickSight سیشن ایمبیډینګ چوکاټ تنظیم کول
- د دې لپاره ورکشاپ: https://learnquicksight.workshop.aws/en/session-embedding.html
- ډاډ ترلاسه کړئ چې ستاسو د ډومین لیست تنظیم کړئ QuickSight پا pageه کې
د ښودلو لپاره د موضوع ټاکل
QuickSight Q ایمبیډینګ د موضوعاتو په اړه د دوه مختلف کارولو قضیې ملاتړ کوي. لومړی هغه وخت دی چې یو واحد موضوع مشخص شي، او یوازې هغه موضوع د لټون بار له لارې پوښتل کیدی شي. دوهم د QuickSight اپلیکیشن کې معیاري تجربه ده، چیرې چې یو کاروونکي د موضوعاتو لیست لري او کولی شي د لټون بار کې د ډراپ ډاون څخه کار واخلي ترڅو هغه موضوع غوره کړي چې دوی یې په اړه پوښتنه کوي. مخکې لدې چې پرمخ لاړشئ ، ډاډ ترلاسه کړئ چې تاسو پوهیږئ چې ایا ستاسو د کارونې قضیه یوې موضوع ته اړتیا لري ، یا په سرایت شوي تجربه کې د موضوعاتو لیست.
د ډومین لیست کول
د QuickSight ایمبیډینګ لارښودونو له مخې، تاسو به وګورئ چې تاسو اړتیا لرئ د 'QuickSight اداره کولو' پاڼې کې د خپل غوښتنلیک ډومین ته اجازه ورکړئ. په نورمال ډول ، دا ټول هغه څه دي چې تاسو یې کولو ته اړتیا لرئ ، مګر د Q په حالت کې موږ به د QuickSight ډومین اجازه لیست ته اضافه کولو ته هم اړتیا ولرو. دا عجیب ښکاري، مګر له دې چې د هود لاندې Q هم د iframe کاروي، موږ اړتیا لرو، لږترلږه د اوس لپاره، د ورته ډومین لیست ته اجازه ورکړو. د QuickSight ډومین چې تاسو ورته اړتیا لرئ لیست ته اړتیا لرئ هغه سیمې پورې اړه لري چې تاسو یې کاروئ. د مثال لپارهample، د `us-east-1» سیمې په کارولو سره سرایت کول، زموږ URL د اجازې لیست به دا وي:
https://us-east-1.quicksight.aws.amazon.com
د URL د نورو سیمو لپاره به ورته وي، د اړونده سیمه ایزې برخې سره (US-East-1) بدل شوی.
د نوې ناستې رامینځته کول URL
لومړی د سرایت کولو چوکاټ برخه چې ناسته رامینځته کوي URL د getSessionEmbed له لارېURL API باید یو څه بدلون ومومي. د QuickSight Q سیشن ایمبیډینګ د معیاري کنسول ایمبیډ شوي تجربې په پرتله په مختلف 'د ننوتلو نقطه' کې ملاتړ کیږي. د دې API لپاره اسناد کیدی شي دلته موندل شوی. د دې API کال لپاره د ننوتلو نقطه پیرامیټر باید بدل شي - د ننوتلو نوې نقطه د موضوع (د) کارولو قضیې پورې اړه لري. د یوې موضوع قضیې لپاره:
entry-point = /q/search/<topicId>
په ټاکونکي کې د ټولو موضوعاتو ښودلو لپاره، موږ به د موضوع ID له منځه یوسو:
entry-point = /q/search
دا باید یو ځل تصدیق شوی تولید کړي URL دا به یوازې د QuickSight Q لټون بار سره یوه پاڼه وړاندې کړي.
د ایمبیډ کولو لپاره د JS SDK کارول
سره URL، موږ کولی شو په غوښتنلیک کې د Q لټون بار ځای په ځای کولو لپاره چمتو شوي QuickSight Embedding Javascript SDK وکاروو. لومړی، ډاډ ترلاسه کړئ چې تاسو یو د SDK کاپي د QuickSight ټیم څخه - یادونه وکړئ ځکه چې دا مخکې دیview فیچر او تراوسه نه دی خپور شوی، SDK به د عامه شتون په پرتله مختلف نسخه وي SDK په ګیتوب کې. موږ به د پیدا شوي ناستې سره د SDK څخه د EmbedSession میتود وکاروو URL. د embedSession فعالیت لپاره اړونده اختیارونه دي (په SDK کې په type.js کې هم موندل شوي):
url: url of the session or dashboard to embed container: parent html element or query selector string errorCallback: callback when error occurs loadCallback: callback when visualization data load complete className: optional className to be given to iframe element isQEmbedded: embeddable object is Q search bar flag maxHeightForQ: height for Q to resize to when it expands onQBarOpenCallback: optional callback for Q search bar open onQBarCloseCallback: optional callback for Q search bar close
دلته دوه اړین دلیلونه دي url او کانتینر. موږ به وکاروو URL د getSessionEmbed څخه تولید شویURL د API کال، او د کانټینر لپاره دا ستاسو په غوښتنلیک پورې اړه لري. تاسو به لږترلږه یو ساده وغواړئ د امبیډ شوي iframe لپاره د 'کنټینر' په توګه؛ دې کانټینر ته id ورکړئ او په SDK دلیلونو کې id کې پاس کړئ. د ډیفالټ سیشن ایمبیډ کولو کال بیکس ، ایرر کال بیک او لوډ کال بیک هغه څه کوي لکه څنګه چې نوم یې وړاندیز کوي - که تاسو
دودیز چلند ته اړتیا لري کله چې سرایت شوی پاڼه پورته شي، یا د یوې تېروتنې سره مخ شي، دا منطق په دې کال بیک کې مشخص کړئ. کله چې د SDK سره د Q ایمبیډ شوي حالت وکاروئ ، نو iframe به یو ثابت لوړوالی وي (په خپله د لټون بار لوړوالی) او د اصلي HTML کانټینر 100٪ عرض وي. دا پدې مانا ده چې د لټون بار به یوازې د کانټینر په څیر پراخه وي؛ تاسو غواړئ ډاډ ترلاسه کړئ چې د لټون بار لږترلږه 600px پلنوالی لري (که له دې څخه ژباړل شوی وي view- عرض/سلنهtage یا مستقیم ګمارل شوی). د iframe سټایل کولو لپاره، د className پیرامیټر په اختیاري توګه هم مشخص کیدی شي.
مهم:
دلته یو کلیدي غږ دا دی چې ډاډ ترلاسه کړئ چې د یا هغه برخه چې تاسو د کانټینر html عنصر په توګه تیریږي د 'پوزیشن: مطلق' سټایل لري. دا هغه څه دي چې د لټون بار ته اجازه ورکوي چې ستاسو د اپلیکیشن مینځپانګې ښکته کولو پرځای د پوښښ په توګه پراخه کړي.
QuickSight Q ایمبیډنګ بدلونونه
د سیشن/ډشبورډ ایمبیډینګ او د Q لټون بار ایمبیډینګ ترمینځ یو څو کلیدي توپیرونه شتون لري (که څه هم اوس مهال Q ایمبیډینګ په ساده ډول د سیشن ایمبیډینګ کاروي). د ډشبورډ او سیشن امبیډینګ سره ، چوکاټ عموما یو واحد اندازه وي ، د ډشبورډ یا تحلیلي شیټ اندازې پراساس د ځینې اندازې کولو مخه نیسي. د Q سره، په پیل کې ستاسو په پاڼه کې سرایت شوی چوکاټ نسبتا کوچنی دی (موږ یوازې د اصلي لټون بار ښودل غواړو). کله چې د لټون بار کارول کیږي، دا چوکاټ پراخولو ته اړتیا لري (د اضافي ښکته کولو عناصرو ښودلو لپاره لکه د لید پایلې، وړاندیزونه، او نور). ستاسو د غوښتنلیک مینځپانګې بدلولو پرته د دې چوکاټ پراخولو لپاره ، موږ دا یوازې د موجوده پا pageې د پوښښ په توګه تنظیم کړی ، لکه څنګه چې نن ورځ د QuickSight غوښتنلیک کې د لټون بار فعالیت کوي - لاندې سکرین شاټونه وګورئ.
د دې په اړه لږ څه سره چې د Q ایمبیډینګ په ذهن کې کار کوي ، راځئ چې د QuickSight Q ځانګړي SDK پیرامیټرې وګورو. لومړی، موږ به isQEmbedded ته اړتیا ولرو ترڅو د ریښتیني په توګه تنظیم شي. maxHeightForQ یو اختیاري دلیل دی چې تر ټولو لوی مشخص کوي چې د Q چوکاټ ستاسو په پاڼه کې کیدی شي؛ لکه څنګه چې مخکې یادونه وشوه، موږ به د پاڼې منځپانګې پراخولو لپاره iframe او دا کانټینر ته اړتیا ولرو. موږ کولی شو د maxHeightForQ دلیل وکاروو ترڅو ډاډ ترلاسه کړو چې چوکاټ/کانټینر ستاسو د پاڼې له اعظمي لوړوالي څخه تیر نشي او د سکرول څرګندیدو یا نورو ناغوښتل چلند لامل شي. که ټاکل شوی نه وي، د Q چوکاټ به 100vh ته بدل شي.
وروستي دوه Q ځانګړي پیرامیټرې د کال بیکس دي چې پیښیږي کله چې سرایت شوي چوکاټ له سره اندازه کیږي. ډیفالټ چلند د شالید عنصر رامینځته کول دي ، او دا د تیاره شالید بڼه ورکولو لپاره وکاروئ چې موږ د QuickSight غوښتنلیک څخه پورته سکرین شاټونو کې ګورو. دا د 'بکس څخه بهر' فعالیت دی چې موږ غواړو چمتو کړو ترڅو د Q امبیډ کول څومره چې ممکنه وي اسانه کړي - په هرصورت، موږ پوهیږو چې دا به د هر غوښتنلیک لپاره کار ونکړي چې Q ورته اړتیا لري. دا چلند له منځه یوسئ، په ساده ډول منطق په onQBarOpenCallback او onQBarCloseCallback کې ولیکئ. دا به د ډیفالټ شالید د ښودلو مخه ونیسي.
د QuickSight Q سټایل کولو اختیارونه
دلته یو څو سټایل / کاسمیټیک اختیارونه شتون لري چې موږ یې د Q لټون بار ظاهري تنظیم کولو لپاره کارولی شو.
qBarIconDisabled: option to hide the Q search bar
qBarTopicNameDisabled: option to hide the Q search bar topic name
themeId: option to apply Quicksight theme to Q search bar
که تاسو غواړئ د `Q' آیکون غیر فعال کړئ (د لټون بار په ښي خوا کې، د qBarIconDisabled پیرامیټر وکاروئ. په ورته ډول، د موضوع نوم غیر فعالولو لپاره، که تاسو یوازې په ایمبیډ شوي حالت کې یو واحد موضوع ښکاره کوئ، د qBarTopicNameDisabled څخه کار واخلئ. پیرامیټر. په یاد ولرئ چې دا کاسمیټیک تخصیص یوازې د قضیې لپاره شتون لري کله چې تاسو یوه موضوع ځای په ځای کوئ.
که تاسو غواړئ چې ایمبیډ شوي Q بار ته موضوع ورکړئ ترڅو ظاهرا ستاسو د غوښتنلیک سره مطابقت ولري، تاسو کولی شئ دا په QuickSight کې د یوې نوې موضوع په رامینځته کولو سره ترسره کړئ او د themeId SDK ته انتقال کړئ (مثلاampلاندې).
Examples
لاندې پخوانيamples به فرض کړي چې په DOM کې یو کانټینر شتون لري چې د q-bar-container id سره شتون لري.
د ډیفالټ شالید چلند سره یوځای کول (د q/لټون لارې سره)
راځئ فرض کړو چې کانټینر د 75px مارجن ټاپ لري، نو موږ به د maxHeightForQ پیرامیټر په کارولو سره د دې لپاره حساب وکړو، ترڅو iframe د پاڼې اجازه ورکولو څخه لوی نه پراخیږي، د سکرول بار یا نور ناغوښتل چلند رامینځته کوي.
function embedQSession(embedUrl) {
var containerDiv = document.getElementById("q-bar-container");
containerDiv.innerHTML = "";
var params = {
url: embedUrl, container: containerDiv,
isQEmbedded: true,
maxHeightForQ: "calc(100vh - 75px)",
};
QuickSightEmbedding.embedSession(params);
}
د معیوب شوي شالید چلند سره یوځای کول (د q/لټون لارې سره)
د دې لپاره پخوانیample موږ به فرض کړو چې کانټینر د پاڼې په سر کې دی نو دا کولی شي پرته له مسلې 100٪ ته پراختیا ورکړي؛ موږ به maxHeightForQ ته اړتیا نلرو. موږ به onQBarOpenCallback او onQBarCloseCallback د no-op افعال په توګه وکاروو ترڅو د ډیفالټ شالید څرګندیدو مخه ونیسي.
function embedQSession(embedUrl) { var containerDiv = document.getElementById("q-bar-container"); containerDiv.innerHTML = "";
var params = {
url: embedUrl, container: containerDiv,
isQEmbedded: true,
onQBarOpenCallback: () => {},
onQBarCloseCallback: () => {},
};
QuickSightEmbedding.embedSession(params);
}
د دودیز شالید چلند سره یوځای کول (د q/لټون لارې سره)
موږ به بیا فرض کړو چې کانټینر د پاڼې په سر کې دی نو دا د مسلې پرته 100٪ ته پراختیا کولی شي؛ موږ به maxHeightForQ ته اړتیا نلرو. موږ به onQBarOpenCallback او onQBarCloseCallback د کال بیک په توګه وکاروو کوم چې زموږ په غوښتنلیک کې ځینې نور بیکډراپ اجزا (کسټم بیکډراپ کمپوننټ) اداره کوي چې موږ یې د ډیفالټ پرځای کارول غواړو. په یاد ولرئ چې ستاسو د شالید کال بیکونه ممکن ډیر پیچلي وي، دا پخوانیampدا یوازې د سادگي لپاره دی.
function onQBarOpen() {
customBackdropComponent.style.height = "100%";
}
function onQBarClose() {
customBackdropComponent.style.height = 0;
}
function embedQSession(embedUrl) {
var containerDiv = document.getElementById("q-bar-container");
containerDiv.innerHTML = "";
var params = {
url: embedUrl,
container: containerDiv,
isQEmbedded: true,
onQBarOpenCallback: () => {},
onQBarCloseCallback: () => {},
};
QuickSightEmbedding.embedSession(params);
}
د ډیفالټ شالید چلند سره یوځای کول (د q/search/topicId لارې سره)
موږ به بیا فرض کړو چې کانټینر د 75px مارجن ټاپ لري، نو موږ به د maxHeightForQ پیرامیټر په کارولو سره د دې لپاره حساب وکړو، ترڅو iframe د پاڼې اجازه ورکولو څخه لوی نه پراخیږي، د سکرول بار یا نور ناغوښتل چلند رامینځته کوي. له هغه ځایه چې موږ د یوې موضوع سره سرایت شوي لټون بار کاروو، موږ کولی شو د qBarIconDisabled او qBarTopicNameDisabled تخصیصونه وکاروو. دا پخوانیample به موږ ته د لټون بار راکړي چې هیڅ عکس یا د موضوع نوم نه لري، د هرې موضوع ID په اړه پوښتنې ته چمتو وي.
فعالیت embedQSession(ایمبیډUrl) {
var containerDiv = document.getElementById("q-bar-کانټینر");
containerDiv.innerHTML = “”;
var params = {
url: سرایت کولUrl,
کانټینر: کانټینر ډیوی
isQEmbedded: رښتیا،
maxHeightForQ: حساب (100vh – 75px)"،
qBarIcon غیر فعال شوی: غلط،
qBarTopicName غیر فعال شوی: غلط،
};
QuickSightEmbedding.embedSession(params);
}
د موضوع ID سره یوځای کول
د QuickSight دننه یوه نوې موضوع جوړه کړئ که تاسو نه لرئ. یو تحلیل خلاص کړئ، یا یو نوی جوړ کړئ. په چپ اړخ کې موضوعات غوره کړئ.
او بیا د سټارټر موضوع څخه یوه غوره کړئ چې تاسو یې غوره کوئ بیا "په توګه خوندي کړئ" کلیک وکړئ. که تاسو دمخه موضوع لرئ ، تاسو ممکن د موضوع رامینځته کولو مرحله پریږدئ.
دا به تاسو د موضوع مدیر پا pageې ته بوځي ، ورته نوم ورکړئ ، رنګ تنظیم کړئ لکه څنګه چې تاسو غواړئ بیا یې په پورتنۍ ښیې خوا کې وساتئ.
اوس چې تاسو یوه موضوع لرئ، تاسو اړتیا لرئ د دې موضوع ID ومومئ او SDK ته یې واستوئ. په هغه موضوع کې چې تاسو یې جوړ کړی "ترمیم" غوره کړئ.
دا به تاسو بیا د موضوع مدیر پا pageې ته بوځي ، مګر دا ځل به تاسو د موضوع id هلته ومومئ url بار پدې حالت کې "d39c0065bf69-4b3d-927b-9dd3a241f094" د یوې موضوع ID دی چې ما رامینځته کړی.
په نهایت کې ، تاسو د موضوع ID د پیرامیټر په توګه SDK ته واستوئ ، نو تاسو به په خپل اپلیکیشن کې د تیم شوي Q بار ترلاسه کړئ.
فعالیت embedQSession(ایمبیډUrl) {
var containerDiv = document.getElementById("q-bar-کانټینر");
containerDiv.innerHTML = “”;
var params = {
url: سرایت کولUrl,
کانټینر: کانټینر ډیوی
isQEmbedded: رښتیا،
maxHeightForQ: "calc(100vh – 75px)"،
qBarIcon غیر فعال شوی: غلط،
qBarTopicName غیر فعال شوی: غلط،
themeId: “d39c0065-bf69-4b3d-927b-9dd3a241f094”
};
QuickSightEmbedding.embedSession(params);
}
د موضوع وړ اجزا
موږ غواړو تاسو ته وښیو چې د Q بار دننه کومې برخې تیم کیدی شي ، او موږ به د QuickSight Midnight موضوع د پخواني په توګه واخلوample (تاسو کولی شئ دا د سټارټر موضوعاتو کې ومومئ)
د ستونزو حل کول
د چوکاټ * څخه انکار وکړ.quicksight.aws.amazon.com ځکه چې یو پلار سرغړونه کوي.. تېروتنه
دا تېروتنه د QuickSight اپلیکیشن کې د QuickSight اډمین پاڼې مدیریت کې ستاسو د ډومین لیست کولو اجازه نه ورکولو له امله رامینځته شوې. ډاډ ترلاسه کړئ چې دواړه سیمه ایز QuickSight ډومین لیست ته اجازه ورکړئ (زموږ لپاره-ختیځ-1، دا دی https://us-east-1.quicksight.aws.amazon.com د مثال لپارهample)، او همدارنګه ستاسو د غوښتنلیک ډومین.
په بریالیتوب سره د ځای پرځای کولو وروسته د لټون بار نشي لیدلی
که تاسو د دې وړتیا لرئ چې په بریالیتوب سره لینک رامینځته کړئ او لاسرسی ومومئ او سرایت وکړئ (د هیڅ اجازې یا نورو څرګند غلطیو پرته) ، مګر د `خالي' سکرین ترلاسه کړئ پرته لدې چې د لټون بار نه څرګندیږي ، د چک کولو لپاره یو څه شیان شتون لري. یو دا چې لږترلږه یوه موضوع باید د هغه کارونکي سره شریکه وي چې تاسو ورسره ځای په ځای کوئ. دوهم، تاسو غواړئ ډاډ ترلاسه کړئ چې لږترلږه یوه موضوع شتون لري چې په بریالیتوب سره رامینځته شوی او په پیل کې د جوړولو وروسته په 'بریالی' حالت کې. د دې ازموینې لپاره اسانه لار دا ده چې یوازې د QuickSight غوښتنلیک کې په Q کې موضوع وکاروئ؛ که دا په نورمال ډول کار کوي، نو دا ښه ده چې په سرایت شوي حالت کې وکاروئ.
بل دلیل چې د لټون بار ممکن نه څرګندیږي دا دی چې هغه کانټینر چې ایفریم پکې شامل وي ممکن کافي عرض نه ورکوي. لکه څنګه چې په اسنادو کې ویل شوي، تاسو غواړئ ډاډ ترلاسه کړئ چې د لټون بار لږترلږه 600px پلنوالی ورکړل شوی ترڅو په نورمال ډول کار وکړي.
د لټون بار پراخیږي مګر مینځپانګه ښکته کوي
د SDK سره د لټون بار په پاڼه کې د هر اضافي منځپانګې په سر کې پراخولو لپاره ډیزاین شوی. که دا قضیه نده، مهرباني وکړئ ډاډ ترلاسه کړئ چې د لټون بار کانټینر د 'پوزیشن: مطلق' سره سټایل شوی، کوم چې دا به اجازه ورکړي چې د پاڼې منځپانګې ښکته نه کړي. د مثال لپارهampLe:
<div id="q-search-container" style="position: absolute; width: 100%"></div>
د SDK بیاکتنې بدلون لاګ
- V1(5/15/21): ابتدايي دود 'Q- چمتو' SDK
- V1.1 (5/25/21)
- د iframe لوړوالی بدل کړئ ترڅو پخپله د لټون بار لوړوالي ته وټاکل شي، کارونکي نشي کولی په Q حالت کې مشخص کړي
- د Q موډ لپاره د اصلي کانټینر 100٪ ته د iframe عرض وټاکئ. په یاد ولرئ چې د لټون بار عرض لاهم د اصلي کانټینر اندازې لخوا محدود کیدی شي.
- V1.1 (5/25/21)
اسناد / سرچینې
![]() |
د ایمیزون Q ایمبیډینګ پراختیا کونکي سوداګرۍ استخباراتي خدمت [pdf] د کارونکي لارښود Q Embedding Developer Business Intelligence Service, Developer Business Intelligence Service, Intelligence Service |