2017-09-16 5 views
0

J'essaie d'interroger mon domaine AWS Cloudsearch (API 2013) à l'aide de l'AWS CLI sur Ubuntu. Je n'ai pas réussi à le faire fonctionner correctement lorsque la recherche est limitée à un domaine spécifique. La requête suivante:Demande AWS CloudSearch à l'aide des retours CLI Erreur d'objet Javascript invalide

aws --profile myprofile cloudsearchdomain search 
    --endpoint-url "https://search-mydomain-abc123xyz.eu-west-1.cloudsearch.amazonaws.com" 
    --query-options {"fields":["my_field"]} 
    --query-parser "simple" 
    --return "my_field" 
    --search-query "foo bar" 

... renvoie l'erreur suivante:

An error occurred (SearchException) when calling the Search operation: q.options contains invalid javascript object

Si je supprime le paramètre --query-options de la requête ci-dessus, cela fonctionne. De l'AWS CLI docs en ce qui concerne les fields options du paramètre --query-options:

An array of the fields to search when no fields are specified in a search... Valid for: simple , structured , lucene , and dismax

aws Version cli:

aws-cli/1.11.150 Python/2.7.12 Linux/4.10.0-28-generic botocore/1.7.8

Répondre

2

Je pense que la documentation est un peu trompeur car JSon ne pas comme des guillemets doubles intégrés à l'intérieur des guillemets doubles, vous auriez besoin de remplacer par guillemet simple comme

--query-options "{'fields':['my_field']}" 

ou vous pouvez échapper à la double citation

--query-options "{\"fields\":[\"my_field\"]}"