मैं jq का उपयोग करके सूची-कार्य प्रतिक्रिया से कार्य आईडी लाने का प्रयास कर रहा हूं, और एक त्रुटि में चल रहा हूं।


[Container] 2020/07/17 02:20:27 Running command aws ecs list-tasks --cluster $CLUSTER_NAME
{
    "taskArns": [
        "arn:aws:ecs:us-west-2:420785284875:task/f6a58bda-d564-4213-8ac9-bccb82244f16"
    ]
}

[Container] 2020/07/17 02:20:27 Running command TASK_ID=$(aws ecs list-tasks --cluster $CLUSTER_NAME |  jq .taskArns|.[0])
/codebuild/output/tmp/script.sh: line 4: .[0]: command not found

[Container] 2020/07/17 02:20:28 Command did not exit successfully TASK_ID=$(aws ecs list-tasks --cluster $CLUSTER_NAME |  jq .taskArns|.[0]) exit status 127
[Container] 2020/07/17 02:20:28 Phase complete: BUILD State: FAILED
[Container] 2020/07/17 02:20:28 Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: TASK_ID=$(aws ecs list-tasks --cluster $CLUSTER_NAME |  jq .taskArns|.[0]). Reason: exit status 127

मुझे यकीन नहीं है कि मैं यहाँ क्या गलत कर रहा हूँ।

-1
Raj R 17 जुलाई 2020, 06:39

2 जवाब

मैं इसे हल करने में सक्षम था ..

 TASK_ID=$(aws ecs list-tasks --cluster $CLUSTER_NAME |  jq .taskArns[0])

और फिर

echo "Task ID is $TASK_ID"
0
Adiii 17 जुलाई 2020, 10:25

आप इसे aws-cli क्वेरी पैरामीटर के साथ कर सकते हैं तो किसी को jq का उपयोग करना चाहिए?

aws ecs list-tasks --cluster demo --region us-west-2 --query "taskArns" --output text

0
Adiii 17 जुलाई 2020, 10:30