หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
Cosmos DB ใน Microsoft Fabric อาศัยการรับรองความถูกต้องของ Microsoft Entra ID และบทบาทระนาบข้อมูลในตัวเพื่อจัดการการรับรองความถูกต้องและการอนุญาต ในคู่มือนี้ คุณใช้ Microsoft Entra ID และบัญชีที่ลงชื่อเข้าใช้ของคุณเพื่อเชื่อมต่อกับสิ่งประดิษฐ์ Cosmos DB ใน Microsoft Fabric
Important
ขั้นตอนจะคล้ายกับกระบวนการที่ใช้ในการรับรองความถูกต้องหากคุณกําลังใช้บริการ หลักกลุ่ม หรือข้อมูลประจําตัว Microsoft Entra ID ชนิดอื่น เพื่อให้โครงร่างสําคัญของบริการสามารถเชื่อมต่อกับ Microsoft Fabric และฐานข้อมูล Cosmos DB ของคุณ ให้เปิดใช้งาน "บริการหลักสามารถใช้การตั้งค่า Fabric API ในผู้เช่า Fabric ได้ สําหรับข้อมูลเพิ่มเติม ดูการตั้งค่าผู้เช่า Microsoft Fabric การตั้งค่านี้จะเปิดใช้งานตามค่าเริ่มต้นสําหรับลูกค้าใหม่
Prerequisites
ความจุ Fabric ที่มีอยู่
- ถ้าคุณไม่มีความจุ Fabric ให้เริ่มการทดลองใช้ Fabric
ฐานข้อมูล Cosmos DB ที่มีอยู่ใน Fabric
- ถ้าคุณยังไม่มี ให้สร้างฐานข้อมูล Cosmos DB ใหม่ใน Fabric
ข้อมูลประจําตัวที่มีสิทธิ์ อ่าน สําหรับฐานข้อมูลใน Fabric
- สําหรับข้อมูลเพิ่มเติมเกี่ยวกับสิทธิ์ Fabric โปรดดู การควบคุมการเข้าถึง
Azure CLI
- หากคุณยังไม่มี ให้ติดตั้ง Azure CLI
- Python 3.12 หรือใหม่กว่า
- Node.js 22 หรือใหม่กว่า
- .NET SDK 9.0 หรือใหม่กว่า
เรียกใช้จุดสิ้นสุด Cosmos DB
ก่อนอื่น รับจุดสิ้นสุดสําหรับฐานข้อมูล Cosmos DB ใน Fabric จุดสิ้นสุดนี้จําเป็นต้องเชื่อมต่อโดยใช้ Azure SDK
เปิดพอร์ทัล Fabric (https://app.fabric.microsoft.com)
นําทางไปยังฐานข้อมูล Cosmos DB ที่มีอยู่ของคุณ
เลือกตัวเลือก การตั้งค่า ในแถบเมนูสําหรับฐานข้อมูล
ในกล่องโต้ตอบการตั้งค่า ให้ไปที่ส่วนการเชื่อมต่อ จากนั้นคัดลอกค่าของจุดสิ้นสุดสําหรับเขตข้อมูลฐานข้อมูล Cosmos DB NoSQL คุณใช้ค่านี้ในขั้นตอนถัดไป[s]
การรับรองความถูกต้องกับ Azure CLI
ในตอนนี้ ให้รับรองความถูกต้องกับ Azure CLI Azure SDK สามารถใช้กลไกการรับรองความถูกต้องที่แตกต่างกันเพื่อตรวจสอบข้อมูลประจําตัวของคุณ แต่ Azure CLI เป็นตัวเลือกสากลและไม่มีแรงเสียดทานมากที่สุดในภาษานักพัฒนาต่าง ๆ
ในสภาพแวดล้อมการพัฒนาภายในเครื่องของคุณ ให้เปิดเทอร์มินัล
รับรองความถูกต้องกับ Azure CLI โดยใช้
az loginaz loginทําตามขั้นตอนแบบโต้ตอบเพื่อทําการรับรองความถูกต้องแบบหลายปัจจัย (MFA) และเลือกการสมัครใช้งานของคุณ
ตรวจสอบว่าบัญชีของคุณเข้าสู่ระบบเรียบร้อยแล้วโดยการคิวรีข้อมูลประจําตัวของคุณ
az ad signed-in-user showสังเกตผลลัพธ์ของคําสั่งก่อนหน้า เขตข้อมูล
idมี ID โครงร่างสําคัญ (ออบเจ็กต์) ของข้อมูลประจําตัวที่ลงชื่อเข้าใช้ในปัจจุบัน{ "@odata.context": "<https://graph.microsoft.com/v1.0/$metadata#users/$entity>", "businessPhones": [], "displayName": "Kai Carter", "givenName": "Kai", "id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "jobTitle": "Senior Sales Representative", "mail": "<kai@adventure-works.com>", "mobilePhone": null, "officeLocation": "Redmond", "preferredLanguage": null, "surname": "Carter", "userPrincipalName": "<kai@adventure-works.com>" }Note
ในแง่ของ Microsoft Entra ID ข้อมูลประจําตัวนี้เรียกว่า ข้อมูลประจําตัวของมนุษย์ของคุณ ซึ่งเป็นประเภทของข้อมูลประจําตัวที่สามารถเชื่อมต่อกับฐานข้อมูลระหว่างหลายชนิดรวมถึง แต่ไม่จํากัดเพียง:
- ข้อมูลประจําตัวที่มีการจัดการ (ระบบหรือผู้ใช้กําหนด)
- ข้อมูลประจําตัวของปริมาณงาน
- ข้อมูลประจําตัวของแอปพลิเคชัน
- ข้อมูลประจําตัวอุปกรณ์
ในขณะที่ขั้นตอนเหล่านี้มุ่งเน้นไปที่การใช้ข้อมูลประจําตัวของมนุษย์เพื่อเชื่อมต่อกับฐานข้อมูลใน Fabric ขั้นตอนจะคล้ายกันถ้าคุณกําลังเชื่อมต่อโดยใช้ข้อมูลประจําตัวชนิดอื่น สําหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อมูลประจําตัว โปรดดู ข้อมูลพื้นฐานเกี่ยวกับข้อมูลประจําตัว
เชื่อมต่อโดยใช้ Azure SDK
สุดท้าย ใช้ Azure SDK เพื่อเชื่อมต่อกับฐานข้อมูล Cosmos DB ใน Fabric โดยใช้จุดสิ้นสุดและข้อมูลประจําตัวของคุณ Azure SDK มาพร้อมกับไลบรารี ข้อมูลประจําตัว แบบรวมที่จัดการการรับรองความถูกต้องในนามของคุณโดยอัตโนมัติ ขั้นตอนนี้ใช้ DefaultAzureCredential() ชนิด ซึ่งจะค้นหาชนิดข้อมูลประจําตัวที่ถูกต้องตามสภาพแวดล้อมของคุณโดยอัตโนมัติ
Note
ออบเจ็กต์ข้อมูลประจําตัว Azure ไม่ได้รับการสนับสนุนในสมุดบันทึก Microsoft Fabric คุณไม่สามารถใช้เพื่อ DefaultAzureCredential รับรองความถูกต้องกับ Cosmos DB ใน Fabric คุณต้องสร้างออบเจ็กต์ข้อมูลประจําตัวแบบกําหนดเองในสมุดบันทึกของคุณเพื่อรับรองความถูกต้อง สําหรับข้อมูลเพิ่มเติม โปรดดู รับรองความถูกต้องกับ Cosmos DB ใน Microsoft Fabric จาก Fabric Notebooks
from azure.cosmos.aio import CosmosClient
from azure.identity import DefaultAzureCredential
endpoint = "<cosmos-db-fabric-endpoint>"
credential = DefaultAzureCredential()
async with CosmosClient(endpoint, credential=credential) as client:
container = client.get_database_client("<database-name>").get_container_client("<container-name>")
nosql = "SELECT TOP 10 VALUE item.id FROM items AS item"
results = container.query_items(
query=nosql
)
items = []
async for item in results:
items.append(item)
for item in items:
print(item)
Note
ตัวอย่างนี้ใช้ azure-identity แพคเกจ และ azure-cosmos จาก PyPI สังเกตการใช้ azure.cosmos.aio การสนับสนุนแบบอะซิงโครนัส
import { Container, CosmosClient, CosmosClientOptions } from '@azure/cosmos'
import { TokenCredential, DefaultAzureCredential } from '@azure/identity'
const endpoint: string = '<cosmos-db-fabric-endpoint>';
const credential: TokenCredential = new DefaultAzureCredential();
const options: CosmosClientOptions = {
endpoint: endpoint,
aadCredentials: credential
};
const client: CosmosClient = new CosmosClient(options);
const container: Container = client.database('<database-name>').container('<container-name>');
const nosql = 'SELECT TOP 10 VALUE item.id FROM items AS item';
const querySpec = {
query: nosql
};
const response = await container.items.query(querySpec).fetchAll();
for (const item of response.resources) {
console.log(item);
}
Note
ตัวอย่างนี้ใช้ @azure/identity แพคเกจ และ @azure/cosmos จาก npm
using Azure.Identity;
using Microsoft.Azure.Cosmos;
string endpoint = "<cosmos-db-fabric-endpoint>";
DefaultAzureCredential credential = new();
using CosmosClient client = new(endpoint, credential);
Container container = client
.GetDatabase("<database-name>")
.GetContainer("<container-name>");
string sql = "SELECT TOP 10 VALUE item.id FROM items AS item";
QueryDefinition query = new(sql);
FeedIterator<string> iterator = container.GetItemQueryIterator<string>(query);
while (iterator.HasMoreResults)
{
FeedResponse<string> response = await iterator.ReadNextAsync();
foreach (var item in response)
{
Console.WriteLine(item);
}
}
Note
ตัวอย่างนี้ใช้ Azure.Identity แพคเกจ และ Microsoft.Azure.Cosmos จาก NuGet