django-Akamai este o aplicatie Django, care servește ca un mijloc de a efectua cereri de epurare de la Django aplicații utilizând CCUAPI Akamai. Cererile Curăță sunt efectuate la cerere sau, opțional, plasat într-o coadă, folosind Țelină.
Setări necesare:
AKAMAI_CCUAPI_USERNAME = 'ccuapi_username'
AKAMAI_CCUAPI_PASSWORD = 'ccuapi_password'
AKAMAI_CCUAPI_NOTIFICATION_EMAIL = 'your@email.com'
Există o varietate de moduri de a utiliza această aplicație în aplicația.
ATENȚIE: În prezent, doar 100 de adrese URL va fi sters la cerere, care necesită să transmit semnale suplimentare / crea sarcini suplimentare / purjare apel () din nou cu bucăți separate de URL-uri / obiecte. CCUAPI impune o limită de "aproximativ" 100 de URL-uri de 400 de caractere fiecare, așa că am încercat să facă comportamentul transparent și permite utilizatorului final pentru a vedea rezultatul fiecărei cereri și să răspundă în mod corespunzător.
Consultați documentația Akamai pentru informații complete despre API. Această aplicație vine la pachet cu o copie modificată a https://ccuapi.akamai.com/ccuapi-axis.wsdl care funcționează cu spuma.
utilizând semnale
signals.py definește două semnale, una care inițiază o cerere de purjare direct, si un altul care coada cererea. Semnalul de așteptare este definită în mod condiționat și depinde de importul succes a PurgeRequestTask, care depinde de django-țelină a fi instalat.
Când trimiteți aceste semnale de la alte aplicații, puteți trece într-o varietate de lucruri ca expeditorului pentru comoditate. Sender poate fi un singur șir URL, o listă de siruri de caractere URL, un obiect individual Django, sau un QuerySet. În cazul în care trece într-un obiect sau QuerySet, atunci get_absolute_url () trebuie să fie definite pe fiecare obiect.
Exemplu de semnalizare pentru a efectua imediat cererea:
>>> Din akamai.signals import purge_request, queue_purge_request
>>> Obj = MyObject.objects.get (pk 3 =)
>>> Obj.get_absolute_url ()
u'http: //www.example.com/blahblah.html "
>>> Purge_request.send (obj)
Sau, la coadă cererea folosind Țelină:
>>> Queue_purge_request.send (obj)
Utilizarea Tasks
Pentru a utiliza sarcina direct, PurgeRequestTask import de la tasks.py thusly:
>>> Din akamai.tasks PurgeRequestTask import
>>> Obj = MyObject.objects.get (pk 3 =)
>>> Rezultat = PurgeRequestTask.delay (obj)
>>> Rezultat imprimare
1
Utilizarea PurgeRequest direct
Ați putea importa, de asemenea, PurgeRequest de purge.py și de a folosi în mod direct. Nu că numai 100 de URL-uri vor fi trimise la fiecare solicitare de purjare, datorită limitelor stabilite de Akamai. Dacă adăugați mai mult de 100 de URL-uri, de purjare () va trebui să fie numit până la nici unul rămâne.
Dacă nu furnizează un nume de utilizator și o parolă la crearea PurgeRequest obiect, apoi settings.py proiectul dumneavoastră vor fi verificate pentru AKAMAI_CCUAPI_USERNAME și AKAMAI_CCUAPI_PASSWORD. Imposibilitatea de a furniza informatii de autentificare prin fie rezultate mecanismul intr-o NoAkamaiUsernameProvidedException și / sau NoAkamaiPasswordProvidedException.
Exemplu:
>>> Pr = PurgeRequest (username = "ccuapi_user", parola = "1234567")
>>> Pr.add ("http://www.example.com/url-1.html")
>>> Pr.add (u "http://www.example.com/url-2.html")
>>> Cer = pr.purge ()
>>> Pr.last_result imprimare
(PurgeResult) {
& Nbsp; resultCode = 100
& Nbsp; resultMsg = "Succes".
& Nbsp; sessionid = "987654321"
& Nbsp; estTime = 420
& Nbsp; uriIndex = -1
& Nbsp; modificatori [] =
& Nbsp;}
>>> pr.urls de imprimare
[]
Cerințe :
- Python
- Django
Comentariile nu a fost găsit