Missed Next '24? All sessions are now available on demand. Watch now. Save money with Google Cloud’s transparent and innovative approach to pricing. Estimate your costs with our pricing calculator or contact us to get a quote for your organization.
Google I/O 2010ではApp Engine関連の大きな新機能発表がいくつかありましたが、「Channel API」もそのひとつ。これは「Webブラウザとのpush通信(comet)のためのAPI」です。 ついにpushできるよ! これまでApp Engineにおいてクライアントへのpushを行うには、 XMPPプロトコルを通じてのXMPPクライアントへのメッセージ送信 URLFetchを用いて外部のpushサーバー(WebSocket対応サーバーとかTornadoとか)経由でへWebブラウザにpush(例:松尾さんのwebsocket連携) のいずれかしか手段がありませんでした。 しかしXMPPクライアントの実装は容易ではなく、とりわけApp Engine側のXMPPサーバーとしてGoogle Talkサーバーを用いる場合はTLS通信が必須となり、利用可能なクライアントが極端に
News, notes, tips and tricks from the Google App Engine Team A picture is worth a thousand words, and as developers, you know that a working code snippet can be worth even more. The developers at scisurfer.com have agreed to share a few of their code snippets with you today. The snippets outline how they full text index their content and make it easily searchable for their users. --- Many applicat
32. 更に filter,sort と xxxInMemory は分離できる! ModelMeta m = new ModelMeta(); List<Model> result = Datastore.query(Model.class) .filter(m.aaa.equal(param1)) .filterInMemory(m.bbb.equal(param2)) .asList(); if (result != null) { // 処理を中断してゴニョゴニョできる! for(;;) { } // “クエリ”を再開 result = Datastore.filterInMemory(result, m.ccc.equal(param3)); result = Datastore.sortInMemory(result, m.ddd.asc) .subList(0, 10); }
先日プレリリースされていたApp Engine 1.3.6が正式にリリースされた。今回の目玉は Namespace APIによるマルチテナント ブロブストア上の画像の高速サムネイル化 カスタムエラーページ データストアの1000エントリ制限の解除 小ネタとしては Java でもapp.yamlが使えるように 管理コンソールからタスクキューが停止できるように 管理コンソールのダッシュボードのグラフが30日分表示されるようになった ブロブストアでContent-Rangeヘッダが利用可能に とりあえず、今回はNamespaceによるマルチテナント化についてだけ。 NamespaceManager API 一つのアプリケーションを、異なるデータセットに対して動作させることを簡単にできるようにするAPIです。つまり名前空間Aと名前空間Bに対して異なるデータセットを用意し、それぞれ独立に動作させるこ
PyPress For GAEはGAE用/Python製のオープンソース・ソフトウェア。世界中のブログエンジンシェアを大きく握っているのがPHPのWordPressだ。オープンソースということもあり、その勢いは止まらない。バージョンアップを重ねるごとにどんどん便利になっている。 WordPress for Python! そんなWordPressを模して開発されているのがPython製のWordPressとでも言うべきPyPressだ。とは言えPythonが動くサーバならばPHPも動くだろうし、わざわざ乗り換える需要がないかも知れない。だがGoogle App Engineとなると話は別だ。PyPress For GAEがその答えになる。 PyPress For GAEはPyPressをGoogle App Engine上で動作するようにカスタマイズされたソフトウェアだ。機能的にはWord
まぁ、おこられるということはない前提で。原文について完全に忠実に訳してはいませんがそんなには外れてないと思います。また、僕の注記は注記とわかるように記述していますが、文中に書いています。 http://code.google.com/appengine/docs/python/tools/appstats.html WSGIについては、wikipedia程度の知識しかないので、pythonのwebフレームワークまわりの理解の誤りによる誤訳があったらごめんなさい。 appstats pythonのsdkはアプリケーションのパフォーマンス測定ツール一式を含んでおり、それはappstatsと呼ばれています。appstatsはwebアプリケーションフレームワークに記録イベントを統合します。また、取得した統計を確認するためのwebベースの管理インターフェイスも提供しています。 ◆ イベントレコーダー
2009年04月26日20:34 カテゴリGoogle App Engine GAE/J使用メモ、Datastore GAE編 Google App Engine上のDatastoreに関してです。 indexの作成には相当長い時間がかかる データ量に関わらず(まったくデータがなくても)長い時間がかかるようだ。作成中はApp Engine管理画面のIndexesに"building"と表示され完了すると"Serving"となる。cbnanashi@GAE/Jでも完了には1〜2時間かかった。indexが完成するまでDatastoreには保存できないのでアプリケーションの実運用を開始したらGAE/Jにあるようにバージョン番号を付けるか、あらかじめindexだけをuploadしておくのがよさそう。 indexを削除するツールはPythonにはあるがJavaにはない。ただし不要なindexが残って
2010年02月24日22:34 カテゴリGoogle App Engineサイト構築 GAE/Jで運用中に発生する例外(と一部対処法) App Engineでのアプリケーション実行中に私が遭遇した不測の例外やエラーについて、原因と(一部のみですが)対策を書いてみます。 あくまでも個人的な経験に基づくもので、多分に推測を含みますが、多少ともお役に立てば幸いです。例外の種類は随時追加したいと思います。コードの誤りや、よりよい対策などがあれば、お知らせ頂ければ幸いです。 今回記述した例外、エラーの種類 DatastoreTimeoutException ApiProxy$UnknownException ApiProxy$CapabilityDisabledException GCacheException DeadlineExceededException ConcurrentModific
Slim3 DatastoreはGoogle App Engine for Javaのデータストアを操作するライブラリです。 最近JDOからSlim3 Datastoreに乗り換えつつあるので、背景や使い方などをつらつらと書いていきます。 Slim3 Datastoreの特徴 Slim3 Datastoreはデータストア低レベルAPIの薄いラッパーとして作成されています。他のラッパープロダクト(JDO/JPA)と違いApp Engineのデータストア専用に作られているため、提供される機能が非常に直感的で、さらにかなり高速に動きます。 ざっくり説明すると、以下のような機能を提供しています。 データストア上のデータと自作のモデルオブジェクトを相互に変換する 他にも色々とあった気がしますが、Slim3 Datastoreを利用する最大のメリットは上記の点でしょう。 しかもこの変換層をコンパイル時
Google AppEngineのwebappでURLのパス要素をパラメータとして取得するには、webapp.WSGIApplicationのURLマッピングに、以下のように、正規表現グループを指定すると良い。 class MainPage(webapp.RequestHandler): def get(self, *args): self.response.headers['Content-Type'] = 'text/plain' self.response.out.write('Parameter='+str(args)) application = webapp.WSGIApplication( [ ('/(.*?)/(.*)', MainPage), ('/.*', MainPage), ], debug=True) def main(): run_wsgi_app(applic
æ¦è¦ CGI ç°å¢ ãã¼ã¿ã®æ ¼ç´ æ¦è¦ ã¨ã³ãã£ãã£ã¨ã¢ãã« ãã¼ã¿ã®ä½æãåå¾ãåé¤ ãã¼ã¨ã¨ã³ãã£ã㣠ã°ã«ã¼ã ã¯ã¨ãªã¨ã¤ã³ããã¯ã¹ ãã©ã³ã¶ã¯ã·ã§ã³ åã¨ãããã㣠ã¯ã©ã¹ GQL ãªãã¡ã¬ã³ã¹ ãªãã¡ã¬ã³ã¹ Model Expando PolyModel Property Query GqlQuery ãã¼ é¢æ° ä¾å¤ ãµã¼ãã¹ Memcache æ¦è¦ Memcache ã®ä½¿ç¨æ
After the exciting launch of App Engine for Java at Campfire One, I wanted to create a simple GWT + App Engine app using JDO persistence capable POJOs over RPC. Getting started using the new Google Plugin for Eclipse was easy. The plugin even downloads both the GWT and App Engine SDKs for you. Things couldn't be easier. In Eclipse, select 'File -> New Web Application Project' or just click on the
はじめに 6月9日に開催された「Google Developer Day 2009」で、夷藤勇人氏と鵜飼文敏氏により「Javaで動かすGoogle App Engine」というセッションが講演されました。本稿では、その概要をお伝えします。 Google Developer Dayとは、Googleが主催する開発者向けのイベントです。例年、Google Japanのスタッフのみならず、世界中のオフィスからソフトウェアエンジニアやデベロッパーアドボケイト(advocate;支持者)、API Expert(Google認定のサードパーティエンジニア)が駆けつけて、Googleが関わる最新のテクノロジーのセッションが行われています。 セッションでは、前半で夷藤勇人氏がGoogle App Engineの概要を説明し、後半で鵜飼文敏氏がデータストアについて説明しました。 以下、罫線で囲んだ部分は、セ
Google App Engine(GAE)でCPU Timeを使い切りました。 GAEは従量制のサービスで、あらかじめ設定した金額内で利用できるリソースが決まっています。これはQuotaと呼ばれていて、CPU、ネットワーク流量、保存データ、API呼び出し回数等々で制限があります。 よく言われる「GAE=無料」というのは、無料(課金しない)なら、そのQuotaが適用されるということです。 GAE+Pythonでとあるサイトの動作確認をやっていたところ、無料分のCPU Timeを使い切りました。 実際に使い切るとこんな感じになります。 サイト ブラウザでアクセスすると、どのページを見ても503が返ってきて、Googleのエラー画面が表示されます。 HTTPレスポンスヘッダは以下。 HTTP/1.x 503 Service Unavailable Date: Sat, 16 Jan 2010
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く