0
jsonを使用してjsonドキュメントからプロパティを取得しようとしています。私は特定の名前で最新のスナップショットを取得したい。ここで私は、フィルタここjqを使用してjsonを選択してフィルタリングしないでください。
snapid=aws redshift describe-cluster-snapshots --region us-west-2 | jq'.[] | select(.ClusterIdentifier=="dev-cluster") | max_by(.SnapshotCreateTime) | .SnapshotIdentifier'
で選択を追加するまで正常に動作bashでJQのなステートメントは、私から引っ張ってるJSONドキュメントです。複数のスナップショットエントリがありますが、これが私がターゲットにしているものです。
{
"Snapshots": [
{
"EstimatedSecondsToCompletion": 0,
"OwnerAccount": "45645641155",
"CurrentBackupRateInMegaBytesPerSecond": 6.2857,
"ActualIncrementalBackupSizeInMegaBytes": 22.0,
"NumberOfNodes": 3,
"Status": "available",
"VpcId": "myvpc",
"ClusterVersion": "1.0",
"Tags": [],
"MasterUsername": "ayxbizops",
"TotalBackupSizeInMegaBytes": 192959.0,
"DBName": "dev",
"BackupProgressInMegaBytes": 22.0,
"ClusterCreateTime": "2016-09-06T15:56:08.170Z",
"RestorableNodeTypes": [
"dc1.large"
],
"EncryptedWithHSM": false,
"ClusterIdentifier": "dev-cluster",
"SnapshotCreateTime": "2016-09-06T16:00:25.595Z",
"AvailabilityZone": "us-west-2c",
"NodeType": "dc1.large",
"Encrypted": false,
"ElapsedTimeInSeconds": 3,
"SnapshotType": "manual",
"Port": 5439,
"SnapshotIdentifier": "thismorning"
}
]
}
文字列「ClusterIdentifier」で配列をインデックスできません。
フィルタの開始は、おそらく '.Snapshots [] | ... ' –
@JeffMercadoこれを答えとして書くと、正しいものとしてマークすることができます。ありがとう! – RagePwn
この場合、単純なタイプミスとして閉じるのがより適切だと思います。そうでなければ、あなたは自信を持って歓迎します。 –