スキップしてメイン コンテンツに移動

Google App Engine SDK Version 1.9.12 リリース

Google App Engine SDK のバージョン 1.9.12 がダウンロード可能になっています。

が、、、リリースノートは更新されていない様子。更新されたら追記します。

【追記】
リリースノート更新されてました。pythonは以下の2点が更新されたようです。

  • libxsltライブラリのバージョンがv1.1.22からv1.1.28に。
  • NDBでクエリを実行した時に「AugmentedQuery’ object has no attribute ‘filter_predicate’」というエラーが発生する問題を対応。

Python版については、ここしばらくマイナーアップデートが続いていますね。そろそろアジアリージョン来て欲しい!

コメント

このブログの人気の投稿

DatastoreとSerach APIを連携させる

Datastoreでは、複数のフィールドに対して不等式検索(!=や>など)やソートを行う場合、事前にIndexを構築しておく必要がある。しかも全ての検索条件の組み合わせごとにIndexが必要になるので、バックオフィス機能にありがちな複雑な条件での検索を行いたい場合、多くのIndexが必要だ。

Google App Engineでファイルを保存する方法3つ

Google App Engineでは、通常のWebアプリケーションのように、サーバー上のファイルシステムへアクセスすることができない。別の方法でファイルの読み書きをする事になるけど、方法はいくつかあるので、それぞれの方法と長所短所をまとめてみた。サンプルと全てのソースコードはこちら。( サンプル / ソースコード ) 方法1:BlobPropertyを使う ndb(db)のBlobProperty(https://developers.google.com/appengine/docs/python/ndb/properties)ではバイナリデータをそのまま格納できる。 まずは保存するModelの定義を実装する。 from google.appengine.ext import ndb class UserFileModel(ndb.Model):     """     ファイル格納モデル     """     file_data = ndb.BlobProperty()                  # ファイルデータ 続いて、アップロードフォーム。 <form> <div class="form-group"> <input id="exampleInputFile" name="file_data" type="file" />     </div> <button class="btn btn-default" type="submit">保存</button> </form> アップロードハンドラを実装。リクエストされたデータをそのまま突っ込むだけ。 def post(self):         file_data = self.request.get('file_data')         user_file = UserFileMod...

BlobstoreUploadHandlerの文字化け問題の解決方法

Google App Engine Python2.7環境で、blobstore_handlers.BlobstoreUploadHandlerを使って、ファイルアップロードする際、日本語のリクエストパラメータが文字化けする問題に長年悩まされていた。 「文字化け」といっても、マルチバイト文字はBase64にエンコードされて送信される、という謎仕様。さらに、文字の組み合わせによっては Base64ではなく、Quoted-printable にエンコードされたりと、意味がわからない。。。 そんなわけで、ファイルとテキストは、別のリクエストに分けたりと、クライアント側で対処していた。 先日、この問題をGCPのサポートに問い合わせた結果、あっさりと対応方法を教えてくれた。 app.yamlに以下を追加すれば良いだけ。 libraries: - name: webob version: "1.2.3" なんと、WebObのバグだったようだ。 http://docs.webob.org/en/stable/changes.html#id25 GAEのPython2.7環境では、webobの1.1.1(かなり古い)がデフォルトらしく、1.2.3で解決されたこのbugfixのため、この対応で回避できる。という事らしい。 といっても、1.2.3もかなり前のバージョンなので、もっと上位のバージョンしても問題なさそうだけど、今回はこのバージョンで様子見で。。。 そろそろ、Goに移行しようかなぁ。。。