Kontinuální integrace a průběžné doručování pro pracovní prostor Azure Synapse Analytics
Kontinuální integrace (CI) je proces automatizace sestavování a testování kódu pokaždé, když člen týmu potvrdí změnu správy verzí. Průběžné doručování (CD) je proces sestavování, testování, konfigurace a nasazování z více testovacích nebo přípravných prostředí do provozního prostředí.
V pracovním prostoru Azure Synapse Analytics přesouvá CI/CD všechny entity z jednoho prostředí (vývojového, testovacího, provozního) do jiného prostředí. Přenesení pracovního prostoru do jiného pracovního prostoru je proces skládající se ze dvou částí. Nejprve pomocí šablony Azure Resource Manageru (šablona ARM) vytvořte nebo aktualizujte prostředky pracovního prostoru (fondy a pracovní prostor). Pak migrujte artefakty, jako jsou skripty SQL a poznámkové bloky, definice úloh Sparku, kanály, datové sady a další artefakty pomocí nástrojů pro nasazení pracovního prostoru Synapse v Azure DevOps nebo na GitHubu.
Tento článek popisuje, jak pomocí kanálu verze Azure DevOps a GitHub Actions automatizovat nasazení pracovního prostoru Azure Synapse do několika prostředí.
Požadavky
Pokud chcete automatizovat nasazení pracovního prostoru Azure Synapse do více prostředí, musí být splněné následující požadavky a konfigurace. Podle vašich preferencí nebo stávajícího nastavení můžete použít Azure DevOps nebo GitHub.
Azure DevOps
Pokud používáte Azure DevOps:
- Připravte projekt Azure DevOps na spuštění kanálu verze.
- Udělte všem uživatelům, kteří budou kontrolovat základní přístup ke kódu na úrovni organizace, aby viděli úložiště.
- Udělte vlastníkovi oprávnění k úložišti Azure Synapse.
- Ujistěte se, že jste vytvořili místního agenta virtuálního počítače Azure DevOps nebo používáte agenta hostovaného v Azure DevOps.
- Udělte oprávnění k vytvoření připojení služby Azure Resource Manager pro skupinu prostředků.
- Správce Microsoft Entra musí nainstalovat rozšíření agenta nasazení pracovního prostoru Azure DevOps Synapse v organizaci Azure DevOps.
- Vytvořte nebo nominujte existující účet služby, aby se kanál spustil jako. Místo účtu služby můžete použít osobní přístupový token, ale vaše kanály po odstranění uživatelského účtu nebudou fungovat.
GitHub
Pokud používáte GitHub:
- Vytvořte úložiště GitHubu, které obsahuje artefakty pracovního prostoru Azure Synapse a šablonu pracovního prostoru.
- Ujistěte se, že jste vytvořili místního spouštěče nebo používáte spouštěč hostovaný na GitHubu.
Microsoft Entra ID
- Pokud používáte instanční objekt, vytvořte v Microsoft Entra ID instanční objekt, který se použije k nasazení.
- Pokud používáte spravovanou identitu, povolte spravovanou identitu přiřazenou systémem na virtuálním počítači v Azure jako agenta nebo spouštěče a pak ji přidejte do Azure Synapse Studia jako správce Synapse.
- K dokončení těchto akcí použijte roli správce Microsoft Entra.
Azure Synapse Analytics
Poznámka:
Tyto požadavky můžete automatizovat a nasazovat pomocí stejného kanálu, šablony ARM nebo Azure CLI, ale tyto procesy nejsou popsané v tomto článku.
Zdrojový pracovní prostor, který se používá pro vývoj, musí být nakonfigurovaný s úložištěm Git v nástroji Azure Synapse Studio. Další informace najdete v tématu Správa zdrojového kódu v nástroji Azure Synapse Studio.
Nastavení prázdného pracovního prostoru pro nasazení do:
- Vytvořte nový pracovní prostor Azure Synapse.
- Udělte instančnímu objektu následující oprávnění k novému pracovnímu prostoru Synapse:
- Microsoft.Synapse/workspaces/integrationruntimes/write
- Microsoft.Synapse/workspaces/operationResults/read
- Microsoft.Synapse/workspaces/read
- V pracovním prostoru nekonfigurujte připojení úložiště Git.
- V pracovním prostoru Azure Synapse přejděte do části Správa>řízení přístupu v sadě Studio.> Přiřaďte instančnímu objektu vydavatele Synapse Artifact Publisher. Pokud kanál nasazení bude muset nasadit spravované privátní koncové body, přiřaďte místo toho správce Synapse.
- Pokud používáte propojené služby, jejichž informace o připojení jsou uložené ve službě Azure Key Vault, doporučujeme zachovat samostatné trezory klíčů pro různá prostředí. Můžete také nakonfigurovat samostatné úrovně oprávnění pro každý trezor klíčů. Můžete například chtít, aby členové vašeho týmu měli oprávnění k produkčním tajným kódům. Pokud postupujete podle tohoto přístupu, doporučujeme zachovat stejné názvy tajných kódů ve všech fázích. Pokud zachováte stejné názvy tajných kódů, nemusíte parametrizovat jednotlivé připojovací řetězec napříč prostředími CI/CD, protože jedinou věcí, kterou změníte, je název trezoru klíčů, což je samostatný parametr.
Další předpoklady
- Fondy Sparku a místní prostředí Integration Runtime se nevytvoří v úloze nasazení pracovního prostoru. Pokud máte propojenou službu, která používá místní prostředí Integration Runtime, ručně vytvořte modul runtime v novém pracovním prostoru.
- Pokud jsou položky v pracovním prostoru pro vývoj připojené ke konkrétním fondům, ujistěte se, že vytvoříte nebo parametrizujete stejné názvy fondů v cílovém pracovním prostoru v souboru parametrů.
- Pokud jsou zřízené fondy SQL pozastavené při pokusu o nasazení, nasazení může selhat.
Další informace najdete v tématu CI/CD ve službě Azure Synapse Analytics – část 4 – Kanál verze.
Nastavení kanálu verze v Azure DevOps
V této části se dozvíte, jak nasadit pracovní prostor Azure Synapse v Azure DevOps.
V Azure DevOps otevřete projekt, který jste vytvořili pro vydání.
V nabídce vlevo vyberte Verze kanálů>.
Vyberte New pipeline (Nový kanál). Pokud máte existující kanály, vyberte Nový>kanál verze.
Vyberte prázdnou šablonu úlohy .
Do pole Název fáze zadejte název vašeho prostředí.
Vyberte Přidat artefakt a pak vyberte úložiště Git, které je nakonfigurované pomocí nástroje Azure Synapse Studio ve vašem vývojovém prostředí. Vyberte úložiště Git, ve kterém spravujete fondy a šablonu ARM pracovního prostoru. Pokud jako zdroj používáte GitHub, vytvořte pro svůj účet GitHub připojení služby a úložiště vyžádané replikace. Další informace najdete v tématu Připojení služeb.
Vyberte větev šablony ARM prostředku. Jako výchozí verzi vyberte Nejnovější z výchozí větve.
Pro výchozí větev artefaktů vyberte větev publikování úložiště nebo jiné nepublikované větve, které obsahují artefakty Synapse. Ve výchozím nastavení je
workspace_publish
větev publikování . Jako výchozí verzi vyberte Nejnovější z výchozí větve.
Nastavení úlohy fáze pro šablonu ARM pro vytvoření a aktualizaci prostředku
Pokud máte šablonu ARM, která nasadí prostředek, například pracovní prostor Azure Synapse, Spark a fond SQL nebo trezor klíčů, přidejte úlohu nasazení Azure Resource Manageru pro vytvoření nebo aktualizaci těchto prostředků:
V zobrazení fáze vyberte Zobrazit úkoly fáze.
Vytvořte nový úkol. Vyhledejte nasazení šablony ARM a pak vyberte Přidat.
Na kartě Úlohy nasazení vyberte předplatné, skupinu prostředků a umístění pracovního prostoru. V případě potřeby zadejte přihlašovací údaje.
V části Akce vyberte Vytvořit nebo aktualizovat skupinu prostředků.
V šabloně vyberte tlačítko se třemi tečky (...). Přejděte do šablony ARM pracovního prostoru.
V části Parametry šablony vyberte ... a zvolte soubor parametrů.
V části Přepsat parametry šablony vyberte ...a zadejte hodnoty parametrů, které chcete použít pro pracovní prostor.
V režimu nasazení vyberte Přírůstkové.
(Volitelné) Přidejte Azure PowerShell pro udělení a aktualizujte přiřazení role pracovního prostoru. Pokud k vytvoření pracovního prostoru Azure Synapse použijete kanál verze, instanční objekt kanálu se přidá jako výchozí správce pracovního prostoru. Spuštěním PowerShellu můžete udělit ostatním účtům přístup k pracovnímu prostoru.
Upozorňující
V úplném režimu nasazení se odstraní prostředky ve skupině prostředků, které nejsou zadané v nové šabloně ARM. Další informace najdete v tématu Režimy nasazení Azure Resource Manageru.
Nastavení úlohy fáze pro nasazení artefaktů Azure Synapse
Pomocí rozšíření nasazení pracovního prostoru Synapse můžete nasadit další položky v pracovním prostoru Azure Synapse. Mezi položky, které můžete nasadit, patří datové sady, skripty SQL a poznámkové bloky, definice úloh Sparku, prostředí Integration Runtime, tok dat, přihlašovací údaje a další artefakty v pracovním prostoru.
Instalace a přidání rozšíření nasazení
Vyhledejte a získejte rozšíření z Webu Visual Studio Marketplace.
Vyberte organizaci Azure DevOps, do které chcete rozšíření nainstalovat.
Ujistěte se, že instančnímu objektu kanálu Azure DevOps bylo uděleno oprávnění Předplatné a že je přiřazený jako správce pracovního prostoru Synapse pro daný pracovní prostor.
Pokud chcete vytvořit novou úlohu, vyhledejte nasazení pracovního prostoru Synapse a pak vyberte Přidat.
Konfigurace úlohy nasazení
Úloha nasazení podporuje tři typy operací, pouze ověření, nasazení a ověření a nasazení.
Poznámka:
Toto rozšíření nasazení pracovního prostoru není zpětně kompatibilní. Ujistěte se, že je nainstalovaná a použitá nejnovější verze. Poznámku k verzi si můžete přečíst v přehleduv Azure DevOps a nejnovější verzi v akci GitHubu.
Ověřením je ověření artefaktů Synapse v nepublikované větvi pomocí úlohy a vygenerování šablony pracovního prostoru a souboru šablony parametrů. Operace ověření funguje pouze v kanálu YAML. Tady je ukázkový soubor YAML:
pool:
vmImage: ubuntu-latest
resources:
repositories:
- repository: <repository name>
type: git
name: <name>
ref: <user/collaboration branch>
steps:
- checkout: <name>
- task: Synapse workspace deployment@2
continueOnError: true
inputs:
operation: 'validate'
ArtifactsFolder: '$(System.DefaultWorkingDirectory)/ArtifactFolder'
TargetWorkspaceName: '<target workspace name>'
Ověření a nasazení lze použít k přímému nasazení pracovního prostoru z nepublikované větve s kořenovou složkou artefaktu.
Poznámka:
Úloha nasazení musí stáhnout soubory JS závislostí z tohoto koncového bodu web.azuresynapse.net , pokud je typ operace vybrán jako Ověřit nebo Ověřit a nasadit. Ujistěte se, že koncový bod web.azuresynapse.net povolený, pokud jsou na virtuálním počítači povolené zásady sítě.
Operace ověření a nasazení funguje v klasickém kanálu i v kanálu YAML. Tady je ukázkový soubor YAML:
pool:
vmImage: ubuntu-latest
resources:
repositories:
- repository: <repository name>
type: git
name: <name>
ref: <user/collaboration branch>
steps:
- checkout: <name>
- task: Synapse workspace deployment@2
continueOnError: true
inputs:
operation: 'validateDeploy'
ArtifactsFolder: '$(System.DefaultWorkingDirectory)/ArtifactFolder'
TargetWorkspaceName: 'target workspace name'
azureSubscription: 'target Azure resource manager connection name'
ResourceGroupName: 'target workspace resource group'
DeleteArtifactsNotInTemplate: true
OverrideArmParameters: >
-key1 value1
-key2 value2
Nasazení vstupů nasazení operace zahrnuje šablonu pracovního prostoru Synapse a šablonu parametrů, kterou je možné vytvořit po publikování ve větvi publikování pracovního prostoru nebo po ověření. Je to stejné jako verze 1.x.
Typy operací můžete zvolit na základě případu použití. Následující část je příkladem nasazení.
V úloze vyberte typ operace jako Nasadit.
V úkolu vedle šablony vyberte ... a zvolte soubor šablony.
Vedle parametrů šablony vyberte ... a zvolte soubor parametrů.
Vyberte připojení, skupinu prostředků a název pracovního prostoru.
Vedle možnosti Přepsat parametry šablony vyberte ... . Zadejte hodnoty parametrů, které chcete použít pro pracovní prostor, včetně připojovací řetězec a klíčů účtu, které se používají ve vašich propojených službách. Další informace najdete v tématu CI/CD ve službě Azure Synapse Analytics.
Nasazení spravovaného privátního koncového bodu je podporováno pouze ve verzi 2.x. Ujistěte se, že jste vybrali správnou verzi a zkontrolovali v šabloně nasazení spravovaných privátních koncových bodů.
Ke správě aktivačních událostí můžete použít přepínač triggeru k zastavení triggerů před nasazením. Můžete také přidat úlohu, která triggery restartuje po úloze nasazení.
Důležité
Ve scénářích CI/CD musí být typ prostředí Integration Runtime v různých prostředích stejný. Pokud máte například místní prostředí Integration Runtime ve vývojovém prostředí, musí být stejné prostředí Integration Runtime hostované v jiných prostředích, například v testovacím a produkčním prostředí. Podobně pokud sdílíte prostředí Integration Runtime napříč několika fázemi, musí být prostředí Integration Runtime propojená a hostovaná ve všech prostředích, jako je vývoj, testování a produkční prostředí.
Vytvoření verze pro nasazení
Po uložení všech změn můžete výběrem možnosti Vytvořit verzi vytvořit ručně. Informace o automatizaci vytváření verzí najdete v tématu Triggery vydané verze Azure DevOps.
Nastavení verze v GitHub Actions
V této části se dozvíte, jak vytvářet pracovní postupy GitHubu pomocí GitHub Actions pro nasazení pracovního prostoru Azure Synapse.
Pomocí šablony GitHub Actions pro Azure Resource Manager můžete automatizovat nasazení šablony ARM do Azure pro pracovní prostor a fondy výpočetních prostředků.
Soubor pracovního postupu
Definujte pracovní postup GitHub Actions v souboru YAML (.yml) v cestě /.github/workflows/ ve vašem úložišti. Definice obsahuje různé kroky a parametry, které tvoří pracovní postup.
Soubor .yml má dvě části:
Sekce | Úlohy |
---|---|
Authentication | 1. Definujte instanční objekt. 2. Vytvořte tajný kód GitHubu. |
Nasazení | Nasaďte artefakty pracovního prostoru. |
Konfigurace tajných kódů GitHub Actions
Tajné kódy GitHub Actions jsou proměnné prostředí, které jsou šifrované. Každý, kdo má k tomuto úložišti oprávnění spolupracovníka, může tyto tajné kódy použít k interakci s akcemi v úložišti.
V úložišti GitHub vyberte kartu Nastavení a pak vyberte> Tajný kód nového úložiště.
Přidejte nový tajný klíč pro ID klienta a přidejte nový tajný klíč klienta, pokud pro nasazení používáte instanční objekt. Můžete se také rozhodnout uložit ID předplatného a ID tenanta jako tajné kódy.
Přidání pracovního postupu
V úložišti GitHub přejděte na Akce.
Vyberte Nastavit pracovní postup sami.
V souboru pracovního postupu odstraňte všechno za oddílem
on:
. Váš zbývající pracovní postup může například vypadat jako v tomto příkladu:name: CI on: push: branches: [ master ] pull_request: branches: [ master ]
Přejmenujte pracovní postup. Na kartě Marketplace vyhledejte akci nasazení pracovního prostoru Synapse a pak přidejte akci.
Nastavte požadované hodnoty a šablonu pracovního prostoru:
name: workspace deployment on: push: branches: [ publish_branch ] jobs: release: # You also can use the self-hosted runners. runs-on: windows-latest steps: # Checks out your repository under $GITHUB_WORKSPACE, so your job can access it. - uses: actions/checkout@v2 - uses: azure/synapse-workspace-deployment@release-1.0 with: TargetWorkspaceName: 'target workspace name' TemplateFile: './path of the TemplateForWorkspace.json' ParametersFile: './path of the TemplateParametersForWorkspace.json' OverrideArmParameters: './path of the parameters.yaml' environment: 'Azure Public' resourceGroup: 'target workspace resource group' clientId: ${{secrets.CLIENTID}} clientSecret: ${{secrets.CLIENTSECRET}} subscriptionId: 'subscriptionId of the target workspace' tenantId: 'tenantId' DeleteArtifactsNotInTemplate: 'true' managedIdentity: 'False'
Jste připraveni potvrdit změny. Vyberte Zahájit potvrzení, zadejte název a pak přidejte popis (volitelné). Pak vyberte Potvrdit nový soubor.
Soubor se zobrazí ve složce .github/workflows ve vašem úložišti.
Poznámka:
Spravovaná identita se podporuje jenom u virtuálních počítačů v Azure v místním prostředí. Nezapomeňte nastavit spouštěč na místním prostředí. Povolte spravovanou identitu přiřazenou systémem pro váš virtuální počítač a přidejte ji do azure Synapse Studia jako správce Synapse.
Kontrola nasazení
V úložišti GitHub přejděte na Akce.
Pokud chcete zobrazit podrobné protokoly spuštění pracovního postupu, otevřete první výsledek:
Vytvoření vlastních parametrů v šabloně pracovního prostoru
Pokud používáte automatizovanou CI/CD a chcete během nasazování změnit některé vlastnosti, ale vlastnosti nejsou ve výchozím nastavení parametrizované, můžete přepsat výchozí šablonu parametrů.
Pokud chcete přepsat výchozí šablonu parametrů, vytvořte vlastní šablonu parametrů s názvem template-parameters-definition.json v kořenové složce vaší větve Git. Musíte použít tento přesný název souboru. Když pracovní prostor Azure Synapse publikuje z větve pro spolupráci nebo úlohy nasazení ověří artefakty v jiných větvích, přečte tento soubor a použije jeho konfiguraci k vygenerování parametrů. Pokud pracovní prostor Azure Synapse tento soubor nenajde, použije výchozí šablonu parametrů.
Syntaxe vlastních parametrů
K vytvoření vlastního souboru parametrů můžete použít následující pokyny:
- Zadejte cestu vlastnosti pod příslušným typem entity.
- Nastavením názvu
*
vlastnosti označíte, že chcete parametrizovat všechny vlastnosti v rámci vlastnosti (pouze na první úroveň, ne rekurzivně). Pro tuto konfiguraci můžete nastavit výjimky. - Nastavení hodnoty vlastnosti jako řetězce označuje, že chcete parametrizovat vlastnost. Použijte formát
<action>:<name>:<stype>
.<action>
může mít jeden z těchto znaků:=
znamená zachovat aktuální hodnotu jako výchozí hodnotu parametru.-
znamená, že neuchovávejte výchozí hodnotu parametru.|
je zvláštní případ tajných kódů ze služby Azure Key Vault pro připojovací řetězec nebo klíče.
<name>
je název parametru. Pokud je prázdná, převezme název vlastnosti. Pokud hodnota začíná znakem-
, název se zkracuje. NapříkladAzureStorage1_properties_typeProperties_connectionString
by bylo zkráceno naAzureStorage1_connectionString
.<stype>
je typ parametru. Pokud<stype>
je prázdný, výchozí typ jestring
. Podporované hodnoty:string
, ,int
securestring
,bool
,object
secureobject
, aarray
.
- Zadání pole v souboru označuje, že odpovídající vlastnost v šabloně je pole. Azure Synapse iteruje všechny objekty v poli pomocí zadané definice. Druhý objekt, řetězec, se stane názvem vlastnosti, která se používá jako název parametru pro každou iteraci.
- Definice nemůže být specifická pro instanci prostředku. Každá definice se vztahuje na všechny prostředky tohoto typu.
- Ve výchozím nastavení jsou parametrizovány všechny zabezpečené řetězce (například tajné kódy služby Key Vault) a zabezpečené řetězce (například připojovací řetězec, klíče a tokeny).
Příklad definice šablony parametrů
Tady je příklad, jak vypadá definice šablony parametrů:
{
"Microsoft.Synapse/workspaces/notebooks": {
"properties": {
"bigDataPool": {
"referenceName": "="
}
}
},
"Microsoft.Synapse/workspaces/sqlscripts": {
"properties": {
"content": {
"currentConnection": {
"*": "-"
}
}
}
},
"Microsoft.Synapse/workspaces/pipelines": {
"properties": {
"activities": [{
"typeProperties": {
"waitTimeInSeconds": "-::int",
"headers": "=::object",
"activities": [
{
"typeProperties": {
"url": "-:-webUrl:string"
}
}
]
}
}]
}
},
"Microsoft.Synapse/workspaces/integrationRuntimes": {
"properties": {
"typeProperties": {
"*": "="
}
}
},
"Microsoft.Synapse/workspaces/triggers": {
"properties": {
"typeProperties": {
"recurrence": {
"*": "=",
"interval": "=:triggerSuffix:int",
"frequency": "=:-freq"
},
"maxConcurrency": "="
}
}
},
"Microsoft.Synapse/workspaces/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.Synapse/workspaces/datasets": {
"*": {
"properties": {
"typeProperties": {
"folderPath": "=",
"fileName": "="
}
}
}
},
"Microsoft.Synapse/workspaces/credentials" : {
"properties": {
"typeProperties": {
"resourceId": "="
}
}
}
}
Tady je vysvětlení toho, jak je předchozí šablona vytvořena podle typu prostředku.
notebooks
- Jakákoli vlastnost v cestě
properties/bigDataPool/referenceName
je parametrizována s výchozí hodnotou. Pro každý soubor poznámkového bloku můžete parametrizovat připojený fond Sparku.
sqlscripts
- V cestě
properties/content/currentConnection
poolName
databaseName
jsou vlastnosti i vlastnosti parametrizovány jako řetězce bez výchozích hodnot v šabloně.
pipelines
- Jakákoli vlastnost v cestě
activities/typeProperties/waitTimeInSeconds
je parametrizována. Jakákoli aktivita v kanálu, který má vlastnost na úrovni kódu s názvemwaitTimeInSeconds
(napříkladWait
aktivita), je parametrizována jako číslo s výchozím názvem. Vlastnost nebude mít v šabloně Resource Manageru výchozí hodnotu. Místo toho bude vlastnost vyžadovat vstup během nasazení Resource Manageru. - Vlastnost
headers
(například v aktivitěWeb
) je parametrizována typemobject
(Object). Vlastnostheaders
má výchozí hodnotu, která je stejná jako zdrojová továrna.
integrationRuntimes
- Všechny vlastnosti v cestě
typeProperties
jsou parametrizovány s příslušnými výchozími hodnotami. Například dvě vlastnosti jsou podIntegrationRuntimes
vlastnostmi typu:computeProperties
assisProperties
. Oba typy vlastností se vytvářejí s příslušnými výchozími hodnotami a typy (Object).
triggers
V části
typeProperties
Jsou parametrizovány dvě vlastnosti:- Vlastnost
maxConcurrency
má výchozí hodnotu a je typstring
. Výchozí název parametrumaxConcurrency
vlastnosti je<entityName>_properties_typeProperties_maxConcurrency
. - Vlastnost
recurrence
je také parametrizována. Všechny vlastnosti podrecurrence
vlastností jsou nastaveny tak, aby byly parametrizovány jako řetězce s výchozími hodnotami a názvy parametrů. Výjimkou jeinterval
vlastnost, která je parametrizovánaint
jako typ. Název parametru je příponou<entityName>_properties_typeProperties_recurrence_triggerSuffix
.freq
Podobně je vlastnost řetězec a je parametrizován jako řetězec.freq
Vlastnost je však parametrizována bez výchozí hodnoty. Název je zkrácený a příponovaný, například<entityName>_freq
.
Poznámka:
V současné době se podporuje maximálně 50 triggerů.
- Vlastnost
linkedServices
- Propojené služby jsou jedinečné. Vzhledem k tomu, že propojené služby a datové sady mají širokou škálu typů, můžete poskytnout přizpůsobení specifické pro konkrétní typ. V předchozím příkladu se pro všechny propojené služby
AzureDataLakeStore
typu použije konkrétní šablona. Pro všechny ostatní (identifikované pomocí znaku*
) se použije jiná šablona. - Vlastnost
connectionString
je parametrizovánasecurestring
jako hodnota. Nemá výchozí hodnotu. Název parametru je zkrácen a příponou s příponouconnectionString
. - Vlastnost
secretAccessKey
je parametrizovánaAzureKeyVaultSecret
jako hodnota (například v propojené službě Amazon S3). Vlastnost se automaticky parametrizuje jako tajný klíč služby Azure Key Vault a načte se z nakonfigurovaného trezoru klíčů. Můžete také parametrizovat samotný trezor klíčů.
datasets
- I když můžete přizpůsobit typy v datových sadách, explicitní konfigurace na úrovni *není nutná. V předchozím příkladu jsou všechny vlastnosti datové sady pod
typeProperties
parametrizovány.
Osvědčené postupy pro CI/CD
Pokud používáte integraci Gitu s pracovním prostorem Azure Synapse a máte kanál CI/CD, který přesouvá vaše změny z vývoje na testování a pak do produkčního prostředí, doporučujeme tyto osvědčené postupy:
- Integrujte pouze pracovní prostor pro vývoj s Gitem. Pokud používáte integraci Gitu, integrujte do Gitu jenom svůj vývojový pracovní prostor Azure Synapse. Změny testovacích a produkčních pracovních prostorů se nasazují prostřednictvím CI/CD a nepotřebují integraci Gitu.
- Připravte fondy před migrací artefaktů. Pokud máte skript SQL nebo poznámkový blok připojený k fondům v pracovním prostoru pro vývoj, použijte stejný název pro fondy v různých prostředích.
- Synchronizace správy verzí v infrastruktuře ve scénářích kódu Ke správě infrastruktury (sítí, virtuálních počítačů, nástrojů pro vyrovnávání zatížení a topologie připojení) v popisném modelu použijte stejnou správu verzí, kterou tým DevOps používá pro zdrojový kód.
- Projděte si osvědčené postupy služby Azure Data Factory. Pokud používáte službu Data Factory, podívejte se na osvědčené postupy pro artefakty služby Data Factory.
Řešení potíží s nasazováním artefaktů
Nasazení artefaktů Synapse pomocí úlohy nasazení pracovního prostoru Synapse
Na rozdíl od služby Data Factory v Azure Synapse nejsou artefakty prostředky Resource Manageru. K nasazení artefaktů Azure Synapse nemůžete použít úlohu nasazení šablony ARM. Místo toho použijte úlohu nasazení pracovního prostoru Synapse k nasazení artefaktů a použijte úlohu nasazení ARM pro prostředky ARM (fondy a pracovní prostor). Mezitím tato úloha podporuje pouze šablony Synapse, ve kterých prostředky mají typ Microsoft.Synapse. S touto úlohou můžou uživatelé automaticky nasazovat změny z libovolné větve bez ručního kliknutí na publikování v nástroji Synapse Studio. Tady jsou některé často vyvolané problémy.
1. Publikování se nezdařilo: Soubor ARM pracovního prostoru je větší než 20 MB.
U poskytovatele Gitu platí omezení velikosti souboru, například v Azure DevOps je maximální velikost souboru 20 Mb. Jakmile velikost souboru šablony pracovního prostoru překročí 20 Mb, dojde k této chybě při publikování změn v nástroji Synapse Studio, ve kterém se soubor šablony pracovního prostoru vygeneruje a synchronizuje s Gitem. K vyřešení problému můžete použít úlohu nasazení Synapse s operací ověření nebo ověření a nasazení k uložení souboru šablony pracovního prostoru přímo do agenta kanálu a bez ručního publikování v synapse Studiu.
2. Neočekávaná chyba tokenu ve vydané verzi
Pokud má soubor parametrů hodnoty parametrů, které nejsou uchycené, kanál verze se nepodaří soubor analyzovat a vygeneruje unexpected token
chybu. Doporučujeme přepsat parametry nebo pomocí služby Key Vault načíst hodnoty parametrů. K vyřešení problému můžete použít také dvojité řídicí znaky.
3. Nasazení prostředí Integration Runtime selhalo.
Pokud máte šablonu pracovního prostoru vygenerovanou ze spravovaného pracovního prostoru s povolenou virtuální sítí a pokusíte se ji nasadit do běžného pracovního prostoru nebo naopak, dojde k této chybě.
4. Při analýze hodnoty byl zjištěn neočekávaný znak.
Šablonu nelze analyzovat v souboru šablony. Zkuste to tak, že uchytáte zpětná lomítka, například \\Test01\Test.
5. Načtení informací o pracovním prostoru se nezdařilo, nenalezena
Informace o cílovém pracovním prostoru nejsou správně nakonfigurované. Ujistěte se, že připojení služby, které jste vytvořili, je vymezeno na skupinu prostředků, která má pracovní prostor.
6. Odstranění artefaktu se nezdařilo.
Rozšíření porovná artefakty, které jsou ve větvi publikování, se šablonou a na základě rozdílu, který je odstraní. Ujistěte se, že se nepokoušíte odstranit žádný artefakt, který se nachází ve větvi publikování, a některé jiné artefakty na něm mají odkaz nebo závislost.
7. Nasazení selhalo s chybou: pozice JSON 0
Pokud byste se pokusili šablonu aktualizovat ručně, dojde k této chybě. Ujistěte se, že jste šablonu neupravovali ručně.
8. Vytvoření nebo aktualizace dokumentu se nezdařilo kvůli neplatnému odkazu.
Na artefakt v synapse může odkazovat jiný artefakt. Pokud jste parametrizovali atribut, na který se odkazuje v artefaktu, ujistěte se, že jste zadali správnou a nenulovou hodnotu.
9. Nepodařilo se načíst stav nasazení v nasazení poznámkového bloku.
Poznámkový blok, který se pokoušíte nasadit, je připojený k fondu sparku v souboru šablony pracovního prostoru, zatímco v nasazení fond v cílovém pracovním prostoru neexistuje. Pokud název fondu parametrizujete, ujistěte se, že má stejný název pro fondy mezi prostředími.