API ที่เก็บข้อมูลภายใน
บทความ 02/20/2024
8 ผู้สนับสนุน
คำติชม
ในบทความนี้
ด้วย API ที่เก็บข้อมูลภายใน คุณสามารถจัดเก็บข้อมูลในที่เก็บข้อมูลภายในของเบราว์เซอร์ได้ หากต้องการใช้ API ที่เก็บข้อมูลภายใน จะต้องเปิดใช้งานสวิตช์ผู้ดูแลระบบที่เก็บข้อมูลภายในของลูกค้า
ที่เก็บข้อมูลภายในถูกแยกจากกัน เพื่อให้วิชวลแต่ละชนิดมีการเข้าถึงที่เก็บข้อมูลแยกต่างหากของตนเอง
หมายเหตุ
เป็นความรับผิดชอบของนักพัฒนาที่ต้องตรวจสอบให้แน่ใจว่าข้อมูลที่จัดเก็บไว้นั้นสอดคล้องกับนโยบายขององค์กรของผู้บริโภคและเพื่อแจ้งให้ผู้ใช้ทราบเกี่ยวกับข้อมูลที่ถูกจัดเก็บหากความอ่อนไหวของข้อมูลจําเป็น โดยเฉพาะอย่างยิ่ง นักพัฒนาวิชวลแบบกําหนดเองควรเข้ารหัสข้อมูลหากเป้าหมายหรือสถานการณ์ทางธุรกิจคาดหวังไว้
วิธีการใช้ที่เก็บข้อมูลภายใน
API ที่ เก็บข้อมูลภายในเวอร์ชันนี้มีการกําหนดเวลาไว้สําหรับการเลิกใช้ เรายังรับคําขอเพิ่มเติมไม่ได้อีกแล้ว เมื่อเป็นไปได้ ให้ใช้เวอร์ชัน 2
ในตัวอย่างต่อไปนี้ ตัวนับจะเพิ่มขึ้นเมื่อใดก็ตามที่มีการเรียกวิธีการอัปเดต ค่าตัวนับจะถูกบันทึกภายในเครื่องและเรียกว่าแต่ละครั้งที่วิชวลเริ่มต้น ด้วยวิธีนี้ ตัวนับยังคงนับจากจุดที่ที่เหลืออยู่ แทนที่จะเริ่มต้นใหม่ทุกครั้งที่เริ่มการแสดงผลด้วยภาพ:
export class Visual implements IVisual {
// ...
private updateCountName: string = 'updateCount';
private updateCount: number;
private storage: ILocalVisualStorageService;
// ...
constructor(options: VisualConstructorOptions) {
// ...
this.storage = options.host.storageService;
// ...
this.storage.get(this.updateCountName).then(count =>
{
this.updateCount = +count;
})
.catch(() =>
{
this.updateCount = 0;
this.storage.set(this.updateCountName, this.updateCount.toString());
});
// ...
}
public update(options: VisualUpdateOptions) {
// ...
this.updateCount++;
this.storage.set(this.updateCountName, this.updateCount.toString());
// ...
}
}
วิธีการเก็บข้อมูลภายในเครื่อง
API ที่เก็บข้อมูลภายในเครื่องมีสี่วิธี:
วิธีการใช้ API ที่เก็บข้อมูลภายใน
หากต้องการใช้ API ที่เก็บข้อมูลภายใน ให้เพิ่มการประกาศไปยัง อาร์เรย์สิทธิ์ในความสามารถของวิชวล
ตัวอย่างต่อไปนี้แสดงวิธีการตั้งค่าและดึงข้อมูลจากที่เก็บข้อมูลภายในโดยใช้ API ที่เก็บข้อมูลภายในเวอร์ชัน 2:
import IVisualLocalStorageV2Service = powerbi.extensibility.IVisualLocalStorageV2Service;
import StorageV2ResultInfo = powerbi.extensibility.StorageV2ResultInfo;
import PrivilegeStatus = powerbi.PrivilegeStatus;
export class Visual implements IVisual {
// ...
private updateCountName: string = 'updateCount';
private updateCount: number;
private storageV2Service: IVisualLocalStorageV2Service;
constructor(options: VisualConstructorOptions) {
this.storageV2Service = options.host.storageV2Service;
this.init();
}
private async init() {
try {
let status: powerbi.PrivilegeStatus = await this.storageV2Service.status();
if (status === PrivilegeStatus.DisabledByAdmin) {
//handle if the api blocked by admin
} else if (status === PrivilegeStatus.Allowed) {
this.updateCount = await this.storageV2Service.get(this.updateCountName);
}
} catch (error) {
//handle error
}
}
private async updateCount(count: number) {
try {
let status: PrivilegeStatus = await this.storageV2Service.status();
if (status === PrivilegeStatus.Allowed) {
let resultInfo: StorageV2ResultInfo = this.storageV2Service.set(this.updateCountName, count);
if (resultInfo.success) {
//updateCount was set.
} else {
}
}
} catch (error) {
// handle error
}
}
private async removeUpdateCount() {
let status: PrivilegeStatus = await this.storageV2Service.status();
if (status === PrivilegeStatus.Allowed) {
this.storageV2Service.remove(this.updateCountName);
}
}
}
ข้อควรพิจารณาและข้อจำกัด
ขีดจํากัดที่เก็บข้อมูลภายในคือ 1 เมกะไบต์ต่อ GUID
ข้อมูลสามารถแชร์ระหว่างวิชวลที่มี GUID เดียวกันเท่านั้น
ไม่สามารถแชร์ข้อมูลกับอินสแตนซ์อื่นของ Power BI Desktop ได้
API ที่เก็บข้อมูลภายในจะไม่ถูกเปิดใช้งานตามค่าเริ่มต้น หากต้องการเปิดใช้งานสําหรับวิชวล Power BI ของคุณ ให้ส่งคําขอไปยังฝ่ายสนับสนุน pbicvsupport@microsoft.com
วิชวล Power BI
API ที่เก็บข้อมูลภายในไม่รองรับ await
การสร้าง อนุญาตเฉพาะ และ catch
วิธีการ เท่านั้นthen
วิชวลของคุณควรพร้อมใช้งานใน AppSource และได้รับการรับรอง
ขีดจํากัดพื้นที่จัดเก็บภายในของวิชวลแบบกําหนดเองคือ 100 KB
ข้อมูลสามารถแชร์ระหว่างวิชวลที่มี GUID เดียวกัน สภาพแวดล้อมเดียวกัน และสําหรับผู้ใช้เดียวกันเท่านั้น
API ได้รับการสนับสนุนในสภาพแวดล้อมต่อไปนี้:
เว็บ
เดสก์ท็อป
SaaS Embed
มือถือ
เซิร์ฟเวอร์รายงาน
ที่เก็บข้อมูลภายในไม่ได้รับการรองรับเมื่อส่งออกเป็น PDF หรือ pptx
API ได้รับการสนับสนุนเฉพาะเมื่อผู้ใช้ลงชื่อเข้าใช้
ข้อมูลของวิชวลจะถูกล้างออก 29 วันหลังจากเวลาการแก้ไขล่าสุด
API นี้เป็น API ที่ มีสิทธิ์พิเศษ
คีย์ (พารามิเตอร์ที่มีให้เพื่อตั้งค่า รับ ลบ ) มีข้อจํากัดดังต่อไปนี้:
ความยาวต้องมีน้อยกว่า 128 อักขระ
ไม่สามารถมีอักขระ '|' ได้
หากเบราว์เซอร์อยู่ในโหมด kiosk ความพร้อมใช้งานของที่เก็บข้อมูลภายในอาจแตกต่างกันระหว่างเบราว์เซอร์และการตั้งค่าของเจ้าของคีออส
มีหลายสาเหตุที่ API นี้อาจไม่ได้รับการสนับสนุน ตัวอย่างเช่น สภาพแวดล้อมอาจไม่ได้รับการสนับสนุน หรือที่เก็บข้อมูลภายในเครื่องของเบราว์เซอร์ไม่พร้อมใช้งาน เราขอแนะนําให้ตรวจสอบสถานะของ API ก่อนที่จะใช้วิธีการตั้งค่า/รับ/ลบออก การจัดการข้อผิดพลาดเป็นสิ่งสําคัญเนื่องจากแม้ว่า API จะสนับสนุนแต่อาจล้มเหลว
เนื้อหาที่เกี่ยวข้อง