02



Similar documents
00

IP2695_39A81XP_00_090821

IP2696_37J59XP_01_090824

IP2468_38Z92XP_04_080416

IP1393_37Q30XP_00_070816

IP2697_38S83XP_01_090824

IP2526_38Z43XP_02_090506

IP2695_39A81XP_00_090821

IP2694_39B83XP_00_090821

IP2688_38S75XP_00_090820

IP2580_39L00XP_23_090925

IP2464_38Z03XP_07_090423

IP2467_38Z64XP_14_090423

IP2527_39B43XP_03_090428

IP2826_39L61XP_04_091214

IP2693_39B73XP_00_090821

IP2528_39B03XP_00_090428

PQQX13420ZA-BM01

IP1304_38S90XP_15_070824

IP1232_38U00XP_06_070704

IP0565_38J30XP_0725

目次微波炉的放置...1 规格...1 微波烹调注意事项...2 功能指示...4 微波烹调用具的选择...5 控制面板 (NN-GD586A)...6 控制面板 (NN-GD576M)...7 旋钮功能介绍...8 显示窗的介绍及显示语言的切换...9 时钟设定...9 儿童安全锁设定...9 计

IP0582_38J20XP_0731

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

F00036R61XP

A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

epub 61-2

XXXXXXXX

IP505SM_manual_cn.doc

ebook140-9

Microsoft Word - Front cover_white.doc

jsp

2 SGML, XML Document Traditional WYSIWYG Document Content Presentation Content Presentation Structure Structure? XML/SGML 3 2 SGML SGML Standard Gener

目 錄 版 次 變 更 記 錄... 2 原 始 程 式 碼 類 型 之 使 用 手 冊... 3 一 安 裝 軟 體 套 件 事 前 準 備... 3 二 編 譯 流 程 說 明

1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se

final

PowerPoint Presentation

epub83-1

Basic System Administration

目 錄 第 一 章 weberp 簡 介... 6 第 一 節 概 述... 6 第 二 節 安 全 性... 7 第 三 節 功 能... 7 一 銷 售 及 訂 單... 7 二 稅... 8 三 應 收 帳 款... 8 四 存 貨... 8 五 購 買... 9 六 應 付 帳 款... 9

温州市政府分散采购


Serial ATA ( Silicon Image SiI3114)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 5 (4) S A T A... 8 (5) S A T A... 10

Partition Key: 字 符 串 类 型, 表 示 当 前 Entity 的 分 区 信 息 这 个 Property 对 于 Table Service 自 动 纵 向 和 横 向 扩 展 至 关 重 要 Row Key: 字 符 串 类 型, 在 给 定 Partition Key 的

Azure_s

2005 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A. Sun Sun Berkeley BSD UNIX X/Open Company, Ltd. / Sun Sun Microsystems Su

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

untitled

目 录 简 介.3 ` 体 系 结 构...4 数 据 层...5 数 据 连 接 器...6 Tableau Server 组 件...7 网 关 / 负 载 平 衡 器...8 客 户 端 :Web 浏 览 器 和 移 动 应 用 程 序...8 客 户 端 :Tableau Desktop..

A9RF716.tmp

ext-web-auth-wlc.pdf

SEC-220

ebook 185-6

<4D F736F F D20B9FABCD2BBFAB9D8B0ECB9ABBDA8D6FEBACDB4F3D0CDB9ABB9B2BDA8D6FEC4DCBAC4BCE0B2E2CFB5CDB3C8EDBCFEBFAAB7A2D6B8B5BCCBB5C3F7CAE92E646F63>

<4D F736F F D20B1A6BCA6CAD0C7F8D3F2CEC0C9FAD0C5CFA2C6BDCCA8BBA5C1AABBA5CDA8CAB5CAA9B9E6B7B6>

目 录 1. 前 言 为 什 么 要 用 ESB 技 术 发 展 业 务 需 求 IT 需 求 IT 与 业 务 一 致 性 要 求 TongIntegrator ESB v5 简 介..

iGENUS爱琴思邮件系统技术白皮书

2005 3

vi JSON JSON API XML JSON JSON JavaScript RESTful JSON Douglas Crockford JSON / RESTful API JavaScript Node.js Ruby on Rails Java Groovy

untitled

PPP Intranet Chapter 3 Chapter IaaS PaaS SaaS

ebook140-8

Sophos Central 快速安裝手冊

13 根 据 各 种 网 络 商 务 信 息 对 不 同 用 户 所 产 生 的 使 用 效 用, 网 络 商 务 信 息 大 致 可 分 为 四 级, 其 中 占 比 重 最 大 的 是 ( A ) A 第 一 级 免 费 信 息 B 第 二 级 低 收 费 信 息 C 第 三 级 标 准 收 费

国家信息中心2012年部门预算

FileMaker 16 ODBC 和 JDBC 指南

Network Bandwidth Applications MATE Applications Applications On Demand Calendaring Load Balancer Live Archive Design Northbound Service,Netwo

六 經 百 家 之 說, 為 文 長 於 議 論, 風 格 簡 直 古 勁, 有 先 秦 遺 風 者 為 蘇 洵 (D) 世 說 新 語 本 屬 助 談 之 書, 係 東 漢 以 後 品 評 人 物, 好 尚 清 談 風 氣 下 的 產 物 (E) 臺 灣 通 史 記 載 起 自 隋 代, 終 於

附 件 一 : 医 师 资 格 考 试 报 名 资 格 规 定 (2006 版 ) 为 做 好 医 师 资 格 考 试 报 名 工 作, 依 据 中 华 人 民 共 和 国 执 业 医 师 法 ( 以 下 简 称 执 业 医 师 法 ), 现 对 医 师 资 格 考 试 报 名 资 格 规 定 如

KillTest 质量更高 服务更好 学习资料 半年免费更新服务


LTM Management Console

EPSON

IBM Rational ClearQuest Client for Eclipse 1/ IBM Rational ClearQuest Client for Ecl

Microsoft Word - Enriched TEKLA Curriculum Guide (chi ver)

) ) ) )-. ) ) / )-. )-. )-. -. : -/ -0 0/.. ; -.0 : 0 ).- ; 0 ).=? 2 2 ) / / ) - ; ) ; )/ :.0/10)/ / 34 ; )/ 10. ; / 0 )

Microsoft Word - template.doc

Chapter 2

AL-MX200 Series

untitled

QVM330 多阜寬頻路由器

ebook140-11

untitled

SL2511 SR Plus 操作手冊_單面.doc

QVM330 多阜寬頻路由器

ebook

Data Server_new_.doc


C3_ppt.PDF

Windows 2000 Server for T100

10 IBM Louis V. Gerstner, Jr. 15 Moore's Law EPC PC 2-2

網站安全

<4D F736F F D D352DBED6D3F2CDF8D7E9BDA8D3EBB9DCC0EDCFEEC4BFBDCCB3CCD5FDCEC42E646F63>

目 录 目 录... I 1 背 景 介 绍 指 导 思 想 和 建 设 目 标 建 设 内 容 系 统 定 位 系 统 架 构 信 息 交 换 平 台 建 立 云 计 算 应

1. 二 進 制 數 值 ( ) 2 轉 換 為 十 六 進 制 時, 其 值 為 何? (A) ( 69 ) 16 (B) ( 39 ) 16 (C) ( 7 A ) 16 (D) ( 8 A ) 在 電 腦 術 語 中 常 用 的 UPS, 其 主 要 功 能

R3105+ ADSL

GoFlex Home UG Book.book

Microsoft Word - Functional_Notes_3.90_CN.doc

Transcription:

2 Software as a Service SaaS DMA Web Microsoft Office 300 Microsoft Office Google Docs 12.5 Web 2 2.1 Amazon Web Services Python boto boto AWS Python boto Python 2.5 2.7 Python 3 Python 2.6 W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg O2@h @@@ @@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ O2@h @@@ @@@@@@@@f @@@@@@@@f @@@@@@@5f @f@hf @f@g J5g 7Hg @g J5g 7Hg @h J5h 7Hh @h J5h 7Hh @he @@@@@@@f @@@@@@@f J(Mh 7Yhe @@6Kh @@@@6Xg I4@@)Xf I'@1f V'@f N@f @f @f J5f W.Yf '6KO.Yg V4@@0Yg @@f @@f @@f @@f O2@h @@@ @@@@@@@@f O2@6Kg @(MI'@f J@HeN@Lf 7@f@1f @@f@@f @@f@@f 3@f@@f N@LeJ@@f @)KO&@5f I4@@@@Hf @@f J@5f W&(Yf W&(Yg O&0Yg @@0Mh @@fn@1e @@fj@5e @@LhJ@@ @@1h7@@ @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @@@@@e@f@@@@ W-Xe O&@)Xe @(Yhf J(Yhg @KO&YfO26Xf @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@ej@5f@5g @5e7@Hf(Yg (YeJ@5/Khe W&(YV46Kh O&0YfI'@6Kf O20MgV4@@6Xe O20MheI'@,e @0M V+Ye @@(Mhe @@Hhf @5hf @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @(Mhf@5f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@@@@@@f @@@@@@@f J(Mh 7Yhe @@6Kh @@@@6Xg I4@@)Xf I'@1f V'@f N@f @f @f J5f W.Yf '6KO.Yg V4@@0Yg

W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @@g@@f @f@@f W2@@6Xg 3@g@5f @@f N@g@Hf @5f 3LeJ5f V/KeO.Yf V4@@0Yg W&Yf@f J@Hf W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g &@@@@@@@@f W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f W2@@6Xg @@f @5f J@Hf W.MeI/Xf W&Yf@f W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g 7HeN1f J@g@Lf 7@g@1f W2@@6Xg @@@ O2@h &@@@@@@@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f W&@@@@)Xf V/KeO.Yf 7(MI'@1f V4@@0Yg @HeN@@f @f@@f W2@@6Xg @@@@@@@@f @@f @5f J@Hf W&@@@@)Xf 75g 7(MI'@1f J(Yg @HeN@@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Yh W.Ye@f W.Yg @f@@f W2@@6Xg @@f @5f J@Hf @@@ O2@h @@ 75g J(Yg W.Yg W.Yh W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Ye@f @@@@@@@@f @@@@@@@5f @@ @f@hf @f@g J5g 7Hg @g @@@@@@@@f J5g @@@@@@@f 7Hg J(Mh @h 7Yhe J5h @@6Kh 7Hh @@@@6Xg @h I4@@)Xf J5h I'@1f 7Hh V'@f @he N@f J5f @@f W.Yf @@@ O2@h '6KO.Yg V4@@0Yg J@HeN@Lf @@f 7@f@1f @@f@@f 3@f@@f O2@6Kg @(MI'@f N@LeJ@@f @)KO&@5f @@fn@1e @@@@@@@@f I4@@@@Hf @@f J@5f W&(Yf @@fj@5e W&(Yg @@LhJ@@ O&0Yg @@1h7@@ @@0Mh @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @@@@@e@f@@@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @KO&YfO26Xf J(Yhg @(Yhf O&@)Xe W-Xe @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@f@@f@@g @@(Mhe @@ej@5f@5g @@Hhf @0M @5e7@Hf(Yg @5hf W&@@@@)Xf (YeJ@5/Khe 7(MI'@1f O20MheI'@,e O20MgV4@@6Xe W&(YV46Kh @HeN@@f O&0YfI'@6Kf @f@@f W2@@6Xg @@e@@@@@@@@e@@f V+Ye @@e@@e@@e@@f J(Yg @@f @5f J@Hf 75g W&(Yh W.Yg 7@Hhe @(Mhf@5f W.Yh W2(Mg W&(Yh O2@@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Ye@f J@@@@6Kg 7@(MI'@g @@HeN@Lf @@f@1f @@f@@f 3@f@5f N@LeJ@Hf @)KO&@g I4@0Mg 26 2.1.1 Amazon Web Services Amazon Web Services http://aws.amazon.com/ Sign Up Now Elastic Compute Cloud EC2 Simple Storage Service S3 SimpleDB Simple Queue Service SQS Account Security Credentials Access 2Access Ke Amazon Web Services 2.1.2 boto boto github http://github.com/boto/boto master branch tag boto Python setup.py install develop Windows boto $ python setup.py install root administrator

UNIXsudo $ sudo python setup.py install Windows 2.1.3 boto Amazon Tools htp://aws.amazon.com/developertools Java credentials.cfg AWSAccessKeyId=MyAccessKey AWSSecretKey=MySecretKey AWS_CREDENTIAL_FILE bash shell export AWS_CREDENTIAL_FILE=/full/path/to/credentials.cfg shell RC.bashrc.zshrc T-Shell.tcshrc setenv AWS_CREDENTIAL_FILE=/full/path/to/credentials.cfg boto.cfg boto BOTO_CONFIG boto.cfg # File: boto.cfg 2 27 elbadminaws us-east-1 AWS ap-southeast-1 [Boto] elb_region_name = us-east-1 elb_region_endpoint = elasticloadbalancing.us-east-1.amazonaws.com W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg O2@h @@@ @@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ O2@h @@@ @@@@@@@@f @@@@@@@@f @@@@@@@5f @f@hf @f@g J5g 7Hg @g J5g 7Hg @h J5h 7Hh @h J5h 7Hh @he @@@@@@@f @@@@@@@f J(Mh 7Yhe @@6Kh @@@@6Xg I4@@)Xf I'@1f V'@f N@f @f @f J5f W.Yf '6KO.Yg V4@@0Yg @@f @@f @@f @@f O2@h @@@ @@@@@@@@f O2@6Kg @(MI'@f J@HeN@Lf 7@f@1f @@f@@f @@f@@f 3@f@@f N@LeJ@@f @)KO&@5f I4@@@@Hf @@f J@5f W&(Yf W&(Yg O&0Yg @@0Mh @@fn@1e @@fj@5e @@LhJ@@ @@1h7@@ @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @@@@@e@f@@@@ W-Xe O&@)Xe @(Yhf J(Yhg @KO&YfO26Xf @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@ej@5f@5g @5e7@Hf(Yg (YeJ@5/Khe W&(YV46Kh O&0YfI'@6Kf O20MgV4@@6Xe O20MheI'@,e @0M V+Ye @@(Mhe @@Hhf @5hf @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @(Mhf@5f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@@@@@@@f @@@@@@@5f @f@hf @f@g J5g 7Hg @g J5g 7Hg @h J5h 7Hh @h J5h 7Hh @he

W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @@g@@f @f@@f W2@@6Xg 3@g@5f @@f N@g@Hf @5f 3LeJ5f V/KeO.Yf V4@@0Yg W&Yf@f J@Hf W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g &@@@@@@@@f W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f W2@@6Xg @@f @5f J@Hf W.MeI/Xf W&Yf@f W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g 7HeN1f J@g@Lf 7@g@1f W2@@6Xg @@@ O2@h &@@@@@@@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f W&@@@@)Xf V/KeO.Yf 7(MI'@1f V4@@0Yg @HeN@@f @f@@f W2@@6Xg @@@@@@@@f @@f @5f J@Hf W&@@@@)Xf 75g 7(MI'@1f J(Yg @HeN@@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Yh W.Ye@f W.Yg @f@@f W2@@6Xg @@f @5f J@Hf @@@ O2@h @@ 75g J(Yg W.Yg W.Yh W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Ye@f @@@@@@@@f @@@@@@@5f @@ @f@hf @f@g J5g 7Hg @g @@@@@@@@f J5g @@@@@@@f 7Hg J(Mh @h 7Yhe J5h @@6Kh 7Hh @@@@6Xg @h I4@@)Xf J5h I'@1f 7Hh V'@f @he N@f J5f @@f W.Yf @@@ O2@h '6KO.Yg V4@@0Yg J@HeN@Lf @@f 7@f@1f @@f@@f 3@f@@f O2@6Kg @(MI'@f N@LeJ@@f @)KO&@5f @@fn@1e @@@@@@@@f I4@@@@Hf @@f J@5f W&(Yf @@fj@5e W&(Yg @@LhJ@@ O&0Yg @@1h7@@ @@0Mh @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @@@@@e@f@@@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @KO&YfO26Xf J(Yhg @(Yhf O&@)Xe W-Xe @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@f@@f@@g @@(Mhe @@ej@5f@5g @@Hhf @0M @5e7@Hf(Yg @5hf W&@@@@)Xf (YeJ@5/Khe 7(MI'@1f O20MheI'@,e O20MgV4@@6Xe W&(YV46Kh @HeN@@f O&0YfI'@6Kf @f@@f W2@@6Xg @@e@@@@@@@@e@@f @@f @5f W2@6Xg V+Ye J@Hf W.MI/Xf 75g 7HeN1f @@e@@e@@e@@f J(Yg W.Yg @(Mhf@5f W.Yh W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Ye@f W.YeI')Xf @f@f 7HeV'1f @LeJ5f @gn@f 3)KO.Yf @g@f V'@@@Hg 3LfJ5f S@@@Lg V/KeO.Yf W.R4@)Xf V4@@@0Yf 28 # Imitate some EC2 configs [Instance] local-ipv4 = 127.0.0.1 local-hostname = localhost security-groups = default public-ipv4 = 127.0.0.1 public-hostname = my-public-hostname.local hostname = localhost instance-type = m1.small instance-id = i-00000000 # Set the default SDB domain [DB] db_name = default # Set up base logging [loggers] keys=root,boto [handlers] keys=hand01 [formatters] keys=form01 [logger_boto] level=info handlers=hand01 [logger_root] level=info handlers=hand01 [handler_hand01] class=streamhandler level=info formatter=form01 args=(sys.stdout,) [formatter_form01] format=%(asctime)s [%(name)s] %(levelname)s %(message)s datefmt= class=logging.formatter

[Instance] EC2 boto EC2 EC2 SimpleDB default default Python INFO DEBUGAWS 2.1.4 boto Python >>> import boto >>> sdb = boto.connect_sdb() >>> sdb.create_domain("default") SimpleDB default AWS SimpleDB boto http://github.com/boto/boto boto http://groups.google.com/group/boto-users 2.2 2 29 W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg O2@h @@@ @@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ O2@h @@@ @@@@@@@@f @@@@@@@@f @@@@@@@5f @f@hf @f@g J5g 7Hg @g J5g 7Hg @h J5h 7Hh @h J5h 7Hh @he @@@@@@@f @@@@@@@f J(Mh 7Yhe @@6Kh @@@@6Xg I4@@)Xf I'@1f V'@f N@f @f @f J5f W.Yf '6KO.Yg V4@@0Yg @@f @@f @@f @@f O2@h @@@ @@@@@@@@f O2@6Kg @(MI'@f J@HeN@Lf 7@f@1f @@f@@f @@f@@f 3@f@@f N@LeJ@@f @)KO&@5f I4@@@@Hf @@f J@5f W&(Yf W&(Yg O&0Yg @@0Mh @@fn@1e @@fj@5e @@LhJ@@ @@1h7@@ @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @@@@@e@f@@@@ W-Xe O&@)Xe @(Yhf J(Yhg @KO&YfO26Xf @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@ej@5f@5g @5e7@Hf(Yg (YeJ@5/Khe W&(YV46Kh O&0YfI'@6Kf O20MgV4@@6Xe O20MheI'@,e @0M V+Ye @@(Mhe @@Hhf @5hf @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @(Mhf@5f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f O2@6Kg @(MI'@f J@HeN@Lf 7@f@1f @@f@@f @@f@@f 3@f@@f N@LeJ@@f @)KO&@5f I4@@@@Hf @@f J@5f W&(Yf W&(Yg O&0Yg @@0Mh

Web HTML XML JSON 30 W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg O2@h @@@ @@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ O2@h @@@ @@@@@@@@f @@@@@@@@f @@@@@@@5f @f@hf @f@g J5g 7Hg @g J5g 7Hg @h J5h 7Hh @h J5h 7Hh @he @@@@@@@f @@@@@@@f J(Mh 7Yhe @@6Kh @@@@6Xg I4@@)Xf I'@1f V'@f N@f @f @f J5f W.Yf '6KO.Yg V4@@0Yg @@f @@f @@f @@f O2@h @@@ @@@@@@@@f O2@6Kg @(MI'@f J@HeN@Lf 7@f@1f @@f@@f @@f@@f 3@f@@f N@LeJ@@f @)KO&@5f I4@@@@Hf @@f J@5f W&(Yf W&(Yg O&0Yg @@0Mh @@fn@1e @@fj@5e @@LhJ@@ @@1h7@@ @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @@@@@e@f@@@@ W-Xe O&@)Xe @(Yhf J(Yhg @KO&YfO26Xf @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@ej@5f@5g @5e7@Hf(Yg (YeJ@5/Khe W&(YV46Kh O&0YfI'@6Kf O20MgV4@@6Xe O20MheI'@,e @0M V+Ye @@(Mhe @@Hhf @5hf @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @(Mhf@5f W2@6Xg W&@@@)Xg.MI'1g N@g @g J5g O&Ug @@@@)Xf I'@1f V'@f N@f @f J5f W.Yf '6KO.Yg V4@@0Yg W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg

3 SaaS 2.3 2 Amazon Web Serv Simple Storage ServiceS3 AWS Amazon Web Services SimpleDB SDB Amazon Web Services 10 - S3 SDB Relational DB RDB RDB Amazon SDB 2 31 W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg O2@h @@@ @@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ O2@h @@@ @@@@@@@@f @@@@@@@@f @@@@@@@5f @f@hf @f@g J5g 7Hg @g J5g 7Hg @h J5h 7Hh @h J5h 7Hh @he @@@@@@@f @@@@@@@f J(Mh 7Yhe @@6Kh @@@@6Xg I4@@)Xf I'@1f V'@f N@f @f @f J5f W.Yf '6KO.Yg V4@@0Yg @@f @@f @@f @@f O2@h @@@ @@@@@@@@f O2@6Kg @(MI'@f J@HeN@Lf 7@f@1f @@f@@f @@f@@f 3@f@@f N@LeJ@@f @)KO&@5f I4@@@@Hf @@f J@5f W&(Yf W&(Yg O&0Yg @@0Mh @@fn@1e @@fj@5e @@LhJ@@ @@1h7@@ @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @@@@@e@f@@@@ W-Xe O&@)Xe @(Yhf J(Yhg @KO&YfO26Xf @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@ej@5f@5g @5e7@Hf(Yg (YeJ@5/Khe W&(YV46Kh O&0YfI'@6Kf O20MgV4@@6Xe O20MheI'@,e @0M V+Ye @@(Mhe @@Hhf @5hf @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @(Mhf@5f W2@6Xg W&@@@)Xg.MI'1g N@g @g J5g O&Ug @@@@)Xf I'@1f V'@f N@f @f J5f W.Yf '6KO.Yg V4@@0Yg O2@h @@@ @@@@@@@@f

RDB Amazon MySQL Amazon M Amazon IT Amazon SDB MySQL SDB SDB 3 domainitem - key-value pair SDB schema-less 2.1 2.1 2.1 SDB 32 W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg O2@h @@@ @@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ O2@h @@@ @@@@@@@@f @@@@@@@@f @@@@@@@5f @f@hf @f@g J5g 7Hg @g J5g 7Hg @h J5h 7Hh @h J5h 7Hh @he @@@@@@@f @@@@@@@f J(Mh 7Yhe @@6Kh @@@@6Xg I4@@)Xf I'@1f V'@f N@f @f @f J5f W.Yf '6KO.Yg V4@@0Yg @@f @@f @@f @@f O2@h @@@ @@@@@@@@f O2@6Kg @(MI'@f J@HeN@Lf 7@f@1f @@f@@f @@f@@f 3@f@@f N@LeJ@@f @)KO&@5f I4@@@@Hf @@f J@5f W&(Yf W&(Yg O&0Yg @@0Mh @@fn@1e @@fj@5e @@LhJ@@ @@1h7@@ @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @@@@@e@f@@@@ W-Xe O&@)Xe @(Yhf J(Yhg @KO&YfO26Xf @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@ej@5f@5g @5e7@Hf(Yg (YeJ@5/Khe W&(YV46Kh O&0YfI'@6Kf O20MgV4@@6Xe O20MheI'@,e @0M V+Ye @@(Mhe @@Hhf @5hf @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @(Mhf@5f W2@6Xg W&@@@)Xg.MI'1g N@g @g J5g O&Ug @@@@)Xf I'@1f V'@f N@f @f J5f W.Yf '6KO.Yg V4@@0Yg W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f

W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @@g@@f @f@@f W2@@6Xg 3@g@5f @@f N@g@Hf @5f 3LeJ5f V/KeO.Yf V4@@0Yg W&Yf@f J@Hf W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g &@@@@@@@@f W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f W2@@6Xg @@f @5f J@Hf W.MeI/Xf W&Yf@f W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g 7HeN1f J@g@Lf 7@g@1f W2@@6Xg @@@ O2@h &@@@@@@@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f W&@@@@)Xf V/KeO.Yf 7(MI'@1f V4@@0Yg @HeN@@f @f@@f W2@@6Xg @@@@@@@@f @@f @5f J@Hf W&@@@@)Xf 75g 7(MI'@1f J(Yg @HeN@@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Yh W.Ye@f W.Yg @f@@f W2@@6Xg @@f @5f J@Hf @@@ O2@h @@ 75g J(Yg W.Yg W.Yh W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Ye@f @@@@@@@@f @@@@@@@5f @@ @f@hf @f@g J5g 7Hg @g @@@@@@@@f J5g @@@@@@@f 7Hg J(Mh @h 7Yhe J5h @@6Kh 7Hh @@@@6Xg @h I4@@)Xf J5h I'@1f 7Hh V'@f @he N@f J5f @@f W.Yf @@@ O2@h '6KO.Yg V4@@0Yg J@HeN@Lf @@f 7@f@1f @@f@@f 3@f@@f O2@6Kg @(MI'@f N@LeJ@@f @)KO&@5f @@fn@1e @@@@@@@@f I4@@@@Hf @@f J@5f W&(Yf @@fj@5e W&(Yg @@LhJ@@ O&0Yg @@1h7@@ @@0Mh @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @@@@@e@f@@@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @KO&YfO26Xf J(Yhg @(Yhf O&@)Xe W-Xe @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@f@@f@@g @@(Mhe @@ej@5f@5g @@Hhf @0M @5e7@Hf(Yg @5hf W&@@@)Xg (YeJ@5/Khe.MI'1g W2@6Xg O20MheI'@,e O20MgV4@@6Xe W&(YV46Kh O&0YfI'@6Kf @@e@@@@@@@@e@@f V+Ye @@@@)Xf O&Ug N@g @g J5g W&@@@)Xg I'@1f.MI'1g W2@6Xg @@e@@e@@e@@f V'@f N@f @(Mhf@5f '6KO.Yg V4@@0Yg J5f W.Yf @@@@)Xf O&Ug N@g @g J5g '6KO.Yg I'@1f V4@@0Yg V'@f N@f J5f W.Yf 2 33 SDB boto SDB boto >>> import boto >>> sdb = boto.connect_sdb() >>> db = sdb.get_domain("my_domain_name") >>> db.get_item("item_name") ID >>> db.select("select * FROM `my_domain_name` WHERE `name` LIKE '%foo%' ORDER BY `name` DESC") name foo name SDB 2 1 SDB boto Django DB boto from boto.sdb.db.model import Model from boto.sdb.db.property import StringProperty, IntegerProperty, ReferenceProperty, ListProperty class SimpleObject(Model): """A simple object to show how SDB Persistence works in boto""" name = StringProperty() some_number = IntegerProperty() multi_value_property = ListProperty(str) class AnotherObject(Model): """A second SDB object used to show how references work""" lexicographical http://en.wikipedia.org/wiki/lexicographical_order order

W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @@g@@f @f@@f W2@@6Xg 3@g@5f @@f N@g@Hf @5f 3LeJ5f V/KeO.Yf V4@@0Yg W&Yf@f J@Hf W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g &@@@@@@@@f W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f W2@@6Xg @@f @5f J@Hf W.MeI/Xf W&Yf@f W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g 7HeN1f J@g@Lf 7@g@1f W2@@6Xg @@@ O2@h &@@@@@@@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f W&@@@@)Xf V/KeO.Yf 7(MI'@1f V4@@0Yg @HeN@@f @f@@f W2@@6Xg @@@@@@@@f @@f @5f J@Hf W&@@@@)Xf 75g 7(MI'@1f J(Yg @HeN@@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Yh W.Ye@f W.Yg @f@@f W2@@6Xg @@f @5f J@Hf @@@ O2@h @@ 75g J(Yg W.Yg W.Yh W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Ye@f @@@@@@@@f @@@@@@@5f @@ @f@hf @f@g J5g 7Hg @g @@@@@@@@f J5g @@@@@@@f 7Hg J(Mh @h 7Yhe J5h @@6Kh 7Hh @@@@6Xg @h I4@@)Xf J5h I'@1f 7Hh V'@f @he N@f J5f @@f W.Yf @@@ O2@h '6KO.Yg V4@@0Yg J@HeN@Lf @@f 7@f@1f @@f@@f 3@f@@f O2@6Kg @(MI'@f N@LeJ@@f @)KO&@5f @@fn@1e @@@@@@@@f I4@@@@Hf @@f J@5f W&(Yf @@fj@5e W&(Yg @@LhJ@@ O&0Yg @@1h7@@ @@0Mh @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @@@@@e@f@@@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @KO&YfO26Xf J(Yhg @(Yhf O&@)Xe W-Xe @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@f@@f@@g @@(Mhe @@ej@5f@5g @@Hhf @0M @5e7@Hf(Yg @5hf W&@@@)Xg (YeJ@5/Khe.MI'1g W2@6Xg O20MheI'@,e O20MgV4@@6Xe W&(YV46Kh O&0YfI'@6Kf @@e@@@@@@@@e@@f O&Ug N@g @g J5g W&g V+Ye @@@@)Xf I'@1f @@e@@e@@e@@f V'@f N@f @(Mhf@5f '6KO.Yg V4@@0Yg J5f W.Yf W.Yf@@g W&@g 7Yf@@g W.Ye@@g W.Ye@@g W.Y@@g W.Y@@g W&@@g @@@@@@@@@@@f @@g 34 name = StringProperty() object_link = ReferenceProperty(SimpleObject, collection_name="other_objects") 2 SimpleObject SDB python list id ID id Python UUIDUUID object_link collection_name SimpleObject boot boto SDB >>> my_obj = SimpleObject("object_id") >>> my_obj.name = "My Object Name" >>> my_obj.some_number = 1234 >>> my_obj.multi_value_property = ["foo", "bar"] >>> my_obj.put() >>> my_second_obj = AnotherObject() >>> my_second_obj = "Second Object" >>> my_second_obj.object_link = my_obj >>> my_second_obj.put() ID IDput ID ID ID >>> my_obj = SimpleObject.get_by_id("object_id")

W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @@g@@f @f@@f W2@@6Xg 3@g@5f @@f N@g@Hf @5f 3LeJ5f V/KeO.Yf V4@@0Yg W&Yf@f J@Hf W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g &@@@@@@@@f W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f W2@@6Xg @@f @5f J@Hf W.MeI/Xf W&Yf@f W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g 7HeN1f J@g@Lf 7@g@1f W2@@6Xg @@@ O2@h &@@@@@@@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f W&@@@@)Xf V/KeO.Yf 7(MI'@1f V4@@0Yg @HeN@@f @f@@f W2@@6Xg @@@@@@@@f @@f @5f J@Hf W&@@@@)Xf 75g 7(MI'@1f J(Yg @HeN@@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Yh W.Ye@f W.Yg @f@@f W2@@6Xg @@f @5f J@Hf @@@ O2@h @@ 75g J(Yg W.Yg W.Yh W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Ye@f @@@@@@@@f @@@@@@@5f @@ @f@hf @f@g J5g 7Hg @g @@@@@@@@f J5g @@@@@@@f 7Hg J(Mh @h 7Yhe J5h @@6Kh 7Hh @@@@6Xg @h I4@@)Xf J5h I'@1f 7Hh V'@f @he N@f J5f @@f W.Yf @@@ O2@h '6KO.Yg V4@@0Yg J@HeN@Lf @@f 7@f@1f @@f@@f 3@f@@f O2@6Kg @(MI'@f N@LeJ@@f @)KO&@5f @@fn@1e @@@@@@@@f I4@@@@Hf @@f J@5f W&(Yf @@fj@5e W&(Yg @@LhJ@@ O&0Yg @@1h7@@ @@0Mh @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @@@@@e@f@@@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @KO&YfO26Xf J(Yhg @(Yhf O&@)Xe W-Xe @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@f@@f@@g @@(Mhe @@ej@5f@5g @@Hhf @0M @5e7@Hf(Yg @5hf W&@@@)Xg (YeJ@5/Khe.MI'1g W2@6Xg O20MheI'@,e O20MgV4@@6Xe W&(YV46Kh O&0YfI'@6Kf @@e@@@@@@@@e@@f O&Ug N@g @g J5g V+Ye @@@@)Xf @@@@@@@f I'@1f J(Mh @@e@@e@@e@@f V'@f 7Yhe N@f @@6Kh @(Mhf@5f @@@@6Xg '6KO.Yg V4@@0Yg J5f I4@@)Xf W.Yf I'@1f '6KO.Yg V'@f V4@@0Yg N@f J5f W.Yf 2 35 >>> my_obj.name u'my Object Name' >>> my_obj.some_number 1234 >>> my_obj.multi_value_property [u'foo', u'bar'] >>> my_obj.other_objects.next().name u'second Object' other_objects next() Query Query generator SDB >>> my_obj.other_objects[0] SDB >>> query = my_obj.other_objects >>> query.filter("name like", "%Other") >>> query.order("-name") >>> for obj in query:... Other StopIteration 2.4 SaaS Google AppEngine Amazon Web Services Auto-Scaling Groups

W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @@g@@f @f@@f W2@@6Xg 3@g@5f @@f N@g@Hf @5f 3LeJ5f V/KeO.Yf V4@@0Yg W&Yf@f J@Hf W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g &@@@@@@@@f W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f W2@@6Xg @@f @5f J@Hf W.MeI/Xf W&Yf@f W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g 7HeN1f J@g@Lf 7@g@1f W2@@6Xg @@@ O2@h &@@@@@@@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f W&@@@@)Xf V/KeO.Yf 7(MI'@1f V4@@0Yg @HeN@@f @f@@f W2@@6Xg @@@@@@@@f @@f @5f J@Hf W&@@@@)Xf 75g 7(MI'@1f J(Yg @HeN@@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Yh W.Ye@f W.Yg @f@@f W2@@6Xg @@f @5f J@Hf @@@ O2@h @@ 75g J(Yg W.Yg W.Yh W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Ye@f @@@@@@@@f @@@@@@@5f @@ @f@hf @f@g J5g 7Hg @g @@@@@@@@f J5g @@@@@@@f 7Hg J(Mh @h 7Yhe J5h @@6Kh 7Hh @@@@6Xg @h I4@@)Xf J5h I'@1f 7Hh V'@f @he N@f J5f @@f W.Yf @@@ O2@h '6KO.Yg V4@@0Yg J@HeN@Lf @@f 7@f@1f @@f@@f 3@f@@f O2@6Kg @(MI'@f N@LeJ@@f @)KO&@5f @@fn@1e @@@@@@@@f I4@@@@Hf @@f J@5f W&(Yf @@fj@5e W&(Yg @@LhJ@@ O&0Yg @@1h7@@ @@0Mh @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @@@@@e@f@@@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @KO&YfO26Xf J(Yhg @(Yhf O&@)Xe W-Xe @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@f@@f@@g @@(Mhe @@ej@5f@5g @@Hhf @0M @5e7@Hf(Yg @5hf W&@@@)Xg (YeJ@5/Khe.MI'1g W2@6Xg O20MheI'@,e O20MgV4@@6Xe W&(YV46Kh O&0YfI'@6Kf @@e@@@@@@@@e@@f V+Ye @@@@)Xf O&Ug I'@1f N@g @g J5g @@e@@e@@e@@f V'@f W&(Yh N@f 7@Hhe @(Mhf@5f W2(Mg W&(Yh O2@@f '6KO.Yg V4@@0Yg J5f J@@@@6Kg W.Yf 7@(MI'@g @@HeN@Lf @@f@1f @@f@@f 3@f@5f N@LeJ@Hf @)KO&@g I4@0Mg 36 Amazon Elastic Load Balancing ELB 2.4.1 Elastic Load Balancing Amazon Elastic Load Balancing ELB IDELB ELB HTTP TCP ELB Auto-Scaling Groups Auto-Scaling Groups ELB boto elbadmin boto ELB % elbadmin Usage: elbadmin [options] [command] Commands: list ls List all Elastic Load Balancers delete <name> Delete ELB <name> get <name> Get all instances associated with <name> create <name> Create an ELB add <name> <instance> Add <instance> in ELB <name> remove rm <name> <instance> Remove <instance> from ELB <name> enable en <name> <zone> Enable Zone <zone> for ELB <name> disable <name> <zone> Disable Zone <zone> for ELB <name>

W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @@g@@f @f@@f W2@@6Xg 3@g@5f @@f N@g@Hf @5f 3LeJ5f V/KeO.Yf V4@@0Yg W&Yf@f J@Hf W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g &@@@@@@@@f W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f W2@@6Xg @@f @5f J@Hf W.MeI/Xf W&Yf@f W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g 7HeN1f J@g@Lf 7@g@1f W2@@6Xg @@@ O2@h &@@@@@@@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f W&@@@@)Xf V/KeO.Yf 7(MI'@1f V4@@0Yg @HeN@@f @f@@f W2@@6Xg @@@@@@@@f @@f @5f J@Hf W&@@@@)Xf 75g 7(MI'@1f J(Yg @HeN@@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Yh W.Ye@f W.Yg @f@@f W2@@6Xg @@f @5f J@Hf @@@ O2@h @@ 75g J(Yg W.Yg W.Yh W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Ye@f @@@@@@@@f @@@@@@@5f @@ @f@hf @f@g J5g 7Hg @g @@@@@@@@f J5g @@@@@@@f 7Hg J(Mh @h 7Yhe J5h @@6Kh 7Hh @@@@6Xg @h I4@@)Xf J5h I'@1f 7Hh V'@f @he N@f J5f @@f W.Yf @@@ O2@h '6KO.Yg V4@@0Yg J@HeN@Lf @@f 7@f@1f @@f@@f 3@f@@f O2@6Kg @(MI'@f N@LeJ@@f @)KO&@5f @@fn@1e @@@@@@@@f I4@@@@Hf @@f J@5f W&(Yf @@fj@5e W&(Yg @@LhJ@@ O&0Yg @@1h7@@ @@0Mh @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @@@@@e@f@@@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @KO&YfO26Xf J(Yhg @(Yhf O&@)Xe W-Xe @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@f@@f@@g @@(Mhe @@ej@5f@5g @@Hhf @0M @5e7@Hf(Yg @5hf W&@@@)Xg (YeJ@5/Khe.MI'1g W2@6Xg O20MheI'@,e O20MgV4@@6Xe W&(YV46Kh O&0YfI'@6Kf @@e@@@@@@@@e@@f O&Ug N@g @g J5g @@@@@@@@f V+Ye @@@@)Xf @@@@@@@5f I'@1f @f@hf @@e@@e@@e@@f V'@f @f@g N@f J5g @(Mhf@5f 7Hg '6KO.Yg V4@@0Yg J5f @g W.Yf J5h J5g 7Hh 7Hg @he @h J5h 7Hh @h 2 37 Options: --version show program's version number and exit -h, --help show this help message and exit -z ZONES, --zone=zones Operate on zone -l LISTENERS, --listener=listeners Specify Listener in,out,proto ELB % elbadmin -l 80,80,http -z us-east-1a create test Name: test DNS Name: test-68924542.us-east-1.elb.amazonaws.com Listeners --------- IN OUT PROTO 80 80 HTTP Zones --------- us-east-1a Instances --------- listener zone HTTP tcp http DNS Name elbadmin get ELB CNAME DNS Name IP IP CNAME A Amazon ELB HTTPS SSL Amazon boto Amazon HTTPS 80 443 boto elbadmin

2.4.2 ELB ELB elbadmin add % elbadmin add test i-2308974 ELB Amazon service level agreement SLA 99% 2 ELB boto % elbadmin add test i-2308974 % elbadmin rm test i-0983123 % kill_instance i-0983123 elbadmin ID 38 http://en.wikipedia.org/wiki/service_level_agreement W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg O2@h @@@ @@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ O2@h @@@ @@@@@@@@f @@@@@@@@f @@@@@@@5f @f@hf @f@g J5g 7Hg @g J5g 7Hg @h J5h 7Hh @h J5h 7Hh @he @@@@@@@f @@@@@@@f J(Mh 7Yhe @@6Kh @@@@6Xg I4@@)Xf I'@1f V'@f N@f @f @f J5f W.Yf '6KO.Yg V4@@0Yg @@f @@f @@f @@f O2@h @@@ @@@@@@@@f O2@6Kg @(MI'@f J@HeN@Lf 7@f@1f @@f@@f @@f@@f 3@f@@f N@LeJ@@f @)KO&@5f I4@@@@Hf @@f J@5f W&(Yf W&(Yg O&0Yg @@0Mh @@fn@1e @@fj@5e @@LhJ@@ @@1h7@@ @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @@@@@e@f@@@@ W-Xe O&@)Xe @(Yhf J(Yhg @KO&YfO26Xf @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@ej@5f@5g @5e7@Hf(Yg (YeJ@5/Khe W&(YV46Kh O&0YfI'@6Kf O20MgV4@@6Xe O20MheI'@,e @0M V+Ye @@(Mhe @@Hhf @5hf @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @(Mhf@5f W2@6Xg W&@@@)Xg.MI'1g N@g @g J5g O&Ug @@@@)Xf I'@1f V'@f N@f @f J5f W.Yf '6KO.Yg V4@@0Yg W2@6Xg W.MI/Xf 7HeN1f @f@f @LeJ5f 3)KO.Yf V'@@@Hg S@@@Lg W.R4@)Xf W.YeI')Xf 7HeV'1f @gn@f @g@f 3LfJ5f V/KeO.Yf V4@@@0Yf

W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @@g@@f @f@@f W2@@6Xg 3@g@5f @@f N@g@Hf @5f 3LeJ5f V/KeO.Yf V4@@0Yg W&Yf@f J@Hf W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g &@@@@@@@@f W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f W2@@6Xg @@f @5f J@Hf W.MeI/Xf W&Yf@f W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g 7HeN1f J@g@Lf 7@g@1f W2@@6Xg @@@ O2@h &@@@@@@@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f W&@@@@)Xf V/KeO.Yf 7(MI'@1f V4@@0Yg @HeN@@f @f@@f W2@@6Xg @@@@@@@@f @@f @5f J@Hf W&@@@@)Xf 75g 7(MI'@1f J(Yg @HeN@@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Yh W.Ye@f W.Yg @f@@f W2@@6Xg @@f @5f J@Hf @@@ O2@h @@ 75g J(Yg W.Yg W.Yh W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Ye@f @@@@@@@@f @@@@@@@5f @@ @f@hf @f@g J5g 7Hg @g @@@@@@@@f J5g @@@@@@@f 7Hg J(Mh @h 7Yhe J5h @@6Kh 7Hh @@@@6Xg @h I4@@)Xf J5h I'@1f 7Hh V'@f @he N@f J5f @@f W.Yf @@@ O2@h '6KO.Yg V4@@0Yg J@HeN@Lf @@f 7@f@1f @@f@@f 3@f@@f O2@6Kg @(MI'@f N@LeJ@@f @)KO&@5f @@fn@1e @@@@@@@@f I4@@@@Hf @@f J@5f W&(Yf @@fj@5e W&(Yg @@LhJ@@ O&0Yg @@1h7@@ @@0Mh @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @@@@@e@f@@@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @KO&YfO26Xf J(Yhg @(Yhf O&@)Xe W-Xe @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@f@@f@@g @@(Mhe @@ej@5f@5g @@Hhf @0M @5e7@Hf(Yg @5hf W&@@@)Xg (YeJ@5/Khe.MI'1g W2@6Xg O20MheI'@,e O20MgV4@@6Xe W&(YV46Kh O&0YfI'@6Kf @@e@@@@@@@@e@@f V+Ye @@@@)Xf O&Ug I'@1f N@g @g J5g J@HeN@Lf @@e@@e@@e@@f V'@f 7@f@1f N@f @(Mhf@5f @@f@@f O2@6Kg @(MI'@f '6KO.Yg V4@@0Yg J5f 3@f@@f W.Yf N@LeJ@@f @)KO&@5f @@0Mh I4@@@@Hf O&0Yg W&(Yf W&(Yg @@f J@5f 2 39 list_instances boto % list_instances ID Zone Groups Hostname ------------------------------------------------------------------ i-69c3e401 us-east-1a Wordpress..compute-1.amazonaws.com i-e4675a8c us-east-1c default..compute-1.amazonaws.com i-e6675a8e us-east-1d default..compute-1.amazonaws.com i-1a665b72 us-east-1a default..compute-1.amazonaws.com ID ELB ELB 2.5 % elbadmin delete test 2.4.3 boto pyami email Notification gmail smtp [Notification] smtp_host = smtp.gmail.com smtp_port = 587 smtp_tls = True smtp_user = my-sending-user@gmail.com smtp_pass = MY_PASSWORD smtp_from = my-sending-user@gmail.com smtp_to = my-recipient@gmail.com ubuntu

W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @@g@@f @f@@f W2@@6Xg 3@g@5f @@f N@g@Hf @5f 3LeJ5f V/KeO.Yf V4@@0Yg W&Yf@f J@Hf W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g &@@@@@@@@f W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f W2@@6Xg @@f @5f J@Hf W.MeI/Xf W&Yf@f W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g 7HeN1f J@g@Lf 7@g@1f W2@@6Xg @@@ O2@h &@@@@@@@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f W&@@@@)Xf V/KeO.Yf 7(MI'@1f V4@@0Yg @HeN@@f @f@@f W2@@6Xg @@@@@@@@f @@f @5f J@Hf W&@@@@)Xf 75g 7(MI'@1f J(Yg @HeN@@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Yh W.Ye@f W.Yg @f@@f W2@@6Xg @@f @5f J@Hf @@@ O2@h @@ 75g J(Yg W.Yg W.Yh W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Ye@f @@@@@@@@f @@@@@@@5f @@ @f@hf @f@g J5g 7Hg @g @@@@@@@@f J5g @@@@@@@f 7Hg J(Mh @h 7Yhe J5h @@6Kh 7Hh @@@@6Xg @h I4@@)Xf J5h I'@1f 7Hh V'@f @he N@f J5f @@f W.Yf @@@ O2@h '6KO.Yg V4@@0Yg J@HeN@Lf @@f 7@f@1f @@f@@f 3@f@@f O2@6Kg @(MI'@f N@LeJ@@f @)KO&@5f @@fn@1e @@@@@@@@f I4@@@@Hf @@f J@5f W&(Yf @@fj@5e W&(Yg @@LhJ@@ O&0Yg @@1h7@@ @@0Mh @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @@@@@e@f@@@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @KO&YfO26Xf J(Yhg @(Yhf O&@)Xe W-Xe @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@f@@f@@g @@(Mhe @@ej@5f@5g @@Hhf @5hf W&g @0M @5e7@Hf(Yg (YeJ@5/Khe O20MheI'@,e O20MgV4@@6Xe W&(YV46Kh O&0YfI'@6Kf @@e@@@@@@@@e@@f V+Ye W.Yf@@g W.Ye@@g W.Ye@@g W.Y@@g W.Y@@g W&@g W&@@g W.MeI/Xf 7Yf@@g 7HeN1f @@e@@e@@e@@f J@g@Lf @@@@@@@@@@@f 7@g@1f @(Mhf@5f W2@@6Xg @@g @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg 40 from boto.pyami.installers.ubuntu.installer import Installer import boto class ELBRegister(Installer): """Register this instance with a specific ELB""" def install(self): """Register with the ELB""" # code here to verify that you're # successfully installed and running elb_name = boto.config.get("elb", "name") elb = boto.connect_elb() b = ebl.get_all_load_balancers(elb_name) if len(b) <1: raise Exception, "No Load balancer found" b = b[0] b.register_instances([boto.config.get_instance ("instance_id")]) def main(self): self.install() ELB name 2.5 HTTP REST HTTP REST SaaS HTTP SOAP Representational State Transfer REST Roy Fielding 2000 REST Architectural Styles and the Design of Network-basedSoftware Architectures http://www.ics.uci.edu/~fielding/pubs/ dissertation/top.htm

HTTP REST HTTP HTTP HTTP header body HTTP <head> <body> REST REST XML SOAP Java Web Web Service Definition Language WSDL API API HTTP 2.5.1 HTTP header HTTP header REST header HTTP HTTP header DNS HTTP GET /module_name/id_argumentparam1=value1&param2=value2 module_name.get(id_argument, param1=value1,param2=value2) module_name.get(id_argument, {param1=value1,param2=value2}) web API URI 2 41 W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg O2@h @@@ @@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ O2@h @@@ @@@@@@@@f @@@@@@@@f @@@@@@@5f @f@hf @f@g J5g 7Hg @g J5g 7Hg @h J5h 7Hh @h J5h 7Hh @he @@@@@@@f @@@@@@@f J(Mh 7Yhe @@6Kh @@@@6Xg I4@@)Xf I'@1f V'@f N@f @f @f J5f W.Yf '6KO.Yg V4@@0Yg @@f @@f @@f @@f O2@h @@@ @@@@@@@@f O2@6Kg @(MI'@f J@HeN@Lf 7@f@1f @@f@@f @@f@@f 3@f@@f N@LeJ@@f @)KO&@5f I4@@@@Hf @@f J@5f W&(Yf W&(Yg O&0Yg @@0Mh @@fn@1e @@fj@5e @@LhJ@@ @@1h7@@ @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @@@@@e@f@@@@ W-Xe O&@)Xe @(Yhf J(Yhg @KO&YfO26Xf @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@ej@5f@5g @5e7@Hf(Yg (YeJ@5/Khe W&(YV46Kh O&0YfI'@6Kf O20MgV4@@6Xe O20MheI'@,e @0M V+Ye @@(Mhe @@Hhf @5hf @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @(Mhf@5f W&g W&@g W&@@g W.Y@@g W.Y@@g W.Ye@@g W.Ye@@g W.Yf@@g 7Yf@@g @@@@@@@@@@@f @@@@@@@@@@@f @@g @@g @@g @@g @@g O2@h @@@ @@@@@@@@f

REST REST 4 Web REST CRUD HTTP header REST API If-Match header If-Match header header if header header 412 Precondition Failed header header412 Precondition Failed header PUT If-Modified-Since header If-Modified-Since header HTTP GMT 304 Not Modified If-Unmodified-Since ID If-Unmodified-Since header GMT HTTP If- 42 W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg O2@h @@@ @@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ O2@h @@@ @@@@@@@@f @@@@@@@@f @@@@@@@5f @f@hf @f@g J5g 7Hg @g J5g 7Hg @h J5h 7Hh @h J5h 7Hh @he @@@@@@@f @@@@@@@f J(Mh 7Yhe @@6Kh @@@@6Xg I4@@)Xf I'@1f V'@f N@f @f @f J5f W.Yf '6KO.Yg V4@@0Yg @@f @@f @@f @@f O2@h @@@ @@@@@@@@f O2@6Kg @(MI'@f J@HeN@Lf 7@f@1f @@f@@f @@f@@f 3@f@@f N@LeJ@@f @)KO&@5f I4@@@@Hf @@f J@5f W&(Yf W&(Yg O&0Yg @@0Mh @@fn@1e @@fj@5e @@LhJ@@ @@1h7@@ @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @@@@@e@f@@@@ W-Xe O&@)Xe @(Yhf J(Yhg @KO&YfO26Xf @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@ej@5f@5g @5e7@Hf(Yg (YeJ@5/Khe W&(YV46Kh O&0YfI'@6Kf O20MgV4@@6Xe O20MheI'@,e @0M V+Ye @@(Mhe @@Hhf @5hf @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @(Mhf@5f W&g W&@g W&@@g W.Y@@g W.Y@@g W.Ye@@g W.Ye@@g W.Yf@@g 7Yf@@g @@@@@@@@@@@f @@@@@@@@@@@f @@g @@g @@g @@g @@g W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f

Modified header Accept Accept header header JSON XML API API content type content type Accept: text/xml+app-1.0 1.0 content type header HTML XML JSON Authorization Authorization header HTTP base64 basic HTTP SSL header HTTP 2.5.2 Body REST body XML JSON Accept header 2 43 W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg O2@h @@@ @@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ O2@h @@@ @@@@@@@@f @@@@@@@@f @@@@@@@5f @f@hf @f@g J5g 7Hg @g J5g 7Hg @h J5h 7Hh @h J5h 7Hh @he @@@@@@@f @@@@@@@f J(Mh 7Yhe @@6Kh @@@@6Xg I4@@)Xf I'@1f V'@f N@f @f @f J5f W.Yf '6KO.Yg V4@@0Yg @@f @@f @@f @@f O2@h @@@ @@@@@@@@f O2@6Kg @(MI'@f J@HeN@Lf 7@f@1f @@f@@f @@f@@f 3@f@@f N@LeJ@@f @)KO&@5f I4@@@@Hf @@f J@5f W&(Yf W&(Yg O&0Yg @@0Mh @@fn@1e @@fj@5e @@LhJ@@ @@1h7@@ @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @@@@@e@f@@@@ W-Xe O&@)Xe @(Yhf J(Yhg @KO&YfO26Xf @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@ej@5f@5g @5e7@Hf(Yg (YeJ@5/Khe W&(YV46Kh O&0YfI'@6Kf O20MgV4@@6Xe O20MheI'@,e @0M V+Ye @@(Mhe @@Hhf @5hf @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @(Mhf@5f W&g W&@g W&@@g W.Y@@g W.Y@@g W.Ye@@g W.Ye@@g W.Yf@@g 7Yf@@g @@@@@@@@@@@f @@@@@@@@@@@f @@g @@g @@g @@g @@g W2@6Xg W&@@@)Xg.MI'1g N@g @g J5g O&Ug @@@@)Xf I'@1f V'@f N@f @f J5f W.Yf '6KO.Yg V4@@0Yg

XML XSLT XML JSON REST 2.5.3 REST property GET GET URL URL /collection_name/resource_id/property_namequery resourde_id property_name query query property ID POST-ID 2010 URL /posts/post-id/commentssubmitted=2010% posts POST-ID comments submitted 2010% 44 W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg O2@h @@@ @@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ O2@h @@@ @@@@@@@@f @@@@@@@@f @@@@@@@5f @f@hf @f@g J5g 7Hg @g J5g 7Hg @h J5h 7Hh @h J5h 7Hh @he @@@@@@@f @@@@@@@f J(Mh 7Yhe @@6Kh @@@@6Xg I4@@)Xf I'@1f V'@f N@f @f @f J5f W.Yf '6KO.Yg V4@@0Yg @@f @@f @@f @@f O2@h @@@ @@@@@@@@f O2@6Kg @(MI'@f J@HeN@Lf 7@f@1f @@f@@f @@f@@f 3@f@@f N@LeJ@@f @)KO&@5f I4@@@@Hf @@f J@5f W&(Yf W&(Yg O&0Yg @@0Mh @@fn@1e @@fj@5e @@LhJ@@ @@1h7@@ @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @@@@@e@f@@@@ W-Xe O&@)Xe @(Yhf J(Yhg @KO&YfO26Xf @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@ej@5f@5g @5e7@Hf(Yg (YeJ@5/Khe W&(YV46Kh O&0YfI'@6Kf O20MgV4@@6Xe O20MheI'@,e @0M V+Ye @@(Mhe @@Hhf @5hf @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @(Mhf@5f W&g W&@g W&@@g W.Y@@g W.Y@@g W.Ye@@g W.Ye@@g W.Yf@@g 7Yf@@g @@@@@@@@@@@f @@@@@@@@@@@f @@g @@g @@g @@g @@g W&g W&@g W&@@g W.Y@@g W.Y@@g W.Ye@@g W.Ye@@g W.Yf@@g 7Yf@@g @@@@@@@@@@@f @@@@@@@@@@@f @@g @@g @@g @@g @@g

Location header GET query HTTP 1 XML ATOM URL URL Amazon Web Services SimpleDB SimpleDB next_token URL next_token ne / GET URL URL PUT HTTPPUT URL PUT P SET 2 45 W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg O2@h @@@ @@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ O2@h @@@ @@@@@@@@f @@@@@@@@f @@@@@@@5f @f@hf @f@g J5g 7Hg @g J5g 7Hg @h J5h 7Hh @h J5h 7Hh @he @@@@@@@f @@@@@@@f J(Mh 7Yhe @@6Kh @@@@6Xg I4@@)Xf I'@1f V'@f N@f @f @f J5f W.Yf '6KO.Yg V4@@0Yg @@f @@f @@f @@f O2@h @@@ @@@@@@@@f O2@6Kg @(MI'@f J@HeN@Lf 7@f@1f @@f@@f @@f@@f 3@f@@f N@LeJ@@f @)KO&@5f I4@@@@Hf @@f J@5f W&(Yf W&(Yg O&0Yg @@0Mh @@fn@1e @@fj@5e @@LhJ@@ @@1h7@@ @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @@@@@e@f@@@@ W-Xe O&@)Xe @(Yhf J(Yhg @KO&YfO26Xf @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@ej@5f@5g @5e7@Hf(Yg (YeJ@5/Khe W&(YV46Kh O&0YfI'@6Kf O20MgV4@@6Xe O20MheI'@,e @0M V+Ye @@(Mhe @@Hhf @5hf @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @(Mhf@5f W&g W&@g W&@@g W.Y@@g W.Y@@g W.Ye@@g W.Ye@@g W.Yf@@g 7Yf@@g @@@@@@@@@@@f @@@@@@@@@@@f @@g @@g @@g @@g @@g @@@@@@@f @@@@@@@f J(Mh 7Yhe @@6Kh @@@@6Xg I4@@)Xf I'@1f V'@f N@f @f @f J5f W.Yf '6KO.Yg V4@@0Yg

PUT ID ID PUT GET PUT PUT PUT PUT 201 Created 204 No Content 202 Accepted POST POST ID Location header ID POST PUT POST PUT POST POST PUT DELETE DELETE 46 W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg O2@h @@@ @@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ O2@h @@@ @@@@@@@@f @@@@@@@@f @@@@@@@5f @f@hf @f@g J5g 7Hg @g J5g 7Hg @h J5h 7Hh @h J5h 7Hh @he @@@@@@@f @@@@@@@f J(Mh 7Yhe @@6Kh @@@@6Xg I4@@)Xf I'@1f V'@f N@f @f @f J5f W.Yf '6KO.Yg V4@@0Yg @@f @@f @@f @@f O2@h @@@ @@@@@@@@f O2@6Kg @(MI'@f J@HeN@Lf 7@f@1f @@f@@f @@f@@f 3@f@@f N@LeJ@@f @)KO&@5f I4@@@@Hf @@f J@5f W&(Yf W&(Yg O&0Yg @@0Mh @@fn@1e @@fj@5e @@LhJ@@ @@1h7@@ @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @@@@@e@f@@@@ W-Xe O&@)Xe @(Yhf J(Yhg @KO&YfO26Xf @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@ej@5f@5g @5e7@Hf(Yg (YeJ@5/Khe W&(YV46Kh O&0YfI'@6Kf O20MgV4@@6Xe O20MheI'@,e @0M V+Ye @@(Mhe @@Hhf @5hf @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @(Mhf@5f W&g W&@g W&@@g W.Y@@g W.Y@@g W.Ye@@g W.Ye@@g W.Yf@@g 7Yf@@g @@@@@@@@@@@f @@@@@@@@@@@f @@g @@g @@g @@g @@g O2@@f W2(Mg W&(Yh W&(Yh 7@Hhe J@@@@6Kg 7@(MI'@g @@HeN@Lf @@f@1f @@f@@f @@f@@f 3@f@5f N@LeJ@Hf @)KO&@g I4@0Mg

DELETE 409 Conflict DELETE 202 Accepted DELETE PUT PUT None Null HEAD URL HEAD GET header X-Results header OPTIONS URL OPTIONS URL header Accept header DELETE 2.6 2 47 W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W2@@6Xg W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f V/KeO.Yf V4@@0Yg O2@h @@@ @@@@@@@@f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f @@f @5f J@Hf 75g J(Yg W.Yg W.Yh W.Ye@f W&Yf@f W&@@@@@@@f &@@@@@@@@f @@ @@ O2@h @@@ @@@@@@@@f @@@@@@@@f @@@@@@@5f @f@hf @f@g J5g 7Hg @g J5g 7Hg @h J5h 7Hh @h J5h 7Hh @he @@@@@@@f @@@@@@@f J(Mh 7Yhe @@6Kh @@@@6Xg I4@@)Xf I'@1f V'@f N@f @f @f J5f W.Yf '6KO.Yg V4@@0Yg @@f @@f @@f @@f O2@h @@@ @@@@@@@@f O2@6Kg @(MI'@f J@HeN@Lf 7@f@1f @@f@@f @@f@@f 3@f@@f N@LeJ@@f @)KO&@5f I4@@@@Hf @@f J@5f W&(Yf W&(Yg O&0Yg @@0Mh @@fn@1e @@fj@5e @@LhJ@@ @@1h7@@ @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @@@@@e@f@@@@ W-Xe O&@)Xe @(Yhf J(Yhg @KO&YfO26Xf @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@f@@f@@g @@ej@5f@5g @5e7@Hf(Yg (YeJ@5/Khe W&(YV46Kh O&0YfI'@6Kf O20MgV4@@6Xe O20MheI'@,e @0M V+Ye @@(Mhe @@Hhf @5hf @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@@@@@@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @@e@@e@@e@@f @(Mhf@5f W&g W&@g W&@@g W.Y@@g W.Y@@g W.Ye@@g W.Ye@@g W.Yf@@g 7Yf@@g @@@@@@@@@@@f @@@@@@@@@@@f @@g @@g @@g @@g @@g @@@@@@@@f @@@@@@@5f @f@hf @f@g J5g 7Hg @g J5g 7Hg @h J5h 7Hh @h J5h 7Hh @he

W.MeI/Xf 7HeN1f J@g@Lf 7@g@1f W2@@6Xg W&@@@@)Xf 7(MI'@1f @HeN@@f @@g@@f @f@@f W2@@6Xg 3@g@5f @@f N@g@Hf @5f 3LeJ5f V/KeO.Yf V4@@0Yg W&Yf@f J@Hf W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g &@@@@@@@@f W&@@@@)Xf 7(MI'@1f @HeN@@f @f@@f W2@@6Xg @@f @5f J@Hf W.MeI/Xf W&Yf@f W&@@@@@@@f W.Yh W.Ye@f J(Yg W.Yg 75g 7HeN1f J@g@Lf 7@g@1f W2@@6Xg @@@ O2@h &@@@@@@@@f @@g@@f 3@g@5f N@g@Hf 3LeJ5f W&@@@@)Xf V/KeO.Yf 7(MI'@1f V4@@0Yg @HeN@@f @f@@f W2@@6Xg @@@@@@@@f @@f @5f J@Hf W&@@@@)Xf 75g 7(MI'@1f J(Yg @HeN@@f W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Yh W.Ye@f W.Yg @f@@f W2@@6Xg @@f @5f J@Hf @@@ O2@h @@ 75g J(Yg W.Yg W.Yh W&Yf@f W&@@@@@@@f &@@@@@@@@f W.Ye@f @@@@@@@@f @@@@@@@5f @@ @f@hf @f@g J5g 7Hg @g @@@@@@@@f J5g @@@@@@@f 7Hg J(Mh @h 7Yhe J5h @@6Kh 7Hh @@@@6Xg @h I4@@)Xf J5h I'@1f 7Hh V'@f @he N@f J5f @@f W.Yf @@@ O2@h '6KO.Yg V4@@0Yg J@HeN@Lf @@f 7@f@1f @@f@@f 3@f@@f O2@6Kg @(MI'@f N@LeJ@@f @)KO&@5f @@fn@1e @@@@@@@@f I4@@@@Hf @@f J@5f W&(Yf @@fj@5e W&(Yg @@LhJ@@ O&0Yg @@1h7@@ @@0Mh @@1h7Y@@ @3@LfJ5@@ @N@1f7H@@ @3@LfJ5e@@ @N@1f7He@@ @@@@@e@f@@@@ @e3@lj5e@@ @en@17he@@ @e3@c5f@@ @en@@@hf@@ @f3@5f@@ @fn@hf@@ @KO&YfO26Xf J(Yhg @(Yhf O&@)Xe W-Xe @@@@@@@@@@@@@@@)f @@Hf @@f@kf@@g @@f@@@e@@g @@f@@he@@g @Kf@Yf @@@@@@@@@@@@@@@@@@)e @@e@@e@@e@@he @@f@@f@@g @@(Mhe @@ej@5f@5g @@Hhf @0M @5e7@Hf(Yg @5hf (YeJ@5/Khe O20MheI'@,e O20MgV4@@6Xe W&(YV46Kh O&0YfI'@6Kf @@e@@@@@@@@e@@f W.Ye@@g W.Ye@@g W.Y@@g W.Y@@g W&@g W&@@g W&g W2@6Xg V+Ye W.Yf@@g W.MI/Xf 7Yf@@g 7HeN1f @@e@@e@@e@@f @@@@@@@@@@@f @(Mhf@5f @@g W.YeI')Xf @f@f 7HeV'1f @LeJ5f @gn@f 3)KO.Yf @g@f V'@@@Hg 3LfJ5f S@@@Lg V/KeO.Yf W.R4@)Xf V4@@@0Yf 48 XML XSLT Django Ruby Rails XSLT XSLT XML hasauth 3 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform" xmlns:app="url/to/app"> <!-- By default pass through all XML elements --> <xsl:template match="@* node()" priority="-10"> <xsl:copy> <xsl:apply-templates select="@* node()"/> </xsl:copy> </xsl:template> <!-- Object-level permissions --> <xsl:template match="/node()"> <xsl:if test="app:hasauth('read', current())"> <xsl:copy> <xsl:apply-templates select="@* node()" mode="property"/> </xsl:copy> </xsl:if> </xsl:template> <!-- Property-level permissions --> <xsl:template match="node()" mode="property"> <xsl:if test="app:hasauth('read',.., current() )"> <xsl:copy> <xsl:apply-templates select="@* node()" /> </xsl:copy>