Egyéni paraméterek használata Resource Manager-sablonnal
A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics
Tipp.
Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!
Ha a fejlesztési példányhoz társított Git-adattár van, felülbírálhatja a Resource Manager-sablon alapértelmezett Resource Manager-sablonparamétereit a sablon közzétételével vagy exportálásával. Az alábbi esetekben érdemes lehet felülbírálni az alapértelmezett Resource Manager-paraméterkonfigurációt:
Automatizált CI/CD-t használ, és módosítani szeretne néhány tulajdonságot a Resource Manager üzembe helyezése során, de a tulajdonságok alapértelmezés szerint nem paraméterezhetők.
A gyár olyan nagy, hogy az alapértelmezett Resource Manager-sablon érvénytelen, mert több mint a maximálisan engedélyezett paraméterekkel rendelkezik (256).
A 256-os egyéni paraméter korlátjának kezeléséhez három lehetőség közül választhat:
- Használja az egyéni paraméterfájlt, és távolítsa el azokat a tulajdonságokat, amelyek nem igényelnek paraméterezést, azaz olyan tulajdonságokat, amelyek megtartják az alapértelmezett értéket, és így csökkentik a paraméterszámot.
- Az adatfolyam logikájának újrabontása a paraméterek csökkentése érdekében, például a folyamatparaméterek mindegyike ugyanazzal az értékkel rendelkezik, ehelyett csak globális paramétereket használhat.
- Egy adat-előállító felosztása több adat-előállítóra.
Az alapértelmezett Resource Manager-paraméterkonfiguráció felülbírálásához lépjen a Manage hubra, és válassza ki az ARM-sablont a "Forrásvezérlés" szakaszban. Az ARM paraméterkonfigurációs szakaszában kattintson a Szerkesztés ikonra a "Paraméterkonfiguráció szerkesztése" területen a Resource Manager paraméterkonfigurációs kódszerkesztőjének megnyitásához.
Feljegyzés
Az ARM-paraméterkonfiguráció csak "GIT módban" engedélyezett. Jelenleg „élő módban” vagy „Data Factory” módban le van tiltva.
Egyéni Resource Manager-paraméterkonfiguráció létrehozásakor létrejön egy arm-template-parameters-definition.json nevű fájl a Git-ág gyökérmappájában. Pontosan ezt a fájlnevet kell használnia.
Az együttműködési ágból való közzétételkor a Data Factory beolvassa ezt a fájlt, és annak konfigurációjával hozza létre, hogy mely tulajdonságok lesznek paraméterezve. Ha nem található fájl, a rendszer az alapértelmezett sablont használja.
Resource Manager-sablon exportálásakor a Data Factory azt a fájlt olvassa be, amelyiken éppen dolgozik, nem pedig az együttműködési ágból. A fájlt létrehozhatja vagy szerkesztheti egy privát ágból, ahol tesztelheti a módosításokat az ARM-sablon exportálása lehetőség kiválasztásával a felhasználói felületen. Ezután egyesítheti a fájlt az együttműködési ágba.
Feljegyzés
Az egyéni Resource Manager-paraméterkonfiguráció nem módosítja az ARM-sablon 256-os paraméterkorlátját. Lehetővé teszi a paraméteres tulajdonságok számának kiválasztását és csökkentését.
Egyéni paraméterszintaxis
Az alábbiakban néhány útmutatást követünk az egyéni paraméterfájl létrehozásakor, arm-template-parameters-definition.json. A fájl minden entitástípushoz tartalmaz egy szakaszt: eseményindító, folyamat, társított szolgáltatás, adatkészlet, integrációs modul és adatfolyam.
- Adja meg a tulajdonság elérési útját a megfelelő entitástípus alatt.
- A tulajdonságnév
*
beállítása azt jelzi, hogy az alatta lévő összes tulajdonságot paraméterezni szeretné (csak az első szintig, nem rekurzívan). Kivételeket is megadhat ehhez a konfigurációhoz. - Egy tulajdonság értékének sztringként való beállítása azt jelzi, hogy paraméterezni szeretné a tulajdonságot. Használja a következő formátumot:
<action>:<name>:<stype>
.<action>
a következő karakterek egyike lehet:=
azt jelenti, hogy a paraméter alapértelmezett értékeként megtartja az aktuális értéket.-
azt jelenti, hogy ne tartsa meg a paraméter alapértelmezett értékét.|
Az Azure Key Vault titkos kulcsainak különleges esete kapcsolati sztring vagy kulcsokhoz.
<name>
a paraméter neve. Ha üres, akkor a tulajdonság nevét veszi fel. Ha az érték egy-
karakterrel kezdődik, a név rövidül. A rövidítés példáulAzureStorage1_properties_typeProperties_connectionString
a következőre rövidülAzureStorage1_connectionString
: .<stype>
a paraméter típusa. Ha<stype>
üres, az alapértelmezett típus a következőstring
: . Támogatott értékek:string
,securestring
,int
,bool
object
éssecureobject
array
.
- Ha megad egy tömböt a definíciós fájlban, az azt jelzi, hogy a sablon egyező tulajdonsága tömb. A Data Factory a tömb összes objektumán végigfut a tömb integrációs modul objektumában megadott definícióval. A második objektum, egy sztring lesz a tulajdonság neve, amelyet a rendszer az egyes iterációk paraméterének neveként használ.
- A definíciók nem lehetnek erőforráspéldányokra jellemzőek. A definíciók az adott típusú összes erőforrásra vonatkoznak.
- Alapértelmezés szerint minden biztonságos sztring, például a Key Vault titkos kulcsai és a biztonságos sztringek, például kapcsolati sztring, kulcsok és jogkivonatok paraméterezve vannak.
Mintaparaméterezési sablon
Íme egy példa egy Resource Manager-paraméterkonfiguráció megjelenésére. Példákat tartalmaz számos lehetséges használati módra, beleértve a beágyazott tevékenységek paraméterezését egy folyamaton belül, valamint egy társított szolgáltatásparaméter alapértelmezett értékének módosítását.
{
"Microsoft.DataFactory/factories/pipelines": {
"properties": {
"activities": [{
"typeProperties": {
"waitTimeInSeconds": "-::int",
"headers": "=::object",
"activities": [
{
"typeProperties": {
"url": "-:-webUrl:string"
}
}
]
}
}]
}
},
"Microsoft.DataFactory/factories/integrationRuntimes": {
"properties": {
"typeProperties": {
"*": "="
}
}
},
"Microsoft.DataFactory/factories/triggers": {
"properties": {
"typeProperties": {
"recurrence": {
"*": "=",
"interval": "=:triggerSuffix:int",
"frequency": "=:-freq"
},
"maxConcurrency": "="
}
}
},
"Microsoft.DataFactory/factories/linkedServices": {
"*": {
"properties": {
"typeProperties": {
"accountName": "=",
"username": "=",
"connectionString": "|:-connectionString:secureString",
"secretAccessKey": "|"
}
}
},
"AzureDataLakeStore": {
"properties": {
"typeProperties": {
"dataLakeStoreUri": "="
}
}
},
"AzureKeyVault": {
"properties": {
"typeProperties": {
"baseUrl": "|:baseUrl:secureString"
},
"parameters": {
"KeyVaultURL": {
"type": "=",
"defaultValue": "|:defaultValue:secureString"
}
}
}
}
},
"Microsoft.DataFactory/factories/datasets": {
"*": {
"properties": {
"typeProperties": {
"folderPath": "=",
"fileName": "="
}
}
}
},
"Microsoft.DataFactory/factories/credentials" : {
"properties": {
"typeProperties": {
"resourceId": "="
}
}
}
}
Íme egy magyarázat az előző sablon létrehozásának módjáról, erőforrástípus szerinti bontásban.
Pipelines
- Az elérési út
activities/typeProperties/waitTimeInSeconds
bármely tulajdonsága paraméteres. A folyamat minden olyan tevékenysége, amelynek kódszintű tulajdonsága el van nevezvewaitTimeInSeconds
(például aWait
tevékenység) számként van paraméterezve, alapértelmezett névvel. A Resource Manager-sablonban azonban nem lesz alapértelmezett érték. Ez kötelező bemenet lesz a Resource Manager üzembe helyezése során. - Hasonlóképpen egy (például tevékenységben
Web
) nevűheaders
tulajdonság paraméterezése típussalobject
(JObject) történik. Alapértelmezett értéke megegyezik a forrás-előállító értékével.
IntegrationRuntimes
- Az elérési út
typeProperties
alatt lévő összes tulajdonság paraméterezve van a megfelelő alapértelmezett értékekkel. A típustulajdonságok közöttIntegrationRuntimes
például két tulajdonság található:computeProperties
ésssisProperties
. Mindkét tulajdonságtípus a megfelelő alapértelmezett értékekkel és típusokkal (Object) jön létre.
Triggerek
- Alatta
typeProperties
két tulajdonság van paraméterezve. Az első azmaxConcurrency
, amely az alapértelmezett értékhez van megadva, és típusastring
. Az alapértelmezett paraméternévvel<entityName>_properties_typeProperties_maxConcurrency
rendelkezik. - A
recurrence
tulajdonság paraméteres is. Alatta az adott szinten lévő összes tulajdonság sztringként lesz paraméterezve, alapértelmezett értékekkel és paraméternevekkel. Kivételt képez ainterval
tulajdonság, amely típuskéntint
van paraméterezve. A paraméter neve utótaggal<entityName>_properties_typeProperties_recurrence_triggerSuffix
van elnevítve. Hasonlóképpen, afreq
tulajdonság egy sztring, és sztringként van paraméterezve. Afreq
tulajdonság paraméterezése azonban alapértelmezett érték nélkül történik. A név rövidítve és utótagként szerepel. Például:<entityName>_freq
.
LinkedServices
- A társított szolgáltatások egyediek. Mivel a társított szolgáltatások és adathalmazok számos típussal rendelkeznek, típusspecifikus testreszabást is megadhat. Ebben a példában az összes társított szolgáltatás
AzureDataLakeStore
esetében egy adott sablon lesz alkalmazva. Az összes többi (via*
) esetében egy másik sablon lesz alkalmazva. - A
connectionString
tulajdonság paraméterezése értékkéntsecurestring
lesz megadva. Nem lesz alapértelmezett értéke. Rövidített paraméternévvel fog rendelkezni, amelynek utótagjaconnectionString
a következő lesz: . - A tulajdonság
secretAccessKey
történetesen egyAzureKeyVaultSecret
(például egy Amazon S3 társított szolgáltatásban). A rendszer automatikusan paraméterezi Azure Key Vault-titkos kódként, és lekéri a konfigurált kulcstartóból. Magát a kulcstartót is paraméterezheti.
Adathalmazok
- Bár típusspecifikus testreszabás érhető el az adathalmazokhoz, *-szintű konfiguráció nélkül is megadhat konfigurációt. Az előző példában az összes adathalmaztulajdonság
typeProperties
paraméterezve van.
Feljegyzés
Ha az Azure-riasztások és mátrixok konfigurálva vannak egy folyamathoz, azok jelenleg nem támogatottak az ARM-üzemelő példányok paramétereiként. A riasztások és mátrixok új környezetben való ismételt alkalmazásához kövesse a Data Factory monitorozását, a riasztásokat és a mátrixokat.
Alapértelmezett paraméterezési sablon
Az alábbiakban látható az aktuális alapértelmezett paraméterezési sablon. Ha csak néhány paramétert kell hozzáadnia, a sablon közvetlen szerkesztése jó ötlet lehet, mert nem veszíti el a meglévő paraméterezési struktúrát.
{
"Microsoft.DataFactory/factories": {
"properties": {
"globalParameters": {
"*": {
"value": "="
}
}
},
"location": "="
},
"Microsoft.DataFactory/factories/globalparameters": {
"properties": {
"*": {
"value": "="
}
}
},
"Microsoft.DataFactory/factories/pipelines": {
},
"Microsoft.DataFactory/factories/dataflows": {
},
"Microsoft.DataFactory/factories/integrationRuntimes":{
"properties": {
"typeProperties": {
"ssisProperties": {
"catalogInfo": {
"catalogServerEndpoint": "=",
"catalogAdminUserName": "=",
"catalogAdminPassword": {
"value": "-::secureString"
}
},
"customSetupScriptProperties": {
"sasToken": {
"value": "-::secureString"
}
}
},
"linkedInfo": {
"key": {
"value": "-::secureString"
},
"resourceId": "="
},
"computeProperties": {
"dataFlowProperties": {
"externalComputeInfo": [{
"accessToken": "-::secureString"
}
]
}
}
}
}
},
"Microsoft.DataFactory/factories/triggers": {
"properties": {
"pipelines": [{
"parameters": {
"*": "="
}
}
],
"pipeline": {
"parameters": {
"*": "="
}
},
"typeProperties": {
"scope": "="
}
}
},
"Microsoft.DataFactory/factories/linkedServices": {
"*": {
"properties": {
"typeProperties": {
"accountName": "=",
"username": "=",
"userName": "=",
"accessKeyId": "=",
"servicePrincipalId": "=",
"userId": "=",
"host": "=",
"clientId": "=",
"clusterUserName": "=",
"clusterSshUserName": "=",
"hostSubscriptionId": "=",
"clusterResourceGroup": "=",
"subscriptionId": "=",
"resourceGroupName": "=",
"tenant": "=",
"dataLakeStoreUri": "=",
"baseUrl": "=",
"database": "=",
"serviceEndpoint": "=",
"batchUri": "=",
"poolName": "=",
"databaseName": "=",
"systemNumber": "=",
"server": "=",
"url":"=",
"functionAppUrl":"=",
"environmentUrl": "=",
"aadResourceId": "=",
"sasUri": "|:-sasUri:secureString",
"sasToken": "|",
"connectionString": "|:-connectionString:secureString",
"hostKeyFingerprint": "="
}
}
},
"Odbc": {
"properties": {
"typeProperties": {
"userName": "=",
"connectionString": {
"secretName": "="
}
}
}
}
},
"Microsoft.DataFactory/factories/datasets": {
"*": {
"properties": {
"typeProperties": {
"folderPath": "=",
"fileName": "="
}
}
}
},
"Microsoft.DataFactory/factories/managedVirtualNetworks/managedPrivateEndpoints": {
"properties": {
"*": "="
}
}
}
Példa: Meglévő Azure Databricks interaktív fürtazonosító paraméterezése
Az alábbi példa bemutatja, hogyan adhat hozzá egyetlen értéket az alapértelmezett paraméterezési sablonhoz. Csak egy meglévő Azure Databricks interaktív fürtazonosítót szeretnénk hozzáadni egy Databricks-társított szolgáltatáshoz a paraméterfájlhoz. Vegye figyelembe, hogy ez a fájl ugyanaz, mint az előző fájl, kivéve a tulajdonságmezőbe való hozzáadást existingClusterId
Microsoft.DataFactory/factories/linkedServices
.
{
"Microsoft.DataFactory/factories": {
"properties": {
"globalParameters": {
"*": {
"value": "="
}
}
},
"location": "="
},
"Microsoft.DataFactory/factories/pipelines": {
},
"Microsoft.DataFactory/factories/dataflows": {
},
"Microsoft.DataFactory/factories/integrationRuntimes":{
"properties": {
"typeProperties": {
"ssisProperties": {
"catalogInfo": {
"catalogServerEndpoint": "=",
"catalogAdminUserName": "=",
"catalogAdminPassword": {
"value": "-::secureString"
}
},
"customSetupScriptProperties": {
"sasToken": {
"value": "-::secureString"
}
}
},
"linkedInfo": {
"key": {
"value": "-::secureString"
},
"resourceId": "="
}
}
}
},
"Microsoft.DataFactory/factories/triggers": {
"properties": {
"pipelines": [{
"parameters": {
"*": "="
}
}
],
"pipeline": {
"parameters": {
"*": "="
}
},
"typeProperties": {
"scope": "="
}
}
},
"Microsoft.DataFactory/factories/linkedServices": {
"*": {
"properties": {
"typeProperties": {
"accountName": "=",
"username": "=",
"userName": "=",
"accessKeyId": "=",
"servicePrincipalId": "=",
"userId": "=",
"clientId": "=",
"clusterUserName": "=",
"clusterSshUserName": "=",
"hostSubscriptionId": "=",
"clusterResourceGroup": "=",
"subscriptionId": "=",
"resourceGroupName": "=",
"tenant": "=",
"dataLakeStoreUri": "=",
"baseUrl": "=",
"database": "=",
"serviceEndpoint": "=",
"batchUri": "=",
"poolName": "=",
"databaseName": "=",
"systemNumber": "=",
"server": "=",
"url":"=",
"aadResourceId": "=",
"connectionString": "|:-connectionString:secureString",
"existingClusterId": "-"
}
}
},
"Odbc": {
"properties": {
"typeProperties": {
"userName": "=",
"connectionString": {
"secretName": "="
}
}
}
}
},
"Microsoft.DataFactory/factories/datasets": {
"*": {
"properties": {
"typeProperties": {
"folderPath": "=",
"fileName": "="
}
}
}}
}
Kapcsolódó tartalom
- Folyamatos integráció és teljesítés áttekintése
- A folyamatos integráció automatizálása az Azure Pipelines kiadásaival
- Resource Manager-sablon manuális előléptetése az egyes környezetekben
- Csatolt Resource Manager-sablonok
- Gyorsjavítás éles környezet használata
- Üzembe helyezés előtti és utáni példaszkript
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: