2015-03-06 7 views
5

Próbuję unieważnić pojedynczy plik w dystrybucji AWS Cloudfront przy użyciu (na razie) eksperymentalnej aws cloudfrontCLI tool. Nie mogę wymyślić, jak sformatować JSON, który oczekuje na przekazanie do parametru --invalidation-batch.Jak wygląda JSON dla unieważniania wsadowego dystrybucji Cloudfront?

Jedyna dokumentacja znalazłem tylko wyjaśnia XML to oczekuje jeszcze mam twardy czas tłumaczenia, że ​​w JSON: http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/CreateInvalidation.html

ja próbowałem:

{ 
    "Paths" : { 
     "Quantity" : 1, 
     "Items" : ["/foobar.js"] 
    }, 
    "CallerReference" : "foo-bar-baz" 
} 

Czy ktoś jeszcze używany to i wzorzysty się sformatować JSON?

Odpowiedz

10

Można wygenerować przykładowy JSON za pomocą następującego polecenia.

$ aws cloudfront create-invalidation - generowanie-cli-szkielet | vi -

wyjściowa:

{ 
"DistributionId": "", 
"InvalidationBatch": { 
    "Paths": { 
     "Quantity": 0, 
     "Items": [ 
      "" 
     ] 
    }, 
    "CallerReference": "" 
} 
} 
+0

Piękny, czy masz jakąkolwiek wskazówkę, czy istnieje jakaś dokumentacja dla 'aws cloudfront'? Jak się o tym dowiedziałeś? – m90

+1

@ m90: spróbuj uruchomić 'aws cloudfront help' i' aws cloudfront create-invalidation help'. –

+0

@DmitryGuyvoronsky dobrze, to było łatwe. Próbowałem '--help' i' -h' nie mieć szczęścia (-‸ლ) - Dzięki. – m90

7

Oto kompletny, działający przykład to zrobić ze skryptu bash, w tym obsługę potrzebę stworzenia unikalnego identyfikatora dla każdego unieważnieniu (dosyć unikalny tutaj dla moich celów):

INVALIDATION_ID=$(date +"%S") 
INVALIDATION_JSON="{ 
    \"DistributionId\": \"YOUR_ID\", 
    \"InvalidationBatch\": { 
     \"Paths\": { 
      \"Quantity\": 2, 
      \"Items\": [ 
       \"/foo.png\", 
       \"/bar.jpg\" 
      ] 
     }, 
     \"CallerReference\": \"$INVALIDATION_ID\" 
    } 
}" 

aws cloudfront create-invalidation --cli-input-json "$INVALIDATION_JSON" 
+2

Dzięki za skrypt wsadowy, to było jak wpadnięcie i pójście na kawę. – Christian

Powiązane problemy