ซิงโครไนซ์แบบจําลองสเกลออก
บทความนี้อธิบายวิธีการซิงโครไนซ์แบบจําลองความหมายแบบปรับมาตราส่วนออกโดยใช้ PowerShell ในบรรทัดคําสั่งหรือโดยสคริปต์
เมื่อคุณกําลังทํางานกับแบบจําลองความหมายแบบอ่าน-เขียนหลัก และผู้ใช้แบบจําลองเชิงความหมายกําลังใช้แบบจําลองแบบอ่านอย่างเดียว คุณสามารถดําเนินการอัปเดตเมตาดาต้าแบบจําลองเชิงความหมายและการรีเฟรชโดยไม่มีผลกระทบต่อแบบจําลองเหล่านั้น อย่างไรก็ตาม การเปลี่ยนแปลงไปยังแบบจําลองความหมายและการรีเฟรชจะเกิดขึ้นในแบบจําลองความหมายหลัก เมื่อต้องการคัดลอกการเปลี่ยนแปลงไปยังแบบจําลองแบบอ่านอย่างเดียว
ตาม autoSyncReadOnlyReplicas
ค่าเริ่มต้น พารามิเตอร์ถูกตั้งค่าเป็น true
- Power BI จะซิงโครไนซ์แบบจําลองโดยอัตโนมัติ คุณสามารถปิดใช้งานการซิงค์อัตโนมัติตามการตั้งค่าautoSyncReadOnlyReplicas
เป็นfalse
อย่างไรก็ตาม คุณสามารถเลือกที่จะซิงค์ด้วยตนเองโดยใช้ syncStatus
และ sync
REST API
เมื่อต้องการตรวจสอบสถานะการซิงค์ของแบบจําลองของคุณ ให้ใช้ SyncStatus
REST API บทความนี้อธิบายคําสั่ง PowerShell สําหรับการใช้ API นี้
ตรวจสอบสถานะการซิงค์แบบจําลอง
###
# Check the scale-out replica sync status
###
Login-PowerBI | Out-Null
$workspaceId = '<enter workspaceId>'
$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
| Where{$_.Name -match "<enter semantic model name>"} `
| Select-Object -ExpandProperty Id -First 1 `
| ForEach-Object {$_.Guid}
$response = Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId/queryScaleOut/syncStatus" -Method Get | ConvertFrom-Json
$response | Format-List
if ($response.commitVersion -eq $response.minActiveReadVersion)
{
Write-Host "Semantic model read-write and read-only replicas are in sync."
}
else
{
Write-Host "Semantic model read-write and read-only replicas are not in sync." -ForegroundColor Red
}
ถ้า API สถานะการซิงค์ส่งกลับการตอบสนองที่ว่างเปล่า หรือถ้า scaleOutStatus ถูกตั้งค่า เป็น "ไม่พร้อมใช้งาน" ให้ลองโหลดแบบจําลองเชิงความหมายของแบบจําลองเชิงความหมายแบบอ่านได้หรือดําเนินการรีเฟรชบนแบบจําลองเพื่อรับสถานะการซิงค์ล่าสุด
เมื่อต้องการเรียนรู้เพิ่มเติม ดู ชุดข้อมูล - รับคิวรีปรับมาตราส่วนออกสถานะการซิงค์ในกลุ่ม ในการอ้างอิง Power BI REST API
ปิดใช้งานการซิงโครไนซ์แบบจําลองโดยอัตโนมัติ
###
# Disable automatic scale-out replica sync
###
Login-PowerBI | Out-Null
$workspaceId = '<enter workspaceId>'
$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
| Where{$_.Name -match "<enter semantic model name>"} `
| Select-Object -ExpandProperty Id -First 1 `
| ForEach-Object {$_.Guid}
Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" `
-Method Patch -Body '{ "queryScaleOutSettings": { "autoSyncReadOnlyReplicas": false }}'
Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" -Method Get `
| ConvertFrom-Json | Select-Object -ExpandProperty queryScaleOutSettings `
| ForEach {
if($_.autoSyncReadOnlyReplicas -eq $false)
{
Write-Host "Success! Automatic replica synchronization has been disabled."
} else
{
Write-Host "Something went wrong! Automatic replica synchronization is still enabled." -ForegroundColor Red
}
}
การทําข้อมูลให้ตรงกันแบบจําลองด้วยตนเอง (สคริปต์)
###
# Perform a manual replica sync
###
Login-PowerBI | Out-Null
$workspaceId = '<enter workspaceId>'
$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
| Where{$_.Name -match "<enter semantic model name>"} `
| Select-Object -ExpandProperty Id -First 1 `
| ForEach-Object {$_.Guid}
$response = Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId/queryScaleOut/sync" -Method Post -Body "" | ConvertFrom-Json
Write-Host 'Synchronizing the scale-out replicas...' -NoNewLine
while ($response.commitVersion -ne $response.minActiveReadVersion)
{
Write-Host '.' -NoNewLine
Start-Sleep -Seconds 10
$response = Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId/queryScaleOut/syncStatus" -Method Get | ConvertFrom-Json
}
Write-Host 'Completed'
$response
เมื่อต้องการเรียนรู้เพิ่มเติม ดู ชุดข้อมูล - ทริกเกอร์คิวรีการปรับมาตราส่วนออกซิงค์ในกลุ่ม ในการอ้างอิง Power BI REST API
ดําเนินการซิงค์แบบจําลองด้วยตนเอง (บรรทัดคําสั่ง)
ทําตามขั้นตอนเหล่านี้เพื่อซิงค์แบบจําลองโดยใช้ Windows PowerShell:
เปิด PowerShell และเข้าสู่ระบบ Power BI โดยการเรียกใช้คําสั่งนี้:
Login-PowerBI
รับ ID พื้นที่ทํางานของคุณ โดยการเรียกใช้คําสั่งด้านล่าง แทนที่
<WorkspaceName>
ด้วยชื่อของพื้นที่ทํางานของคุณGet-PowerBIWorkspace -Name "<WorkspaceName>" # Replace <WorkspaceName> with the name of your workspace
รับรหัสแบบจําลองความหมายโดยการเรียกใช้คําสั่งด้านล่าง แทนที่
<WorkspaceId>
ด้วย Id ของพื้นที่ทํางานของคุณGet-PowerBIDataset -WorkspaceId "<WorkspaceId>" # Replace <WorkspaceId> with the Id of your workspace
ตรวจสอบสถานะการซิงค์ของแบบจําลองความหมายของคุณโดยใช้คําสั่งด้านล่าง แทนที่ค่า ของ
<WorkspaceId>
และ<DatasetId>
ตามลําดับInvoke-PowerBIRestMethod -Url 'groups/<WorkspaceId>/datasets/<DatasetId>/queryScaleOut/syncStatus' -Method Get | ConvertFrom-Json | Format-List # Replace <WorkspaceId> with the Id of your workspace and <DatasetId> with the Id of your semantic model
ในผลลัพธ์
minActiveReadVersion
ค่า และminActiveReadTimestamp
จะอ้างอิงไปยังแบบจําลองแบบอ่านอย่างเดียว ค่าcommitVersion
และcommitTimestamp
อ้างอิงถึงแบบจําลองความหมายแบบอ่าน-เขียน ความแตกต่างระหว่างแบบจําลองดังกล่าว จะระบุแบบจําลองแบบอ่านอย่างเดียวที่แสดงถึงแบบจําลองความหมายในเวอร์ชันที่เก่ากว่าซิงค์แบบจําลองความหมายแบบอ่าน-เขียนและแบบจําลองแบบอ่านอย่างเดียวโดยใช้คําสั่งต่อไปนี้ แทนที่ค่า ของ
<WorkspaceId>
และ<DatasetId>
ตามลําดับInvoke-PowerBIRestMethod -Url 'groups/<WorkspaceId>/datasets/<DatasetId>/queryScaleOut/sync' -Method Post -Body "" | ConvertFrom-Json | Format-List # Replace <WorkspaceId> with the Id of your workspace and <DatasetId> with the Id of your semantic model
ข้อมูลสถานะการซิงค์ในเอาต์พุตแสดงแบบจําลองความหมายแบบอ่าน-เขียนและแบบจําลองแบบอ่านอย่างเดียวไม่ตรงกัน ซึ่งคาดว่าจะเกิดขึ้นเนื่องจากคุณเพิ่งทริกเกอร์การซิงค์
เมื่อต้องการตรวจสอบว่าการซิงค์เสร็จสมบูรณ์ ให้เรียกใช้
syncStatus
คําสั่งใน ขั้นตอนที่ 4 อีกครั้ง คุณอาจจําเป็นต้องเรียกใช้คําสั่งสองสามครั้ง โดยขึ้นอยู่กับความยาวของเวลาที่ต้องใช้ในการซิงค์สําเนาแบบจําลองความหมาย เมื่อการซิงค์เสร็จสมบูรณ์ ให้ตรวจสอบค่าของsyncStartTime
และsyncEndTime
เพื่อดูว่าการซิงค์ใช้เวลาเท่าไหร่
เมื่อต้องการเรียนรู้เพิ่มเติม ดู ชุดข้อมูล - ทริกเกอร์คิวรีการปรับมาตราส่วนออกซิงค์ในกลุ่ม ในการอ้างอิง Power BI REST API