Události
Vytváření aplikací a agentů AI
17. 3. 21 - 21. 3. 10
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
ZaregistrovatTento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Zkopírujte soubory do Azure Blob Storage nebo virtuálních počítačů.
Tato verze úlohy podporuje federaci identit úloh a pro přístup ke službě Azure Storage používá Azure RBAC. V důsledku toho, že používáme Azure RBAC, se tokeny SAS už nepoužívají. Další informace najdete v části Poznámky .
# Azure file copy v6
# Copy files to Azure Blob Storage or virtual machines.
- task: AzureFileCopy@6
inputs:
SourcePath: # string. Required. Source.
azureSubscription: # string. Alias: ConnectedServiceNameARM. Required. Azure Subscription.
Destination: # 'AzureBlob' | 'AzureVMs'. Required. Destination Type.
storage: # string. Alias: StorageAccountRM. Required. RM Storage Account.
#ContainerName: # string. Required when Destination = AzureBlob. Container Name.
#BlobPrefix: # string. Optional. Use when Destination = AzureBlob. Blob Prefix.
#resourceGroup: # string. Alias: EnvironmentNameRM. Required when Destination = AzureVMs. Resource Group.
#ResourceFilteringMethod: 'machineNames' # 'machineNames' | 'tags'. Optional. Use when Destination = AzureVMs. Select Machines By. Default: machineNames.
#MachineNames: # string. Optional. Use when Destination = AzureVMs. Filter Criteria.
#vmsAdminUserName: # string. Required when Destination = AzureVMs. Admin Login.
#vmsAdminPassword: # string. Required when Destination = AzureVMs. Password.
#TargetPath: # string. Required when Destination = AzureVMs. Destination Folder.
#AdditionalArgumentsForBlobCopy: # string. Optional Arguments (for uploading files to blob).
#AdditionalArgumentsForVMCopy: # string. Optional. Use when Destination = AzureVMs. Optional Arguments (for downloading files to VM).
#enableCopyPrerequisites: false # boolean. Optional. Use when Destination = AzureVMs. Enable Copy Prerequisites. Default: false.
#CopyFilesInParallel: true # boolean. Optional. Use when Destination = AzureVMs. Copy in Parallel. Default: true.
#CleanTargetBeforeCopy: false # boolean. Clean Target. Default: false.
#skipCACheck: true # boolean. Optional. Use when Destination = AzureVMs. Test Certificate. Default: true.
SourcePath
-
Zdroj
string
. Povinná hodnota.
Umístění zdrojových souborů. Mezi podporované hodnoty patří kanály YAML a klasické verze podporují předdefinované systémové proměnné , jako je Build.Repository.LocalPath.
Proměnné vydané verze jsou podporovány pouze v klasických verzích. Zástupný symbol (*) se podporuje kdekoli v cestě k souboru nebo v názvu souboru.
Výraz by měl vrátit jednu složku nebo soubor.
azureSubscription
-
Předplatné Azure
Vstupní alias: ConnectedServiceNameARM
.
string
. Povinná hodnota.
Zadejte název připojení služby Azure Resource Manager nakonfigurované pro předplatné, ve kterém se nachází cílová služba Azure, virtuální počítač nebo účet úložiště. Další podrobnosti najdete v tématu Přehled azure Resource Manager.
Destination
-
Typ cíle
string
. Povinná hodnota. Povolené hodnoty: AzureBlob
(Azure Blob) AzureVMs
(virtuální počítače Azure).
Zadejte typ cíle.
storage
-
Účet úložiště RM
Vstupní alias: StorageAccountRM
.
string
. Povinná hodnota.
Zadejte existující účet úložiště ARM. Jedná se o účet úložiště, který se používá jako zprostředkovatel pro kopírování souborů do virtuálních počítačů Azure.
ContainerName
-
Název kontejneru
string
. Vyžaduje se, když Destination = AzureBlob
.
Název kontejneru, do kterého se soubory kopírují. Pokud zadaný kontejner v účtu úložiště neexistuje, vytvoří se.
K vytvoření virtuálního adresáře uvnitř kontejneru použijte vstup předpony objektu blob. Například pro cílové umístění https://myaccount.blob.core.windows.net/mycontainer/vd1/vd2/
zadejte název mycontainer
kontejneru a předponu objektu blob: vd1/vd2
.
BlobPrefix
-
Předpona objektu blob
string
. Nepovinný parametr. Použijte, když Destination = AzureBlob
.
Zadejte předponu cílového virtuálního adresáře v kontejneru objektů blob Azure. To platí, pokud SourcePath
obsahuje zástupný znak, který může odpovídat více položkám.
Příklad: Číslo sestavení můžete připojit k předponám souborů ze všech objektů blob se stejným číslem sestavení.
Příklad: Pokud zadáte předponu myvd1
objektu blob , vytvoří se v kontejneru virtuální adresář. Soubory se zkopírují ze zdroje do https://myaccount.blob.core.windows.net/mycontainer/myvd1/
.
V případě, že SourcePath
se jedná o jednu položku bez zástupných znaků, bude tato předpona objektu blob fungovat jako název cílového objektu blob.
resourceGroup
-
Skupina prostředků
Vstupní alias: EnvironmentNameRM
.
string
. Vyžaduje se, když Destination = AzureVMs
.
Zadejte název cílové skupiny prostředků, do které se budou soubory kopírovat.
ResourceFilteringMethod
-
Vybrat počítače podle
string
. Nepovinný parametr. Použijte, když Destination = AzureVMs
. Povolené hodnoty: machineNames
(Názvy počítačů), tags
. Výchozí hodnota: machineNames
.
Zadejte název nebo značku hostitele virtuálního počítače, která identifikuje podmnožinu virtuálních počítačů ve skupině prostředků. Značky se podporují jenom pro prostředky vytvořené prostřednictvím azure Resource Manager.
MachineNames
-
Kritéria filtru
string
. Nepovinný parametr. Použijte, když Destination = AzureVMs
.
Zadejte seznam názvů virtuálních počítačů nebo značek, které identifikují virtuální počítače, na které bude úkol cílit. Mezi platná kritéria filtru patří:
{TagName}:{Value}
příklad: Role:DB;OS:Win8.1
vmsAdminUserName
-
přihlášení Správa
string
. Vyžaduje se, když Destination = AzureVMs
.
Zadejte uživatelské jméno účtu s oprávněními správce na všech cílových virtuálních počítačích.
username
, domain\username
, machine-name\username
a .\username
.username@domain.com
předdefinovaných systémových účtů, jako NT Authority\System
jsou, se nepodporují.
vmsAdminPassword
-
Heslo
string
. Vyžaduje se, když Destination = AzureVMs
.
Zadejte heslo pro Admin Login
parametr.
Proměnnou najdete tak, že vyhledáte Admin Login
parametr . Výběrem ikony visacího zámku pro proměnnou definovanou na Variables
kartě hodnotu zamkněte a sem vložte název proměnné.
TargetPath
-
Cílová složka
string
. Vyžaduje se, když Destination = AzureVMs
.
Zadejte cestu ke složce na virtuálních počítačích Azure, do které se budou soubory kopírovat.
Podporují se proměnné prostředí, jako $env:windir
jsou a $env:systemroot
. Příklady: $env:windir\FabrikamFiber\Web
a c:\FabrikamFiber
AdditionalArgumentsForBlobCopy
-
Volitelné argumenty (pro nahrávání souborů do objektu blob)
string
.
Zadejte další argumenty AzCopy.exe
pro použití při nahrávání do objektu blob a stahování do virtuálních počítačů. Podrobnosti najdete v tématu Přenos dat pomocí nástroje AzCopy Command-Line.
Pro účty Premium Storage, které podporují pouze objekty blob stránky Azure, použijte --blob-type=PageBlob
jako další argument.
Mezi výchozí argumenty patří --log-level=INFO
(výchozí) a --recursive
(pokud název kontejneru není $root
).
AdditionalArgumentsForVMCopy
-
Volitelné argumenty (pro stahování souborů do virtuálního počítače)
string
. Nepovinný parametr. Použijte, když Destination = AzureVMs
.
Zadejte další argumenty AzCopy.exe
, které se použijí při stahování do virtuálních počítačů, --check-length=true
jako je .
Pokud nejsou zadány žádné volitelné argumenty, jsou ve výchozím nastavení přidány následující:
--log-level=INFO
--log-level=DEBUG
(Pokud je kanál spuštěný v režimu ladění nastavený)--recursive
enableCopyPrerequisites
-
Povolení požadavků na kopírování
boolean
. Nepovinný parametr. Použijte, když Destination = AzureVMs
. Výchozí hodnota: false
.
Pokud je tato možnost povolená, používá certifikát podepsaný svým držitelem ke konfiguraci naslouchacího procesu Vzdálená správa systému Windows (WinRM) přes protokol HTTPS na portu 5986. Tato konfigurace se vyžaduje pro provádění operací kopírování na virtuálních počítačích Azure. Platí jenom pro virtuální počítače ARM.
CopyFilesInParallel
-
Paralelní kopírování
boolean
. Nepovinný parametr. Použijte, když Destination = AzureVMs
. Výchozí hodnota: true
.
Zadejte true
, aby se soubory paralelně zkopírovaly do cílových virtuálních počítačů.
CleanTargetBeforeCopy
-
Čistý cíl
boolean
. Výchozí hodnota: false
.
Před kopírováním souborů zadejte true
, aby se cílová složka vyčistila.
skipCACheck
-
Test certifikátu
boolean
. Nepovinný parametr. Použijte, když Destination = AzureVMs
. Výchozí hodnota: true
.
WinRM vyžaduje certifikát pro přenos HTTPS při kopírování souborů z zprostředkujícího objektu blob úložiště do virtuálních počítačů Azure.
Pokud používáte certifikát podepsaný svým držitelem, zadejte true
, aby proces nemohl ověřovat certifikát u důvěryhodné certifikační autority.
Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace najdete v tématu Možnosti ovládacího prvku a běžné vlastnosti úlohy.
Tato úloha definuje následující výstupní proměnné, které můžete využívat v podřízených krocích, úlohách a fázích.
StorageContainerUri
Identifikátor URI kontejneru, do kterého byly soubory zkopírovány. Platí jenom v případech, kdy je vybraným cílem objekt blob Azure.
AzureFileCopy@6
podporuje federaci identit úloh a pro přístup ke službě Azure Storage používá Azure RBAC.
V důsledku použití Azure RBAC se tokeny SAS už nepoužívají a vstup úlohy se odebere sasTokenTimeOutInMinutes
.
Můžete blokovat použití klíčů účtu úložiště a tokenů SAS ve svých účtech úložiště. V těchto situacích není možné použít úlohu AzureFileCopy@5 , která závisí na tokenech SAS.
Úloha AzureFileCopy@6
místo toho používá Azure RBAC pro přístup k úložišti objektů blob. To vyžaduje identitu připojení služby, které má příslušnou roli RBAC, například Přispěvatel dat v objektech blob služby Storage. Viz Přiřazení role Azure pro přístup k datům objektů blob.
Úloha AzureFileCopy@6 také podporuje připojení služeb, která používají federaci identit úloh.
Poznámka
Tato úloha je napsaná v PowerShellu a funguje jenom při spuštění na agentech windows. Pokud vaše kanály vyžadují agenty Linuxu a potřebují kopírovat soubory do účtu služby Azure Storage, zvažte jako alternativu spuštění az storage blob
příkazů v úloze Azure CLI .
Úloha se používá ke kopírování souborů aplikace a dalších artefaktů, které jsou potřeba k instalaci aplikace. jako jsou skripty PowerShellu, moduly PowerShell-DSC a další.
Pokud jsou cílem virtuální počítače Azure, soubory se nejprve zkopírují do automaticky generovaného kontejneru objektů blob Azure a pak se stáhnou do virtuálních počítačů. Kontejner se odstraní po úspěšném zkopírování souborů do virtuálních počítačů.
Úloha používá AzCopy, nástroj příkazového řádku vytvořený pro rychlé kopírování dat z a do účtů úložiště Azure. Verze 6 úlohy Kopírování souborů Azure používá AzCopy V10.
Azure File Copy verze 6 vyžaduje, aby služba Azure Storage byla autorizovaná prostřednictvím Microsoft Entra ID. K dispozici je ověřování pomocí instančního objektu a spravované identity. U spravovaných identit se podporuje pouze spravovaná identita v rámci celého systému. Úroveň požadované autorizace je uvedená v možnosti 1: Použití Microsoft Entra ID.
Pokud chcete dynamicky nasazovat skupiny prostředků Azure, které obsahují virtuální počítače, použijte úlohu Nasazení skupiny prostředků Azure . Tato úloha má ukázkovou šablonu, která může provést požadované operace k nastavení protokolu HTTPS WinRM na virtuálních počítačích, otevření portu 5986 v bráně firewall a instalaci testovacího certifikátu.
Poznámka
Pokud nasazujete do služby Azure Static Websites jako kontejner ve službě Blob Storage, použijte k zachování názvu $web kontejneru verzi 2 nebo vyšší úlohu.
Úloha vyžaduje, aby na počítači, na kterém běží agent automatizace, byla nainstalovaná Azure PowerShell. Doporučená verze je 1.0.2, ale úloha bude fungovat s verzí 0.9.8 a vyšší. Můžete to získat pomocí instalačního programu Azure PowerShell verze 1.0.2.
Úloha pomocí protokolu HTTPS vzdálené správy Windows (WinRM) zkopíruje soubory z kontejneru objektů blob úložiště do virtuálních počítačů Azure. To vyžaduje, aby byla na virtuálních počítačích nakonfigurovaná služba HTTPS WinRM a nainstalovaný vhodný certifikát.
Pokud se virtuální počítače vytvořily bez otevření portů HTTPS WinRM, proveďte následující kroky:
Pro účty Azure Resource Manager Storage a virtuální počítače Azure Resource Manager použijte typ připojení služby Azure Resource Manager. Viz Automatizace nasazení skupiny prostředků Azure pomocí instančního objektu.
Při použití typu připojení služby Azure Resource Manager úloha automaticky vyfiltruje odpovídající novější účty úložiště Azure Resource Manager a další pole. Například skupina prostředků nebo cloudová služba a virtuální počítače.
Je možné vytvořit vhodný účet pro použití v připojení ke službě:
Vzhledem k tomu, že nástroj AzCopy v10 nepodporuje soubory deníků, úloha nemůže pokračovat v kopírování. Pokud chcete zkopírovat všechny soubory, musíte úlohu spustit znovu.
Úloha neodstraňuje soubory protokolů a plánů. Pokud chcete soubory explicitně vyčistit, přidejte do pracovního postupu krok rozhraní příkazového řádku pomocí příkazu azcopy jobs clean.
Ujistěte se, že používáte verzi 5 úlohy kopírování souborů Azure. Pokud úloha selže, můžete přidat krok sestavení, který spustí příkaz azcopy cp "source-file-path" "destination-file-path"
, který nahradí zdrojovou a cílovou hodnotu.
Hostovaní agenti se přiřazují náhodně při každém spuštění sestavení, IP adresy agentů se při každém spuštění budou lišit. Pokud tyto IP adresy nejsou v seznamu povolených IP adres, komunikace mezi Azure DevOps a účtem úložiště selže. V takových scénářích postupujte podle uvedených kroků:
Požadavek | Popis |
---|---|
Typy kanálů | YAML, classic build, verze Classic |
Spustí se | Agent, DeploymentGroup |
Požadavky | Agenti v místním prostředí musí mít funkce , které odpovídají následujícím požadavkům na spouštění úloh, které používají tuto úlohu: azureps |
Možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
Omezení příkazů | Všechny |
Nastavitelné proměnné | Všechny |
Verze agenta | 1.103.0 nebo vyšší |
Kategorie úloh | Nasazení |
Události
Vytváření aplikací a agentů AI
17. 3. 21 - 21. 3. 10
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
Zaregistrovat