2015-03-06 8 views
5

Sto tentando di invalidare un singolo file su una distribuzione AWS Cloudfront utilizzando il (allo stato attuale) sperimentale aws cloudfrontCLI tool. Non riesco a capire come formattare il JSON che si aspetta per passare al parametro --invalidation-batch.Che aspetto ha l'JSON per l'invalidazione batch di una distribuzione di Cloudfront?

L'unica documentazione ho trovato solo spiega l'XML che si aspetta, ma io sto avendo un momento difficile tradurre questo in JSON: http://docs.aws.amazon.com/AmazonCloudFront/latest/APIReference/CreateInvalidation.html

ho provato:

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

Qualcuno ha ancora usato questo e capito fuori per formattare il JSON?

risposta

10

È possibile generare un JSON di esempio utilizzando il seguente comando.

$ aws cloudfront crea-invalidation --generate-cli-skeleton | VI -

uscita:

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

Bello, avete qualche idea se esiste un qualsiasi tipo di documentazione per 'aws cloudfront'? Come hai saputo di questo? – m90

+1

@ m90: prova a eseguire "aws cloudfront help" e "aws cloudfront create-invalidation help". –

+0

@DmitryGuyvoronsky bene che è stato facile. Ho provato '--help' e' -h' senza fortuna (-‸ლ) - Grazie. – m90

7

Ecco un completo, esempio di lavoro di farlo da uno script Bash, tra cui la gestione della necessità di creare un ID univoco per ogni invalidazione (abbastanza unica qui per i miei scopi):

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

Grazie per la sceneggiatura in gruppo, era come fare un salto e andare a prendere un caffè. – Christian

Problemi correlati