【发布时间】:2021-04-06 05:56:16
【问题描述】:
我有一个 JSON,就像这样(只发布初始的 sn-p):
[
{
"ICloudBlob": {
"StreamWriteSizeInBytes": 4194304,
"ServiceClient": {
"AuthenticationScheme": 1,
"BufferManager": null,
"Credentials": {
"SASToken": null,
"AccountName":
"storageaccountappse9a4d",
"KeyName": null,
"IsAnonymous": false,
"IsSAS": false,
"IsSharedKey": true,
"IsToken": false,
"SASSignature": null
},
"BaseUri":
"https://storageaccountappse9a4d.blob.core.windows.net/",
"StorageUri": {
"PrimaryUri":
"https://storageaccountappse9a4d.blob.core.windows.net/",
"SecondaryUri": null
},
"DefaultRequestOptions": {
"RetryPolicy": {
},
"EncryptionPolicy": null,
"RequireEncryption": null,
"CustomerProvidedKey": null,
"EncryptionScope": null,
"AbsorbConditionalErrorsOnRetry": null,
"LocationMode": 0,
"ServerTimeout": null,
"MaximumExecutionTime": null,
"NetworkTimeout": null,
"ParallelOperationThreadCount": 1,
"SingleBlobUploadThresholdInBytes": 134217728,
"UseTransactionalMD5": null,
"StoreBlobContentMD5": null,
"DisableContentMD5Validation": null,
"ChecksumOptions": {
"DisableContentMD5Validation": null,
"StoreContentMD5": null,
"UseTransactionalMD5": null,
"DisableContentCRC64Validation": null,
"UseTransactionalCRC64": null
}
我想访问 ParallelOperationThreadCount 参数,为此我使用以下代码:
$JSON_obj=Get-AzStorageAccount | Get-AzStorageContainer | Get-AzStorageBlob | ConvertTo-JSON -Depth
50
$ParallelOperationThreadCount=@()
foreach($i in $JSON_obj)
{
$ParallelOperationThreadCount+=$i.ICloudBlob.ServiceClient.DefaultRequestOptions.ParallelOperationThreadCount
}
$ParallelOperationThreadCount
但是,在运行此程序时,没有输出。它运行然后退出。 有什么方法可以找出可行的方法吗?
【问题讨论】:
-
你是如何运行它的?
-
使用VSCode。并在问题中提到了代码sn-p。
-
如果您使用
ConvertTo-JSON,您会将您的object转换为(JSON)string。如果您想将 (JSON)string转换为object,您应该使用:ConvertFrom-Json -
我也不会调用你的变量
$JSON_obj,因为这很令人困惑,它只是一个对象,不再与 Json 有关系(在你执行ConvertFrom-Json之后)。意思是,你不能遍历一个 Json 字符串,你正在遍历一个对象......
标签: powershell azure-blob-storage azure-powershell