Google App Engine for Python & PHP 시작

참고


  • htps : // 이런. 로 ゔぇぺぺrs. 오, ぇ. 코 m / p 로지 ct / p 로지 ぇ c 쵸게 / s rt / 아펜 기네


  • Uploading, Downloading, and Managing a Python App - Python — Google Cloud Platform

  • SDK for Python 다운로드


  • Download the Google App Engine SDK - App Engine — Google Cloud Platform
  • unzip google_appengine_1.9.25.zip
    mv google_appengine ~/bin/
    
  • PATH를 추가해 둔다

  • ~/.bashrc
    export PATH=$PATH:$HOME/bin/google_appengine
    

    출처


    wget https://console.developers.google.com/project/プロジェクトID/start/appengine
    unzip master.zip
    cd appengine-try-python-bottle-master/
    appcfg.py -A プロジェクトID update .
    

    WEB 브라우저가 기동해 「The authentication flow has completed.」라고 표시된다.
  • http://projectID.appspot.com/로 이동

  • 「Hello World!」라고 표시되면 성공.

    수정 반영 방법



    main.py
     def hello():
         """Return a friendly HTTP greeting."""
    -    return 'Hello World!'
    +    return 'こんにちは'
    
    appcfg.py -A プロジェクトID update .
    

    「안녕하세요」라고 표시되면 성공

    PHP


  • Python SDK에는 PHP SDK도 포함되어 있습니다.
  • wget https://github.com/GoogleCloudPlatform/appengine-try-php/archive/master.zip
    unzip master.zip
    cd appengine-try-php-master
    
    appcfg.py -A プロジェクトID update .
    

    「Hello World!」라고 표시되면 성공.

    수정 반영 방법



    helloworld.php
     <?php
    -  echo 'Hello, world!';
    +  echo 'こんにちはPHP';
    
    appcfg.py -A プロジェクトID update .
    

    「안녕하세요」라고 표시되면 성공
  • $_SERVER["REMOTE_ADDR"] 변수라든지 보통으로 사용할 수 있으므로 액세스 제한 할 수 있어 편리해 보인다

  • 라우팅 추가



    app.yaml
     handlers:
    -- url: /.*
    -   script: helloworld.php
    +- url: /
    +  script: index.php
    +- url: /1
    +  script: 1.php
    

    이렇게하면/에 액세스가 왔을 때 index.php
    /1에 접근이 올 때1.php가 가공된다.

    데이터 저장


  • 참고: Blog @vierjp : 30. Google App Engine for PHP의 이식성을 생각합니다.

  • 준비: Bucket 만들기


  • 스토리지 > Cloud Storage > 브라우저
  • Bucket 만들기. 고유한 이름을 붙인다.

  • 데이터 저장 방법



    helloworld.php
    define(BUCKET, "gs://mybucket");
    
    # text/plain で保存
    $options = [ "gs" => [ "Content-Type" => "text/plain" ]];
    $ctx = stream_context_create($options);
    file_put_contents(BUCKET."/hello.txt", "データ1", 0, $ctx);
    
    # binaly/octet-stream で保存
    $fp = fopen(BUCKET."/hello2.txt", "w");
    fwrite($fp, "データ2");
    fclose($fp);
    

    버킷에 데이터가 저장되었는지 확인합니다.

    좋은 웹페이지 즐겨찾기