2015-10-06 42 views
1

我想从Azure存储中复制Blob,以便从Azure Runbook库中取得名为“Copy-BlobFromAzureStorage”的Runbook。当我尝试测试时,它会提示我输入“PATHTOPLACEBLOB”,这里给出了默认位置“c:/”。它的运行良好。但事情是我不明白在哪里我可以找到存储的blob,并且它被赋予“PSComputerName”作为“本地主机”。任何人都可以就此提出建议。Copy-BlobFromAzureStorage

代码:

workflow Copy-BlobFromAzureStorage{ 

param 

(
    [parameter(Mandatory=$True)] 
    [String] 
    $AzureSubscriptionName, 

    [parameter(Mandatory=$True)] 
    [PSCredential] 
    $AzureOrgIdCredential, 

    [parameter(Mandatory=$True)] 
    [String] 
    $StorageAccountName, 

    [parameter(Mandatory=$True)] 
    [String] 
    $ContainerName, 

    [parameter(Mandatory=$True)] 
    [String] 
    $BlobName, 

    [parameter(Mandatory=$False)] 
    [String] 
    $PathToPlaceBlob = "C:\" 
) 

$Null = Add-AzureAccount -Credential $AzureOrgIdCredential 
$Null = Select-AzureSubscription -SubscriptionName $AzureSubscriptionName 

Write-Verbose "Downloading $BlobName from Azure Blob Storage to $PathToPlaceBlob" 

Set-AzureSubscription ` 
    -SubscriptionName $AzureSubscriptionName ` 
    -CurrentStorageAccount $StorageAccountName 

$blob = 
    Get-AzureStorageBlobContent ` 
     -Blob $BlobName ` 
     -Container $ContainerName ` 
     -Destination $PathToPlaceBlob ` 
     -Force 

try { 
    Get-Item -Path "$PathToPlaceBlob\$BlobName" -ErrorAction Stop 
} 
catch { 
    Get-Item -Path $PathToPlaceBlob 
}} 

enter image description here

+0

请分享代码,以便更好地理解您的行为方式? – Atf

+0

请确实找到上面的代码..... @Aatif –

回答

1

的团块放置在其中天青自动化运行手册运行沙箱中。将它放在那里没有太大的意义,因为这个沙盒在runbook作业完成后会被清理干净,但根据你的场景,它可以作为一个中介点来放置blob,比如编辑它或者转移它到沙箱外的其他地方(例如另一个Azure存储帐户或FTP服务器)。

+0

我们可以看到放置在沙箱上的blob。如果在Runbook作业完成后清理沙盒,那么blob的副本将保留在哪里@Joe –

+0

视觉上看?不,Azure Automation仅提供在沙箱中运行PowerShell的功能,而不是在沙箱中远程运行。 blob副本不会被维护,当沙盒被销毁时会被销毁。正如我所说的,如果你想在下载到沙箱后维护它,你需要将它从沙箱移动到其他地方。你想达到什么目标? – Joe

+0

在输出窗格(上面的屏幕截图)中,将PSComputerName作为localhost,并指定目录:C:\。这意味着blob存储在计算机的C:\目录中。这是我试图找出。它指的是哪个localhost?它是指我的电脑还是天蓝色的电脑? –