ラベル google app engine の投稿を表示しています。 すべての投稿を表示
ラベル google app engine の投稿を表示しています。 すべての投稿を表示

2011年2月9日水曜日

google app engine のデータストアをバックアップ、リストア(bulk loader ツール)

今日はGAEのデータストアのバックアップとリストアに挑戦。
(bulk loader ツール)

まずここを参照。
「データのアップロードとダウンロード」
http://code.google.com/intl/ja/appengine/docs/python/tools/uploadingdata.html

ふむふむ。
まずRemote API を有効にする必要があるとの事。
app.yamlの末尾に以下を追加
builtins:
- remote_api: on
- datastore_admin: on

・・・「datastore_admin: on」はついで。ダッシュボード側のデータストアのコピー操作ができるようになるおまじない。これは今回は使わないけどおまけw

で、コマンドプロンプトをだして(自分、Win環境ですが何か!?)

appcfg.py update D:\gaestudy\hogehoge

これは難なく成功。あ、ちなみに今回のappidは「hogehoge」
で次はと・・・
まずダウンロードしてみるか。ドキュメントにあるようにやってみる。
appcfg.py download_data --application=hogehoge --kind=Greeting --url=http://hogehoge.appspot.com/_ah/remote_api --filename=D:\gaestudy\hogehoge\bbbbb.dump

あ、ちなみに今回抽出したkind(テーブル?)はGreetingって名前。ま、掲示板。
bbbbb.dumpってファイルに出力。
できた。中身みたら、バイナリデータっぽい。
意外に簡単だなぁ

次アップロードいってみよう。まずダッシュボード側で既存のレコードを削除
で、ドキュメントにあるようにやってみる

appcfg.py upload_data --application=hogehoge --kind=Greeting --filename=D:\gaestudy\hogehoge\bbbbb.dump D:\gaestudy\hogehoge

ぬぉ、エラー!!!
Application: hogehoge; version: 1.
Uploading data records.
[INFO    ] Logging to bulkloader-log-20110210.105147
[INFO    ] Throttling transfers:
[INFO    ] Bandwidth: 250000 bytes/second
[INFO    ] HTTP connections: 8/second
[INFO    ] Entities inserted/fetched/modified: 20/second
[INFO    ] Batch Size: 10
[INFO    ] Opening database: bulkloader-progress-20110210.105147.sql3
[INFO    ] Connecting to hogehoge.appspot.com/_ah/remote_api(/.*)
[ERROR   ] Exception during authentication
Traceback (most recent call last):
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\bulkloader.py", line 3175, in Run
    self.request_manager.Authenticate()
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\bulkloader.py", line 1187, in Authenticate
    remote_api_stub.MaybeInvokeAuthentication()
  File "C:\Program Files\Google\google_appengine\google\appengine\ext\remote_api\remote_api_stub.py", line 540, in MaybeInvokeAuthentication
    datastore_stub._server.Send(datastore_stub._path, payload=None)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\appengine_rpc.py", line 341, in Send
    f = self.opener.open(req)
  File "C:\Python25\lib\urllib2.py", line 387, in open
    response = meth(req, response)
  File "C:\Python25\lib\urllib2.py", line 498, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python25\lib\urllib2.py", line 425, in error
    return self._call_chain(*args)
  File "C:\Python25\lib\urllib2.py", line 360, in _call_chain
    result = func(*args)
  File "C:\Python25\lib\urllib2.py", line 506, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 404: Not Found
[INFO    ] Authentication Failed

「HTTPError: HTTP Error 404: Not Found」?

アップ先が見つからないっぽい?よくわからないので、まずappcfg.py自体の説明を読んでみる。
http://code.google.com/intl/ja/appengine/docs/python/tools/uploadinganapp.html

appcfg.py help <action>
#指定されたアクションに関するヘルプ メッセージを出力し、終了します。

というわけで、まぁhelpを見てみよう

appcfg.py help upload_data

で、出た結果がこれ

>appcfg.py help upload_data
Usage: appcfg.py [options] upload_data >directory<

Upload data records to datastore.

The 'upload_data' command translates input records into datastore entities and
uploads them into your application's datastore.

Options:
  -h, --help            Show the help message and exit.
  -q, --quiet           Print errors only.
  -v, --verbose         Print info level logs.
  --noisy               Print all logs.
  -s SERVER, --server=SERVER
                        The server to connect to.
  --insecure            Use HTTP when communicating with the server.
  -e EMAIL, --email=EMAIL
                        The username to use. Will prompt if omitted.
  -H HOST, --host=HOST  Overrides the Host header sent with all RPCs.
  --no_cookies          Do not save authentication cookies to local disk.
  --passin              Read the login password from stdin.
  -A APP_ID, --application=APP_ID
                        Override application from app.yaml file.
  -V VERSION, --version=VERSION
                        Override (major) version from app.yaml file.
  --filename=FILENAME   The name of the file containing the input data.
                        (Required)
  --kind=KIND           The kind of the entities to store.
  --url=URL             The location of the remote_api endpoint.
  --num_threads=NUM_THREADS
                        Number of threads to upload records with.
  --batch_size=BATCH_SIZE
                        Number of records to post in each request.
  --bandwidth_limit=BANDWIDTH_LIMIT
                        The maximum bytes/second bandwidth for transfers.
  --rps_limit=RPS_LIMIT
                        The maximum records/second for transfers.
  --http_limit=HTTP_LIMIT
                        The maximum requests/second for transfers.
  --db_filename=DB_FILENAME
                        Name of the progress database file.
  --auth_domain=AUTH_DOMAIN
                        The name of the authorization domain to use.
  --log_file=LOG_FILE   File to write bulkloader logs.  If not supplied then a
                        new log file will be created, named: bulkloader-log-
                        TIMESTAMP.
  --dry_run             Do not execute any remote_api calls
  --namespace=NAMESPACE
                        Namespace to use when accessing datastore.
  --has_header          Whether the first line of the input file should be
                        skipped
  --loader_opts=LOADER_OPTS
                        A string to pass to the Loader.initialize method.
  --config_file=CONFIG_FILE
                        Name of the configuration file.

なるほど。とりあえず「--noisy」をつけて全ログを出してみるか

appcfg.py upload_data --noisy --application=hogehoge --kind=Greeting --filename=D:\gaestudy\hogehoge\bbbbb.dump D:\gaestudy\hogehoge

で出た結果↓

Application: hogehoge; version: 1.
Uploading data records.
[INFO    ] Logging to bulkloader-log-20110210.105736
[INFO    ] Throttling transfers:
[INFO    ] Bandwidth: 250000 bytes/second
[INFO    ] HTTP connections: 8/second
[INFO    ] Entities inserted/fetched/modified: 20/second
[INFO    ] Batch Size: 10
[INFO    ] Opening database: bulkloader-progress-20110210.105736.sql3
[DEBUG   ] [Thread-1] RestoreThread: started
[DEBUG   ] [Thread-1] RestoreThread: exiting
[DEBUG   ] [Thread-2] RestoreThread: started
[DEBUG   ] [Thread-2] RestoreThread: exiting
[DEBUG   ] [Thread-3] WorkerThread: started
[DEBUG   ] [Thread-4] WorkerThread: started
[DEBUG   ] [Thread-5] WorkerThread: started
[DEBUG   ] [Thread-6] WorkerThread: started
[DEBUG   ] [Thread-7] WorkerThread: started
[DEBUG   ] [Thread-8] WorkerThread: started
[DEBUG   ] [Thread-9] WorkerThread: started
[DEBUG   ] [Thread-10] WorkerThread: started
[DEBUG   ] [Thread-11] WorkerThread: started
[DEBUG   ] [Thread-12] WorkerThread: started
[DEBUG   ] Configuring remote_api. url_path = /_ah/remote_api(/.*), servername = hogehoge.appspot.com
[DEBUG   ] Bulkloader using app_id: hogehoge
[INFO    ] Connecting to hogehoge.appspot.com/_ah/remote_api(/.*)
[ERROR   ] Exception during authentication
Traceback (most recent call last):
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\bulkloader.py", line 3175, in Run
    self.request_manager.Authenticate()
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\bulkloader.py", line 1187, in Authenticate
    remote_api_stub.MaybeInvokeAuthentication()
  File "C:\Program Files\Google\google_appengine\google\appengine\ext\remote_api\remote_api_stub.py", line 540, in MaybeInvokeAuthentication
    datastore_stub._server.Send(datastore_stub._path, payload=None)
  File "C:\Program Files\Google\google_appengine\google\appengine\tools\appengine_rpc.py", line 341, in Send
    f = self.opener.open(req)
  File "C:\Python25\lib\urllib2.py", line 387, in open
    response = meth(req, response)
  File "C:\Python25\lib\urllib2.py", line 498, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python25\lib\urllib2.py", line 425, in error
    return self._call_chain(*args)
  File "C:\Python25\lib\urllib2.py", line 360, in _call_chain
    result = func(*args)
  File "C:\Python25\lib\urllib2.py", line 506, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 404: Not Found
[INFO    ] Authentication Failed

なんか文字を連結してるっぽいところがある
[DEBUG ] Configuring remote_api. url_path = /_ah/remote_api(/.*), servername = hogehoge.appspot.com

?urlのpathなのにhttp://が入ってねーな。まぁそうはいっても中で補完してるよね、と思いたいが、んー、怪しい。
そういえば、さっきのコマンドにurl直接指定出来なかったっけ。もう一回help見てみる。
--url=URL The location of the remote_api endpoint.

あったあった。要するにurlを引数から作ってるなら、最初から絶対パスを渡してやれば間違いないのでは。
という事で付け足してみる。

appcfg.py upload_data --noisy --application=hogehoge --kind=Greeting --filename=D:\gaestudy\hogehoge\bbbbb.dump --url=http://hogehoge.appspot.com/_ah/remote_api D:\gaestudy\hogehoge

おおおお、いった。成功ログ↓

Application: hogehoge; version: 1.
Uploading data records.
[INFO    ] Logging to bulkloader-log-20110210.110730
[INFO    ] Throttling transfers:
[INFO    ] Bandwidth: 250000 bytes/second
[INFO    ] HTTP connections: 8/second
[INFO    ] Entities inserted/fetched/modified: 20/second
[INFO    ] Batch Size: 10
[INFO    ] Opening database: bulkloader-progress-20110210.110730.sql3
[DEBUG   ] [Thread-1] RestoreThread: started
[DEBUG   ] [Thread-1] RestoreThread: exiting
[DEBUG   ] [Thread-2] RestoreThread: started
[DEBUG   ] [Thread-2] RestoreThread: exiting
[DEBUG   ] [Thread-3] WorkerThread: started
[DEBUG   ] [Thread-4] WorkerThread: started
[DEBUG   ] [Thread-5] WorkerThread: started
[DEBUG   ] [Thread-6] WorkerThread: started
[DEBUG   ] [Thread-7] WorkerThread: started
[DEBUG   ] [Thread-8] WorkerThread: started
[DEBUG   ] [Thread-9] WorkerThread: started
[DEBUG   ] [Thread-10] WorkerThread: started
[DEBUG   ] [Thread-11] WorkerThread: started
[DEBUG   ] [Thread-12] WorkerThread: started
[DEBUG   ] Configuring remote_api. url_path = /_ah/remote_api, servername = hogehoge.appspot.com
[DEBUG   ] Bulkloader using app_id: hogehoge
[INFO    ] Connecting to hogehoge.appspot.com/_ah/remote_api
[DEBUG   ] [Thread-13] ProgressTrackerThread: started
[DEBUG   ] [Thread-14] DataSourceThread: started
[INFO    ] Starting import; maximum 10 entities per post
[DEBUG   ] [Thread-14] DataSourceThread: exiting
[DEBUG   ] Waiting for worker threads to finish...
[DEBUG   ] [Thread-3] Got work item [1-7]
[DEBUG   ] [Thread-3] [1-7] Transferred 7 entities in 8.0 seconds
.[DEBUG   ] [Thread-5] WorkerThread: exiting
[DEBUG   ] [Thread-6] WorkerThread: exiting
[DEBUG   ] [Thread-7] WorkerThread: exiting
[DEBUG   ] [Thread-8] WorkerThread: exiting
[DEBUG   ] [Thread-9] WorkerThread: exiting
[DEBUG   ] [Thread-10] WorkerThread: exiting
[DEBUG   ] [Thread-11] WorkerThread: exiting
[DEBUG   ] [Thread-12] WorkerThread: exiting
[DEBUG   ] [Thread-4] WorkerThread: exiting
[DEBUG   ] Waiting for Anonymous_WorkerThread to exit
[DEBUG   ] [Thread-3] WorkerThread: exiting
[DEBUG   ] Waiting for Anonymous_WorkerThread to exit
[DEBUG   ] Waiting for Anonymous_WorkerThread to exit
[DEBUG   ] Waiting for Anonymous_WorkerThread to exit
[DEBUG   ] Waiting for Anonymous_WorkerThread to exit
[DEBUG   ] Waiting for Anonymous_WorkerThread to exit
[DEBUG   ] Waiting for Anonymous_WorkerThread to exit
[DEBUG   ] Waiting for Anonymous_WorkerThread to exit
[DEBUG   ] Waiting for Anonymous_WorkerThread to exit
[DEBUG   ] Waiting for Anonymous_WorkerThread to exit

[DEBUG   ] Waiting for progress_thread to terminate...
[DEBUG   ] [Thread-13] ProgressTrackerThread: exiting
[DEBUG   ] ... done.
[INFO    ] 7 entites total, 0 previously transferred
[INFO    ] 7 entities (6381 bytes) transferred in 9.8 seconds
[INFO    ] All entities successfully transferred

なんか時間かかったな。
GAEのdashboardに入ってDatastore Viewerの該当kindを見てみると、ちゃんと入ってる。

ちなみに、既存のデータは「ID/Name」をキーにして上書きされた。

dashboardで新しいレコードを入れてからアップロードしてみると、新しいレコードは消えない事を確認。

あと、既存の情報(アップロードファイルに含まれるレコード)を、dashboard側を変更してからアップしたら、変更したレコードはファイルの情報で上書きされた。

ただ、変更や新規がある時は解析?か何かに若干時間がかかるのか、たまに

HTTPError: HTTP Error 500: Internal Server Error

が出る事があったが、もう一度やるとうまくいった。まぁタイミングかな。気にするほどではないか。

ちなみにローカル環境にアップロードする場合はurlを変えるだけでいけた。

appcfg.py upload_data --noisy --application=hogehoge --kind=Greeting --filename=D:\gaestudy\hogehoge\bbbbb.dump --url=http://localhost:8080/_ah/remote_api D:\gaestudy\hogehoge

もちろん「Run」状態にして、urlが生きていないと入らない。
Development(SDK) Console で確認できる

http://localhost:8080/_ah/admin/

これでインポートとエクスポートは簡単になったなー。
次回は「Bulk Loader」を使ってcsvからのインポートやcsvでのエクスポートに挑戦予定。
これができるとcsv上で編集や追加した上で反映させられるので、かなり実用的になる。

免責
この記事やプログラムによって生じた事故・損害などは一切保証致しません。ご自身の責任でご使用ください。

子育てブログ「おとう日記」はじめました。
興味ある方、是非ご覧下さい!
おとう日記

コピペプログラマの倉庫を作りました。
サンプルプログラムなど置いておきますのでお立ち寄り下さい。
コピペプログラマ倉庫


良ければ↓投票お願いします↓ m(._.)m ペコッ
人気ブログランキングへ

2011年2月2日水曜日

GAE(google app engine) ssl のエラー 結局・・・解決した!

長かった。が解決した。
結論、リンク切れになってたインストーラーを見つけた。
ご丁寧に置いてくれていた人がいたのだ。

とはいえ、途中までモジュールからインストーラーを生成しようと頑張ったよ。
モジュールってこれね。

http://pypi.python.org/pypi/ssl

でもVS2003がないとかなんとかエラー吐かれるので、頑張って準備して、あれこれやってたらふと
・・・ん?なんだこのリンク。もしや・・・
偶然見つけて、いれてみたらビンゴだった。

コピペプログラマの倉庫に置いてあるから欲しい人はどうぞ。↓

http://sites.google.com/site/copypesouko/souko/--googleappengine

免責
この記事やプログラムによって生じた事故・損害などは一切保証致しません。ご自身の責任でご使用ください。

子育てブログ「おとう日記」はじめました。
興味ある方、是非ご覧下さい!
おとう日記

コピペプログラマの倉庫を作りました。
サンプルプログラムなど置いておきますのでお立ち寄り下さい。
コピペプログラマ倉庫


良ければ↓投票お願いします↓ m(._.)m ペコッ
人気ブログランキングへ

2010年12月7日火曜日

GAE(google app engine) ssl のエラー 結局・・・

結局、
C:\Program Files\Google\google_appengine\google\appengine\tools\appengine_rpc.py
をコメントアウトしちまったよw

class HttpRpcServer(AbstractRpcServer):
"""Provides a simplified RPC-style interface for HTTP requests."""
DEFAULT_COOKIE_FILE_PATH = "~/.appcfg_cookies"
def __init__(self, *args, **kwargs):
self.certpath = os.path.normpath(os.path.join(
os.path.dirname(__file__), '..', '..', '..', 'lib', 'cacerts',
'cacerts.txt'))
self.cert_file_available = os.path.exists(self.certpath)
super(HttpRpcServer, self).__init__(*args, **kwargs)
def _CreateRequest(self, url, data=None):
"""Creates a new urllib request."""
req = super(HttpRpcServer, self)._CreateRequest(url, data)
#     if self.cert_file_available and fancy_urllib.can_validate_certs(): ←ココ
#       req.set_ssl_info(ca_certs=self.certpath)                         ←ココ
return req  def _Authenticate(self):
"""Save the cookie jar after authentication."""
#     if self.cert_file_available and not fancy_urllib.can_validate_certs():←ココ
#       logger.warn("""ssl module not found.                                          ←ココ
# Without the ssl module, the identity of the remote host cannot be verified, and     ←ココ
# connections may NOT be secure. To fix this, please install the ssl module from      ←ココ
# http://pypi.python.org/pypi/ssl .                                                   ←ココ
# To learn more, see http://code.google.com/appengine/kb/general.html#rpcssl .""")    ←ココ
super(HttpRpcServer, self)._Authenticate()    if self.cookie_jar.filename is not None and self.save_cookies:
logger.info("Saving authentication cookies to %s",
self.cookie_jar.filename)
self.cookie_jar.save()

ぶっちゃけなんの解決にもならんかったけどw
誰か手とり足取り教えてくれー

※2011/02/02解決しましたー → GAE(google app engine) ssl のエラー 結局・・・解決した!

免責
この記事やプログラムによって生じた事故・損害などは一切保証致しません。ご自身の責任でご使用ください。

子育てブログ「おとう日記」はじめました。
興味ある方、是非ご覧下さい!
おとう日記

コピペプログラマの倉庫を作りました。
サンプルプログラムなど置いておきますのでお立ち寄り下さい。
コピペプログラマ倉庫


良ければ↓投票お願いします↓ m(._.)m ペコッ
人気ブログランキングへ

2010年12月6日月曜日

GAE deployしたらSSLの警告が出るんだけど・・・

何故か突然このような展開に。

2010-12-07 00:39:38,046 WARNING appengine_rpc.py:405 ssl module not found.
Without the ssl module, the identity of the remote host cannot be verified, and
connections may NOT be secure. To fix this, please install the ssl module from
http://pypi.python.org/pypi/ssl .
To learn more, see http://code.google.com/appengine/kb/general.html#rpcssl .

いろいろググッたらssl 1.15を入れるらしいんだが、Windows用のインストールがよくわからん

試しに落として「setup.py」試したがerror。英語よくわからん。
更にググッたらwin用のinstallerあるらしく
ssl モジュールのインストールでエラー
とか
Python SSL module をインストールする
とかあったが、
Compile ssl 1.15 for Python 2.5 or lower」がリンク切れ・・・
しゃーないので「ssl-1.15.win32-py2.5.exe」本体を探してみたら、pygtk-2.10.6-1.win32-py2.5
って・・・sslじゃないし!

んーこまった。
4.appengine_rpc.pyを修正する

しかないか・・・

※2011/02/02解決しましたー → GAE(google app engine) ssl のエラー 結局・・・解決した!

免責
この記事やプログラムによって生じた事故・損害などは一切保証致しません。ご自身の責任でご使用ください。

子育てブログ「おとう日記」はじめました。
興味ある方、是非ご覧下さい!
おとう日記

コピペプログラマの倉庫を作りました。
サンプルプログラムなど置いておきますのでお立ち寄り下さい。
コピペプログラマ倉庫


良ければ↓投票お願いします↓ m(._.)m ペコッ
人気ブログランキングへ

2010年11月16日火曜日

GAE Error 409: --- begin server output --- rollbackってどうやんだよー

GAEのDeployでこんなエラーが。

Password for メアド: Error 409: --- begin server output ---
Another transaction by user ユーザー is already in progress for this app and major version. That user can undo the transaction with appcfg.py's "rollback" command.

rollbackしろって。
ってrollbackどうやんだよー

appcfg.py rollback アプリケーションのパス

でいいらしいんだが、できない。むむ。。。
テキストエディターで開いたので、pythonの引数にする

C:\Python25\python.exe appcfg.py rollback アプリケーションのパス

今度はappcfg.pyなんてないとさ。
しょうがない

C:\Python25\python.exe "C:\Program Files\Google\google_appengine\appcfg.py" rollback アプリケーションのパス

いけた。
ちなみに、アプリケーションのパスもフルパス。

いろいろ開発しやすいようにやったのがここで裏目。
まぁめったにないからいいんだけど!

免責
この記事やプログラムによって生じた事故・損害などは一切保証致しません。ご自身の責任でご使用ください。

子育てブログ「おとう日記」はじめました。
興味ある方、是非ご覧下さい!
おとう日記

コピペプログラマの倉庫を作りました。
サンプルプログラムなど置いておきますのでお立ち寄り下さい。
コピペプログラマ倉庫


良ければ↓投票お願いします↓ m(._.)m ペコッ
人気ブログランキングへ

2010年11月7日日曜日

GAE iframeの問題が 泣く泣く解決・・・

久しぶりの投稿

最近GAE(python)やってるんだが、長らく解決出来なかった問題が今日解決した。
iframeでURLを「/form」としておき、app.yamlでは

handlers:
- url: /form
  script: main.py

としておく。
main.pyでは

application = webapp.WSGIApplication(
          [('/form', MainHandler)],
          debug=True)

としておき、その先(MainHandler)でテンプレを読み込ませて表示

path = os.path.join(os.path.dirname(__file__), 'form.html')
  self.response.out.write(template.render(path, template_values))

・・・これがローカルではうまくいったのだが、上げると
「/formは見つかりません」エラー。

おーい、ローカルでうまくいってんのに上げてうまくいかないんだったら
どうやって調べろっつーの!

半ば切れかけて、エンコードやらなんやら片っ端から切り分けしていたが不明。
仕方なく、
「/form」
じゃなくて
「/form.html」
だったら、まぁ物理的にあるから「無い」とは言われないのでは。ということで、上記「/form」を全て「/form.html」に変更してみた。

そしたら・・・いけた。
何かいやだった。拡張子かっこ悪いので入れたくなかったのに!

理論的には最初のやつでいけるはずで、現にローカルではいけてるのに、、、と非常に納得いかないが、動かないならしょうがない。これでいくしかない。

泣く泣く、それで我慢した。

免責
この記事やプログラムによって生じた事故・損害などは一切保証致しません。ご自身の責任でご使用ください。

子育てブログ「おとう日記」はじめました。
興味ある方、是非ご覧下さい!
おとう日記

コピペプログラマの倉庫を作りました。
サンプルプログラムなど置いておきますのでお立ち寄り下さい。
コピペプログラマ倉庫


良ければ↓投票お願いします↓ m(._.)m ペコッ
人気ブログランキングへ

2010年6月28日月曜日

google apps で GAE(google app engine)を使う(5)

いよいよクライマックスが近くなってきた。

例のあれ、SDKを立ち上げてくれ。



そしてDeploy押してくれ。
するとこんな画面↓


メールアドレスとパスワードが必要。
このGAEはappsのアカウントで作成したわけだから、それを使う。
googleのアカウントではないぞい。

すると、別画面でコマンドが出る。



この「You can close this window now.」が出たら成功。
ちなみに、CNAMEが反映されていないと、途中で止まるよ。

はい、これでデフォルトのファイルがアップロードされたはず。
検証してみる。

http://www.[appsのドメイン名]

appsのダッシュボードからだとここ。



ほい。


きた。
Hello World!

成功ーーー!

やるじゃんこれ。できたじゃんこれ。おもしろい。
いやー、HP作るのが目的なわけだけど、なんかこれだけで満足してしまった。
当分このままにしておこう。

というわけで、google apps で GAE(google app engine)を使う、はこれにて完!


免責
この記事やプログラムによって生じた事故・損害などは一切保証致しません。ご自身の責任でご使用ください。

子育てブログ「おとう日記」はじめました。
興味ある方、是非ご覧下さい!
おとう日記

コピペプログラマの倉庫を作りました。
サンプルプログラムなど置いておきますのでお立ち寄り下さい。
コピペプログラマ倉庫


良ければ↓投票お願いします↓ m(._.)m ペコッ
人気ブログランキングへ

2010年6月27日日曜日

google apps で GAE(google app engine)を使う(4)

はい、前回に続いて、appsでGAEを使える手順に移る。

さっき、appsアカウントでGAE登録した画面あるよね。これ↓


ApplicationをクリックするとGAEの設定?構成?情報?Dashboard?いろいろのってる画面になる↓


左側の「Administration」の「Application Settings」をクリックする。
そうするとこんな画面↓


「Add Domain」いっとこう。appsで利用しているドメイン名を入れて押してくれ!


そうすると、apps側でリクエストを承認する画面が出る。
チェックを入れて、サービス有効にするをクリック。
これでappsで認識されたことに。


が、これではまだ独自ドメインで使える状態にはなっていない。
ということで「新しいURLを追加」をクリック

ま、HPだと一般的にwwwでしょう。
そうすると、apps使い倒してればよく見かけるこれ。CNAMEレコード登録せよ、のメッセージ。


わーかってるよ。
ということで、CNAMEを登録する。ま、このへんは、お名前.comだったり、他のレジストラだったり、でやるわけだが、自分の場合はDNS Parkなのでこんな感じ↓


wwwを追加したとこ。

できたー。これでいよいよ例の「Deploy」できるぜ、と意気込んでみたが、とりあえずこのDNS情報が反映されるまで待たないと。
いわゆるコーヒータイム。

ちなみに、appsのダッシュボードに行ってみると、App Engineが増えてた。


なんか隠しアイテムみたいで感動。


次回へ続く


免責
この記事やプログラムによって生じた事故・損害などは一切保証致しません。ご自身の責任でご使用ください。

子育てブログ「おとう日記」はじめました。
興味ある方、是非ご覧下さい!
おとう日記

コピペプログラマの倉庫を作りました。
サンプルプログラムなど置いておきますのでお立ち寄り下さい。
コピペプログラマ倉庫


良ければ↓投票お願いします↓ m(._.)m ペコッ
人気ブログランキングへ

google apps で GAE(google app engine)を使う(3)

Pythonも新しくしよう。
GAEで使えるバージョンは、2.5以上、3未満らしい。

ってことで、
http://www.python.org/download/
でとってくる


さっさとインストールしちゃおう
全部Nextで。
ほい、次はGoogle App Engine SDKね。
http://code.google.com/intl/ja/appengine/downloads.html
こっからWindows用をもってくる


またまたさっさとインストール、全部Nextで。

ちなみに、先にPythonが入ってないと入れられない。
ほいで、早速SDKを起動!


と、こんな画面。
前はコマンドプロンプトでやる感じだったのに、なんかグラフィカルじゃないか。


ではアプリケーションを追加する。

メニューのFileからCreate New Application...をクリック


はい、この画面っす。

「Application Name」に、最初にappsのアカウントを使い、GAEで作成したアプリケーション名を入れる
あの変更のきかない部分、Application Identiferの部分、と言えばわかるかな。

「Parent Directory」は、アップするファイルを入れる作業フォルダ的な感じで。
ちなみに、指定したフォルダに、アプリケーション名のサブフォルダが作成される。

Portはそのまんまでいいよ。

ほい、Create



そしたら登録されるので、すかさず選択して「Run」


はい、起動。
Browseでローカル環境の画面を表示可能。テストはこれでやればいいね。
サーバーのアップロードは「Deploy」。。。。
ここで、ちょっとまったー。
まだDeployできまへん。googleアカウントであればできるんだが、今回はappsなので、もう一仕事ありまっせ。

次回へ続く

免責
この記事やプログラムによって生じた事故・損害などは一切保証致しません。ご自身の責任でご使用ください。

子育てブログ「おとう日記」はじめました。
興味ある方、是非ご覧下さい!
おとう日記

コピペプログラマの倉庫を作りました。
サンプルプログラムなど置いておきますのでお立ち寄り下さい。
コピペプログラマ倉庫


良ければ↓投票お願いします↓ m(._.)m ペコッ
人気ブログランキングへ

google apps で GAE(google app engine)を使う(2)

ということで、やってこう。

っていっても、GAEの環境が新しくなってるらしいので、とりあえず前回のを削除して、もっかい入れ直し。おさらいも兼ねてやってこう。



はい、GAEのHP。
よく見ると下(赤枠)のとこに、appsでのアクセスがどうたらと書いてある。
その通りにアクセス。
https://appengine.google.com/a/ドメイン名
叩いてみると、appsのログイン画面が出た。ここで、appsのアカウントでログインする。
このアカウントを覚えておくこと。メールアドレスあとで使うよー。

そうすると、、、お、いつものGAE作成画面だ。

よしよし、あとは一緒だな。携帯に送って

届いたコードを貼りつけるとこれ
ldentifierはあとから変えられないので気をつけて、acceptにチェックして登録

ほい、簡単なもんだな。
これでapps用のGAE登録が完成。

どこが違ったかって?
googleアカウントではなく、appsのアカウントで登録が出来たってとこだね。
それ以外は前と一緒www

次回に続く

免責
この記事やプログラムによって生じた事故・損害などは一切保証致しません。ご自身の責任でご使用ください。

子育てブログ「おとう日記」はじめました。
興味ある方、是非ご覧下さい!
おとう日記

コピペプログラマの倉庫を作りました。
サンプルプログラムなど置いておきますのでお立ち寄り下さい。
コピペプログラマ倉庫


良ければ↓投票お願いします↓ m(._.)m ペコッ
人気ブログランキングへ

google apps で GAE(google app engine)を使う(1)

google apps で GAE(google app engine)を登録してみたぞ

前回(google app engineに登録してみた)でGAEは紹介したが、実はその後appsもやってみていた。ま、appsのレポートはまた後日ということで。

しかも、ドメインはネームサーバーを変更できるDDNSを利用し、そのネームサーバーにDNS Parkを利用して、DNS設定を可能にしたため、純粋な0円(タダ、無料、free)である

apps、すげー。
で、このドメインでHP公開してしまおうと思ったわけで、サイトを使ってみた。
これね。↓




そしたら、これってその組織内で使うやつで、普通のgoogleアカウントみたいに、一般公開できないではないか。

んーじゃあHP作るときはどうやんの?

あ、GAE使うんか!
確かに組織内のインフラを意識しているappsと、外部向けHPでは、ちょっと違うもんな。
うん、納得。

ということで、appsでのApp Engine登録をやってみたぞ。

次回に続く


免責
この記事やプログラムによって生じた事故・損害などは一切保証致しません。ご自身の責任でご使用ください。

子育てブログ「おとう日記」はじめました。
興味ある方、是非ご覧下さい!
おとう日記

コピペプログラマの倉庫を作りました。
サンプルプログラムなど置いておきますのでお立ち寄り下さい。
コピペプログラマ倉庫


良ければ↓投票お願いします↓ m(._.)m ペコッ
人気ブログランキングへ

2009年3月20日金曜日

google app engineに登録してみた

google app engine やってみた。
今回は登録の手順を。
まずトップページ
スタートガイドから「ログイン」をクリック
Welcome !
こっから先は英語です
Japanで、携帯アドレスを指定します。
で、「Send」!

おお、きたきた。
何やら数字の文字列が・・・・

携帯で受信したコードを入力して
またまた「Send」!

おお、Create Application きましたね。
クリエイトしちゃいましょう。
まずはユニークなurlを決める。
このurlは後から訂正がきかないので慎重にね。
そしてタイトルを決めましょう。
同意してから「Save」!

おお、うまく登録できたようです。
今日はここまで!


免責
この記事やプログラムによって生じた事故・損害などは一切保証致しません。ご自身の責任でご使用ください。

子育てブログ「おとう日記」はじめました。
興味ある方、是非ご覧下さい!
おとう日記

コピペプログラマの倉庫を作りました。
サンプルプログラムなど置いておきますのでお立ち寄り下さい。
コピペプログラマ倉庫


良ければ↓投票お願いします↓ m(._.)m ペコッ
人気ブログランキングへ

2009年2月25日水曜日

Google AppフレームワークGAEO、日本語ドキュメント登場

Google AppフレームワークGAEOに日本語ドキュメントが登場
自分も見ようみまねで試してみましたが「ドキュメントが英語かー」と
ありがちなガッカリを噛み締めていましたが、出てたようです。
まだ確認はしていませんが、後で調べてみたいと思います。
 
2009/01/20



免責
この記事やプログラムによって生じた事故・損害などは一切保証致しません。ご自身の責任でご使用ください。

子育てブログ「おとう日記」はじめました。
興味ある方、是非ご覧下さい!
おとう日記

コピペプログラマの倉庫を作りました。
サンプルプログラムなど置いておきますのでお立ち寄り下さい。
コピペプログラマ倉庫


良ければ↓投票お願いします↓ m(._.)m ペコッ
人気ブログランキングへ