Saya membuat fungsi Azure Powershell yang perlu menulis beberapa data ke dalam gumpalan, jadi saya menggunakan pengikatan outputBlob bersama dengan:

Push-OutputBinding -Name <name> -Value <value>

Itu menulis data yang saya butuhkan ke dalam gumpalan - bagus! Tetapi masalahnya adalah bahwa setiap kali fungsi berjalan, ia menimpa konten gumpalan. Saya tidak bisa melihat cara mendapatkan cmdlet Push-OutputBinding untuk menambahkan data ke dalam gumpalan, daripada 'mengaturnya'. Saya telah mencoba mengatur sakelar -Clobber, tetapi sepertinya tidak ada bedanya.

Binding sepertinya cara yang bagus untuk berinteraksi dengan penyimpanan Blob tanpa harus menarik lebih banyak kode untuk membuat sesi klien yang lebih lengkap, saya harap ini mungkin? Akan menghargai petunjuk apa pun.

0
Indrid 3 Januari 2021, 19:15

2 jawaban

Jawaban Terbaik

Saya cukup yakin tidak ada cara asli untuk menambahkan gumpalan di PowerShell dan dalam pengikatan keluaran fungsi Azure, jadi Anda harus membuat kode untuk itu (juga, saya pikir satu-satunya cara untuk menambahkan ke blok gumpalan adalah untuk mengunduh konten dan menambahkan secara lokal dan mengunggah ulang, tetapi saya tidak yakin tentang yang ini).

2
4c74356b41 3 Januari 2021, 16:42

Seperti yang dikatakan 4c74356b41, tidak ada cara asli untuk menambahkan gumpalan di PowerShell.

Namun Anda tidak perlu mengunduh konten ke file secara lokal, $storageBlob.ICloudBlob.DownloadText() dapat digunakan untuk mengunduh.

Berikut ini adalah kode pengujian saya untuk menambahkan "123456789" ke Blob:

$connctionstring = ""
$container = ""
$blob = ""
$appendText = "123456789"

$blobContext = New-AzureStorageContext -ConnectionString $connctionstring
$storageBlob = Get-AzureStorageBlob -Blob $blob -Container $container -Context $blobContext 

$storageBlobContent = $storageBlob.ICloudBlob.DownloadText()

$storageBlobContent

$storageBlob.ICloudBlob.UploadText($storageBlobContent + $appendText)

enter image description here

1
Pamela Peng 7 Januari 2021, 06:48