Vizible’s Blog

App Engine 1 – Hello World

Posted in Programming by wearetherock on October 14, 2008

ทดสอบ App Engine

ก่อนอื่นโหลด App Engine SDK วิธีติดตั้ง แค่แตกไฟล์ .zip (บน Linux ใช้คำสั่ง unzip) จากนั้นตามธรรมเนียม, เริ่ม Hello World! เป็นโปรแกรมแรก

Hello, World!
1. สร้างโฟลเดอร์สำหรับเก็บโปรแจค ชื่อ helloworld แล้วเข้าไปอยู่ในนั้น!
2. สร้างไฟล์ชื่อ helloworld.py พิมพ์ (ห้าม copy นิสัยเสีย!)

print ‘Content-Type: text/plain’
print ”
print ‘Hello, world!’

เขียนแบบโหดๆ (ไม่เท่าไหร่แค่สองบรรทัด) วิธีนี้เขียน HTTP Response Header ตอบกลับไปยัง Client เอง พร้อมกับส่งข้อความ Hello, world! กลับไปด้วย

3. สร้าง Configuration ไฟล์ ชื่อ app.yaml เก็บไว้ใน helloworld เหมือนกัน ภายใน app.yaml

application: helloworld
version: 1
runtime: python
api_version: 1

handlers:
– url: /.*
script: helloworld.py

บรรทัดบนๆ ก็ความหมายตามนั้นแหละ ส่วนด้านล่างตั้งแต่ handlers ลงมา ต้องทำความเข้าใจนิดหน่อย /.* หมายความว่า ทุก URL ภายใต้ root (/) ให้ execute helloworld.py

4. ทดสอบโปรแกรม โดยเรียกสคริป dev_appserver.py ที่มาพร้องกับ SDK

python dev_appserver.py -p 8088 helloworld/

มันจะขึ้น Output ออกมาประมาณนี้ (มี error ด้วย)

INFO 2008-10-14 18:11:26,013 appcfg.py] Server: appengine.google.com
INFO 2008-10-14 18:11:26,032 appcfg.py] Checking for updates to the SDK.
INFO 2008-10-14 18:11:26,773 appcfg.py] The SDK is up to date.
WARNING 2008-10-14 18:11:26,773 datastore_file_stub.py] Could not read datastore data from /tmp/dev_appserver.datastore
WARNING 2008-10-14 18:11:26,774 datastore_file_stub.py] Could not read datastore data from /tmp/dev_appserver.datastore.history
INFO 2008-10-14 18:11:26,858 dev_appserver_main.py] Running application helloworld on port 8088: http://localhost:8088

ดูผลลัพท์บน Browser http://localhost:8088 จะพิมพ์ URL ยังไง จะได้ผลลัพท์เป็น Hello, World! เหมือนกันหมด

http://localhost:8088/index
http://localhost:8088/xxxx
http://localhost:8088/8888

จบ

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: