Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A követő adatbázis funkcióval egy másik fürtben található adatbázist csatolhat az Azure Data Explorer-fürthöz. A követő adatbázisírásvédett módban van csatolva, így megtekintheti az adatokat, és lekérdezéseket futtathat az vezető adatbázisba. A követő adatbázis szinkronizálja a vezető adatbázisok módosításait. A szinkronizálás miatt az adatok rendelkezésre állása néhány másodperc és néhány perc közötti adatelmaradást okoz. Az időeltolódás hossza a vezető adatbázis metaadatainak teljes méretétől függ. A vezető és követő adatbázisok ugyanazt a tárfiókot használják az adatok lekéréséhez. A vezető adatbázis a tárterület tulajdonosa. A követő adatbázis megtekinti az adatokat anélkül, hogy be kellene töltenie azokat. Mivel a csatolt adatbázis írásvédett adatbázis, az adatbázisban lévő adatok, táblák és házirendek nem módosíthatók, kivéve a gyorsítótárazási szabályzat, jogokés jogosultságok. A csatolt adatbázisok nem törölhetők. A vezetőnek vagy követőnek le kell választania az adatbázisokat a törlés előtt.
Az adatbázis egy másik fürthöz való csatolása a követő funkció használatával infrastruktúraként szolgál az adatok megosztásához a szervezetek és a csapatok között. A funkció hasznos a számítási kapacitások elkülönítésére, hogy megvédje a gyártási környezetet a tesztelési célú felhasználástól. A követő az Azure Data Explorer-fürt költségeit is társíthatja az adatokon lekérdezéseket futtató félhez.
Megjegyzés:
A korábbi SDK-verziókon alapuló kódmintákért lásd az archivált cikket.
Mely adatbázisokat követi a rendszer?
A fürtökre az alábbiak vonatkoznak:
- A fürtök egy adatbázist, több adatbázist vagy egy vezető fürt összes adatbázisát követhetik.
- Egyetlen fürt több vezető fürt adatbázisait követheti.
- A fürtök a követő adatbázisokat és a vezető adatbázisokat is tartalmazhatják.
Előfeltételek
- Egy Azure-előfizetés. Hozzon létre egy ingyenes Azure-fiókot.
- Egy Azure Data Explorer-fürt és adatbázis a vezető és követő számára. Hozzon létre egy klasztert és egy adatbázist.
- A vezető adatbázisnak adatokat kell tartalmaznia. Az adatokat beviheted a bevitel áttekintésecímű részben ismertetett módszerek egyikével.
Adatbázis csatolása
Az adatbázisok csatolására többféle módszer is használható. Ebben a cikkben egy adatbázis C#, Python, PowerShell vagy Azure Resource Manager-sablon használatával történő csatolását tárgyaljuk. Adatbázis csatolásához rendelkeznie kell felhasználóval, csoporttal, szolgáltatásnévvel vagy felügyelt identitással, amelyek rendelkeznek legalább közreműködői szerepkörrel az elsődleges fürtön és a másodlagos fürtön. Szerepkör-hozzárendelések hozzáadása vagy eltávolítása Azure Portal, PowerShell-, Azure CLIés ARM-sablonhasználatával. További információ az Azure szerepköralapú hozzáférés-vezérlésről (Azure RBAC) és a különböző szerepkörök.
Megjegyzés:
A követő adatbázis előzetes létrehozása nem szükséges, mivel az a mellékletfolyamat során jön létre.
Táblaszintű megosztás
Adatbázisok csatolásakor a rendszer minden táblát, külső táblát és materializált nézetet is követ. Adott táblákat/külső táblákat/materializált nézeteket a "TableLevelSharingProperties' konfigurálásával oszthat meg.
A TableLevelSharingProperties'nyolc sztringtömböt tartalmaz: tablesToInclude
, tablesToExclude
, externalTablesToInclude
, externalTablesToExclude
, materializedViewsToInclude
, materializedViewsToExclude
, functionsToInclude
és functionsToExclude
. Az összes tömb bejegyzéseinek maximális száma 100.
Megjegyzés:
- A táblaszintű megosztás nem támogatott az összes adatbázis jelölésének *használata esetén.
- Ha materializált nézeteket tartalmaz, a forrástáblák is bekerülnek.
Példák
Az alábbi példa az összes táblát tartalmazza. Alapértelmezés szerint az összes tábla a *jelölés használata nélkül lesz követve:
tablesToInclude = []
Az alábbi példa az összes függvényt tartalmazza. Alapértelmezés szerint az összes függvényt a rendszer a *jelölés használata nélkül követi:
functionsToInclude = []
Az alábbi példa a "Naplók" kezdetű összes táblát tartalmazza:
tablesToInclude = ["Logs*"]
Az alábbi példa az összes külső táblát tartalmazza:
externalTablesToExclude = ["*"]
Az alábbi példa az összes materializált nézetet tartalmazza:
materializedViewsToExclude=["*"]
Adatbázisnév felülbírálása
Igény szerint a követő fürt adatbázisnevét eltérheti a vezetőfürttől. Előfordulhat például, hogy ugyanazt az adatbázisnevet szeretné csatolni több vezető fürttől egy követő fürthöz. Másik adatbázisnév megadásához konfigurálja a 'DatabaseNameOverride' vagy 'DatabaseNamePrefix' tulajdonságot.
Adatbázis csatolása C használatával#
Szükséges NuGet-csomagok
- Telepítse az Azure.ResourceManager.Kusto eszközt.
- Telepítse az Azure.Identity-t hitelesítéshez.
C# példa
var tenantId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //Directory (tenant) ID
var clientId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //Application ID
var clientSecret = "PlaceholderClientSecret"; //Client Secret
var followerSubscriptionId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx";
var credentials = new ClientSecretCredential(tenantId, clientId, clientSecret);
var resourceManagementClient = new ArmClient(credentials, followerSubscriptionId);
var followerResourceGroupName = "followerResourceGroup";
var followerClusterName = "follower";
var subscription = await resourceManagementClient.GetDefaultSubscriptionAsync();
var resourceGroup = (await subscription.GetResourceGroupAsync(followerResourceGroupName)).Value;
var cluster = (await resourceGroup.GetKustoClusterAsync(followerClusterName)).Value;
var attachedDatabaseConfigurations = cluster.GetKustoAttachedDatabaseConfigurations();
var attachedDatabaseConfigurationName = "attachedDatabaseConfiguration"
var leaderSubscriptionId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx";
var leaderResourceGroup = "leaderResourceGroup";
var leaderClusterName = "leader";
var attachedDatabaseConfigurationData = new KustoAttachedDatabaseConfigurationData
{
ClusterResourceId = new ResourceIdentifier($"/subscriptions/{leaderSubscriptionId}/resourceGroups/{leaderResourceGroup}/providers/Microsoft.Kusto/Clusters/{leaderClusterName}"),
DatabaseName = "<databaseName>", // Can be a specific database name in a leader cluster or * for all databases
DefaultPrincipalsModificationKind = KustoDatabaseDefaultPrincipalsModificationKind.Union,
Location = AzureLocation.NorthCentralUS
};
// Table level sharing properties are not supported when using '*' all databases notation.
if (attachedDatabaseConfigurationData.DatabaseName != "*")
{
// Set up the table level sharing properties - the following is just an example.
attachedDatabaseConfigurationData.TableLevelSharingProperties = new KustoDatabaseTableLevelSharingProperties();
attachedDatabaseConfigurationData.TableLevelSharingProperties.TablesToInclude.Add("table1");
attachedDatabaseConfigurationData.TableLevelSharingProperties.TablesToExclude.Add("table2");
attachedDatabaseConfigurationData.TableLevelSharingProperties.ExternalTablesToExclude.Add("exTable1");
attachedDatabaseConfigurationData.TableLevelSharingProperties.ExternalTablesToInclude.Add("exTable2");
attachedDatabaseConfigurationData.TableLevelSharingProperties.MaterializedViewsToInclude.Add("matTable1");
attachedDatabaseConfigurationData.TableLevelSharingProperties.MaterializedViewsToExclude.Add("matTable2");
attachedDatabaseConfigurationData.TableLevelSharingProperties.FunctionsToInclude.Add("func1");
attachedDatabaseConfigurationData.TableLevelSharingProperties.FunctionsToExclude.Add("func2");
}
await attachedDatabaseConfigurations.CreateOrUpdateAsync(WaitUntil.Completed, attachedDatabaseConfigurationName, attachedDatabaseConfigurationData);
Ellenőrizze, hogy az adatbázis sikeresen csatolva lett-e
Az adatbázis sikeres csatolásának ellenőrzéséhez keresse meg a csatolt adatbázisokat az Azure Portal. Ellenőrizheti, hogy az adatbázisok sikeresen csatlakoztak-e a követő vagy vezető klaszterekhez.
Ellenőrizze a követők csoportját
Keresse fel a követő fürtöt, és válassza ki a Adatbázisoklehetőséget.
Az adatbázislistában keressen új írásvédett adatbázisokat.
A listát az adatbázis áttekintési oldalán is megtekintheti:
A vezető klaszter ellenőrzése
Navigáljon a vezető klaszterhez, és válassza ki az Adatbázisok elemet.
Ellenőrizze, hogy a megfelelő adatbázisok meg vannak-e jelölve úgy, hogy MEGOSZTVA MÁSOKKAL>Igen
Kapcsolat részleteinek megtekintése érdekében kapcsolja be vagy ki a hivatkozást.
Ezt az adatbázis áttekintési oldalán is megtekintheti:
A követő adatbázis leválasztása
Megjegyzés:
Ha le szeretne választani egy adatbázist a követő vagy a vezető oldalról, rendelkeznie kell legalább közreműködői szerepkörrel rendelkező felhasználóval, csoporttal, szolgáltatásnévvel vagy felügyelt identitással azon a fürtön, amelyről leválasztja az adatbázist. Az alábbi példában szolgáltatásfelelőst használunk.
A csatolt követő adatbázis leválasztása a követőcsoportról C#** használatával
A követő klaszter az alábbiak szerint leválaszthatja az összekapcsolt követő adatbázist:
var tenantId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //Directory (tenant) ID
var clientId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //Application ID
var clientSecret = "PlaceholderClientSecret"; //Client Secret
var followerSubscriptionId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx";
var credentials = new ClientSecretCredential(tenantId, clientId, clientSecret);
var resourceManagementClient = new ArmClient(credentials, followerSubscriptionId);
var followerResourceGroupName = "testrg";
//The cluster and database attached database configuration are created as part of the prerequisites
var followerClusterName = "follower";
var attachedDatabaseConfigurationsName = "attachedDatabaseConfiguration";
var subscription = await resourceManagementClient.GetDefaultSubscriptionAsync();
var resourceGroup = (await subscription.GetResourceGroupAsync(followerResourceGroupName)).Value;
var cluster = (await resourceGroup.GetKustoClusterAsync(followerClusterName)).Value;
var attachedDatabaseConfiguration = (await cluster.GetKustoAttachedDatabaseConfigurationAsync(attachedDatabaseConfigurationsName)).Value;
await attachedDatabaseConfiguration.DeleteAsync(WaitUntil.Completed);
A csatolt követő adatbázis leválasztása a vezető fürtről C# használatával
A vezető klaszter a következő módon leválaszthatja a csatolt adatbázist:
var tenantId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //Directory (tenant) ID
var clientId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; //Application ID
var clientSecret = "PlaceholderClientSecret"; //Client Secret
var leaderSubscriptionId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx";
var credentials = new ClientSecretCredential(tenantId, clientId, clientSecret);
var resourceManagementClient = new ArmClient(credentials, leaderSubscriptionId);
var leaderResourceGroupName = "testrg";
var leaderClusterName = "leader";
var subscription = await resourceManagementClient.GetDefaultSubscriptionAsync();
var resourceGroup = (await subscription.GetResourceGroupAsync(leaderResourceGroupName)).Value;
var cluster = (await resourceGroup.GetKustoClusterAsync(leaderClusterName)).Value;
var followerSubscriptionId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx";
var followerResourceGroupName = "followerResourceGroup";
//The cluster and attached database configuration that are created as part of the Prerequisites
var followerClusterName = "follower";
var attachedDatabaseConfigurationsName = "attachedDatabaseConfiguration";
var followerDatabaseDefinition = new KustoFollowerDatabaseDefinition(
clusterResourceId: new ResourceIdentifier($"/subscriptions/{followerSubscriptionId}/resourceGroups/{followerResourceGroupName}/providers/Microsoft.Kusto/Clusters/{followerClusterName}"),
attachedDatabaseConfigurationName: attachedDatabaseConfigurationsName
);
await cluster.DetachFollowerDatabasesAsync(WaitUntil.Completed, followerDatabaseDefinition);
Tagok, engedélyek és gyorsítótárazási szabályzat kezelése
Felelős személyek kezelése
Adatbázis csatolásakor adja meg az "alapértelmezett jogosultság módosítási típusát". A felülírásra jogosult vezetők és a engedélyezett vezetők vezetői adatbázis-gyűjteményének kombinálása az alapértelmezett beállítás.
Kedves | Leírás |
---|---|
Unió | A csatolt adatbázisnevek mindig tartalmazzák az eredeti adatbázis-tagokat, valamint a követő adatbázishoz hozzáadott új tagokat. |
Helyettesít | Az eredeti adatbázisból nem történik az entitások öröklődése. Új elveket kell létrehozni a csatolt adatbázishoz. |
Nincs | A csatolt adatbázis elemek csak az eredeti adatbázis elemeit tartalmazzák, más elemek nélkül. |
A felügyeleti parancsok engedélyezett tagok konfigurálására való használatával kapcsolatos további információkért tekintse meg a követő fürtök felügyeletére szolgáló felügyeleti parancsokat.
Engedélyek kezelése
Az írásvédett adatbázis engedélyének kezelése ugyanaz, mint az összes adatbázistípus esetében. Engedélyek hozzárendeléséhez lásd : Adatbázis-engedélyek kezelése az Azure Portalon , vagy felügyeleti parancsok használata az adatbázisbiztonsági szerepkörök kezeléséhez.
Gyorsítótárazási beállítások konfigurálása
A követő adatbázis rendszergazdája módosíthatja a csatolt adatbázis gyorsítótárazási házirendjét vagy az üzemeltetési fürt bármely tábláját. Az alapértelmezett beállítás a forrásadatbázis és a táblaszintű gyorsítótárazási szabályzatok kombinálása az adatbázisban definiált szabályzatokkal és a táblaszintű felülbírálási szabályzatokkal. A vezető adatbázisban például 30 napos gyorsítótárazási szabályzatot használhat a havi jelentéskészítés futtatásához, és egy háromnapos gyorsítótárazási szabályzatot a követő adatbázisban, hogy csak a legutóbbi adatokat kérdezhesse le hibaelhárítás céljából. További információkért arról, hogyan konfigurálható felügyeleti parancsokkal a gyorsítótárazási szabályzat a követő adatbázisban vagy táblában, lásd: Felügyeleti parancsok a követő fürt kezeléséhez.
Jegyzetek
Tekintse át a következő megjegyzéseket:
- Ha ütközések lépnek fel a vezető/követő fürtök adatbázisai között, amikor az összes adatbázist a követő fürt követi, azokat a következőképpen oldjuk fel:
- A követő fürtön létrehozott DB nevű adatbázis elsőbbséget élvez a vezető fürtön létrehozott adatbázissal szemben. Ezért kell eltávolítani vagy átnevezni a követő fürt DB adatbázisát, hogy a követő fürt tartalmazza a vezető DBadatbázisát.
- A DB nevű adatbázist, amelyet két vagy több vezető fürtből követ a rendszer, önkényesen kiválasztják az egyik vezető fürtből, és nem követik többször.
- A fürt tevékenységnaplójának és előzményeinek megjelenítésére szolgáló parancsok, amelyeket a követő fürtön futtatnak, a követő fürt tevékenységeit és előzményeit jelenítik meg, és eredménykészleteik nem tartalmazzák a vezető fürt vagy fürtök eredményeit.
- Például: a
.show queries
követő fürtön futtatott parancs csak azokat a lekérdezéseket jeleníti meg, amelyeket az általa követett adatbázisokon futtatnak, és nem azokat, amelyeket ugyanazon adatbázison a vezető fürtön.
- Például: a
Korlátozások
Tekintse át a következő korlátozásokat:
- A követő és a vezető fürtöknek ugyanabban a régióban kell lenniük.
- Ha a követett adatbázis esetében a Streaming ingestion használatban van, akkor a követő fürtöt is engedélyezni kell a Streaming Ingestion funkcionalitásra, hogy támogassa a streamelő adatok követését.
- A ügyfél által kezelt kulcsokat (CMK) használó adattitkosítással rendelkező fürtök támogatása a következő korlátozásokkal lehetséges:
- A követő fürt vagy a vezető fürt nem követi a többi fürtöt.
- Ha egy követő fürt egy olyan vezetőfürtöt követ, amelyen a CMK engedélyezve van, és visszavonják a vezető hozzáférését a kulcshoz, akkor mind a vezető, mind a követő fürtök fel lesznek függesztve. Ebben az esetben megoldhatja a CMK-problémát, majd újraindíthatja a követő fürtöt, vagy leválaszthatja a követő adatbázisokat a követő fürtről, és folytathatja függetlenül a vezető fürttől.
- Nem törölhet egy adatbázist, amely másik fürthöz van csatolva, mielőtt leválasztaná.
- Nem törölhet olyan fürtöt, amelyhez egy másik fürthöz csatolt adatbázis kapcsolódik, amíg leválasztja azt.
- A táblaszintű megosztási tulajdonságok nem támogatottak az összes adatbázis követésekor.
- A követő adatbázisokban a felügyelt identitást hitelesítési módszerként használó külső táblák lekérdezéséhez hozzá kell adni a felügyelt identitást a követő fürthöz. Ez a képesség nem működik, ha a vezető és követő fürtök különböző bérlőkben vannak kiépítve.