Megosztás a következőn keresztül:


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.

Egyéni paraméterek kezelése

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.

Egyéni paraméterek fájlja

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ául AzureStorage1_properties_typeProperties_connectionString a következőre rövidül AzureStorage1_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, boolobjectés secureobject 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 nevezve waitTimeInSeconds (például a Wait 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égbenWeb) nevű headers tulajdonság paraméterezése típussal object (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ött IntegrationRuntimes például két tulajdonság található: computeProperties és ssisProperties. Mindkét tulajdonságtípus a megfelelő alapértelmezett értékekkel és típusokkal (Object) jön létre.

Triggerek

  • Alatta typePropertieskét tulajdonság van paraméterezve. Az első az maxConcurrency, amely az alapértelmezett értékhez van megadva, és típusa string. Az alapértelmezett paraméternévvel <entityName>_properties_typeProperties_maxConcurrencyrendelkezik.
  • 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 a interval tulajdonság, amely típusként intvan paraméterezve. A paraméter neve utótaggal <entityName>_properties_typeProperties_recurrence_triggerSuffixvan elnevítve. Hasonlóképpen, a freq tulajdonság egy sztring, és sztringként van paraméterezve. A freq 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 AzureDataLakeStoreeseté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ént securestring lesz megadva. Nem lesz alapértelmezett értéke. Rövidített paraméternévvel fog rendelkezni, amelynek utótagja connectionStringa következő lesz: .
  • A tulajdonság secretAccessKey történetesen egy AzureKeyVaultSecret (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": "="
                }
            }
        }}
}