2015-10-06 45 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?它是指我的電腦還是天藍色的電腦? –