หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
ที่เก็บข้อมูลเป็นองค์ประกอบสําคัญของ SDK เอเจนต์สำหรับ Microsoft 365 ซึ่งช่วยให้ตัวแทนยังคงสถานะการสนทนา ข้อมูลผู้ใช้ และข้อมูลอื่น ๆ ในเซสชัน SDK สนับสนุนตัวเลือกพื้นที่จัดเก็บข้อมูลต่าง ๆ รวมถึง:
- ที่เก็บในหน่วยความจํา
- Azure Cosmos DB
- ที่เก็บข้อมูล Azure Blob
- ผู้ให้บริการที่เก็บข้อมูลแบบกําหนดเอง
ตัวเลือกการจัดเก็บคีย์
SDK ของตัวแทนมีผู้ให้บริการที่เก็บข้อมูลภายในหลายตัว ซึ่งแต่ละตัวมีกรณีการใช้งานและประโยชน์ของตนเอง คุณสามารถเลือกแบบที่เหมาะสมกับความต้องการของเจ้าหน้าที่ของคุณได้ คุณยังสามารถใช้ผู้ให้บริการที่เก็บข้อมูลแบบกําหนดเองของคุณเองได้
ที่เก็บข้อมูลหน่วยความจํา
- เหมาะสําหรับการทดสอบและพัฒนา
- ข้อมูลจะถูกล้างเมื่อตัวแทนรีสตาร์ต ดังนั้นจึงไม่เหมาะสมสําหรับการผลิต
- ข้อมูลจะพร้อมใช้งานบนอินสแตนซ์ของเว็บแอปเท่านั้น ดังนั้นจึงไม่เหมาะสมเมื่อทํางานในคลัสเตอร์
Azure Cosmos DB
- ฐานข้อมูลแบบหลายโมเดลที่กระจายอยู่ทั่วโลกเหมาะสําหรับตัวแทนการผลิต
- รองรับที่เก็บข้อมูลที่มีการแบ่งพาร์ติชันสําหรับความสามารถในการปรับขนาดและประสิทธิภาพการทํางาน
ที่เก็บข้อมูล Azure Blob
- ปรับให้เหมาะสมสําหรับการจัดเก็บข้อมูลที่ไม่มีโครงสร้าง เช่น ข้อความหรือไฟล์ไบนารี
- ใช้ทั่วไปสําหรับที่เก็บข้อมูลสถานะตัวแทนและสําเนาบทสนทนา
ตัวเลือกที่เก็บข้อมูลแบบกําหนดเองโดยการใช้
IStorage
การใช้ผู้ให้บริการพื้นที่เก็บข้อมูลที่แตกต่างกัน
ที่เก็บข้อมูลหน่วยความจํา
ตัวอย่างทั้งหมดใช้MemoryStorage ที่เก็บข้อมูลนี้มีความผันผวนและเหมาะสําหรับการพัฒนาและทดสอบเท่านั้น สําหรับสถานการณ์การผลิต ให้ใช้ตัวเลือกที่เก็บข้อมูลที่มีความทนทานมากขึ้น เช่น Azure Cosmos DB หรือ Azure Blob Storage
ใน Program.cs ให้ลงทะเบียน MemoryStorage:
builder.Services.AddSingleton<IStorage, MemoryStorage>();
ที่เก็บข้อมูล Azure CosmosDb
เพิ่มการขึ้นต่อกันของแพคเกจสําหรับ
Microsoft.Agents.Storage.CosmosDbใน
Program.csให้เพิ่ม (หรือแทนที่การลงทะเบียนที่มีอยู่)IStorageด้วย:builder.Services.AddSingleton<IStorage>(sp => { var options = new CosmosDbPartitionedStorageOptions() { CosmosDbEndpoint = "your-cosmosdb-endpoint", DatabaseId = "your-database-id", ContainerId = "your-container-id", // Get a TokenCredential from your defined Connections TokenCredential = sp.GetService<IConnections>().GetConnection("ServiceConnection").GetTokenCredential() }; return new CosmosDbPartitionedStorage(options); });เรียนรู้เพิ่มเติมใน
CosmosDbPartitionedStorageOptions
ที่เก็บข้อมูล Azure blob
เพิ่มการขึ้นต่อกันของแพคเกจสําหรับ
Microsoft.Agents.Storage.Blobsใน
Program.csให้เพิ่ม (หรือแทนที่การลงทะเบียนที่มีอยู่)IStorageด้วย:builder.Services.AddSingleton<IStorage>(sp => { // Get a TokenCredential from your defined Connections var tokenCredential = sp.GetService<IConnections>().GetConnection("ServiceConnection").GetTokenCredential(); return new BlobsStorage( new Uri("{{your-blobs-storage-endpoint}}/agent-state"), tokenCredential); });