Google App Engine 可讓您在 Google 伺服器上建構及執行自訂應用程式。隨著流量和資料儲存需求變化,您可以輕鬆建立、維護及擴充 App Engine 應用程式。只要上傳應用程式原始碼,即可開始使用。如果您是 App Engine 開發新手,請務必先參閱 App Engine Python 或 Node.js 快速入門導覽課程,再繼續操作。
您可以搭配使用 Earth Engine 和 App Engine,建構可擴充的地理空間應用程式。一般來說,您的 App Engine 程式碼會包含 Earth Engine Python 用戶端程式庫,並使用服務帳戶向 Earth Engine 後端提出要求。這項做法的優點是,任何人都可以在不登入或不註冊為 Earth Engine 使用者的情況下使用您的應用程式。請注意,標準 Earth Engine 用量限制適用於每個服務帳戶。
另一種開發方法是使用 用戶端驗證,而非服務帳戶。採用這種方法時,應用程式訪客必須註冊 Earth Engine 並登入。這種方法的優點是,對 Earth Engine 的要求會使用使用者的憑證提出,因此較不容易達到用量限制。缺點是使用者必須註冊 Earth Engine 並登入,才能使用應用程式。
GitHub 上的 Earth Engine App Engine 示範目錄包含一系列實用的 App Engine 範例。如需各個範例的簡短說明,請參閱範例應用程式頁面。本文說明如何設定及部署範例或您建立的自訂應用程式。
使用 Earth Engine 部署 App Engine 應用程式
下列操作說明解說如何部署示範應用程式。Python 指示適用於 Mac OS 和 Linux。如果您在 Windows 上使用 Python,請 嘗試執行這項操作。
在 Google Cloud 雲端專案中啟用 Earth Engine API
建立或選取 Google Cloud 雲端專案,然後按照這些操作說明啟用 Earth Engine API。
設定憑證
服務帳戶
服務帳戶可用於代表應用程式使用者授權 Earth Engine 要求。config.py 檔案包含使用服務帳戶電子郵件地址和私密金鑰檔案的驗證碼。如要使用服務帳戶設定驗證,請按照這些操作說明建立服務帳戶和私密金鑰檔案。將金鑰檔案命名為 .private-key.json,然後移至專案目錄。
Python
如果尚未設定,請先設定 Earth Engine Python API。請按照這些操作說明測試服務帳戶。
如果測試成功,請使用服務帳戶電子郵件地址更新 config.py (或來源程式碼中的對等檔案)。(金鑰檔案的路徑應不會變更,因為該檔案位於專案目錄中)。
Node.js
執行 npm install,安裝專案的依附元件。Earth Engine Node.js API 和任何其他依附元件都會複製到專案目錄的 ./node_modules 資料夾中。如果安裝失敗,請確認是否已安裝最新版本的 Node.js。驗證並初始化程式庫,將 my-project 替換為您的 Google Cloud 雲端專案 ID:
const ee = require('@google/earthengine'); ee.data.authenticateViaPrivateKey('.private-key.json'); ee.initialize(null, null, null, null, null, 'my-project');
OAuth 2.0 用戶端 ID
如要讓使用者以自己的身分驗證 (而非使用服務帳戶),請從 Cloud 專案設定 OAuth 用戶端 ID。方法如下:
- 請按照這些操作說明設定用戶端 ID。
- 更新
static/script.js(或來源程式碼中的對等檔案),使用您的用戶端 ID。 - 確認
ee_api_js.js是否位於/static/目錄 (或同等目錄)。您可以 直接從 GitHub 下載、 從 npm 安裝,或複製本機檔案系統中earthengine-api/javascript/build的檔案 (如果您已複製整個 EE API 存放區)。
設定本機開發環境
Python
按照 GitHub 上每個範例目錄中的操作說明,下載及建構專案。如有 build.sh 檔案,請從應用程式根資料夾運作執行下列指令:
./build.sh
如果系統中沒有設定指令碼,設定指令碼會下載依附元件並安裝 Google 指令列工具。Earth Engine Python API 及其依附元件會複製到專案目錄中的 ./lib 資料夾。
執行下列指令,確認 App Engine 指令列工具是否可用:
dev_appserver.py
如果找不到指令,請嘗試手動下載並安裝 Python 專用的 Google App Engine SDK。如果指令可用,應該會失敗並顯示「error: too few arguments」。
Node.js
無須進行設定。
在本機上執行
註冊服務帳戶以存取 Earth Engine 後,您就可以在測試範例時使用該帳戶進行驗證 (請參閱 config.py)。請先在本機測試範例,方法是前往專案目錄並執行:
Python
dev_appserver.py .
Node.js
npm install npm start
將瀏覽器設為指向 http://localhost:8080,即可查看在本機伺服器上執行的應用程式。重新整理頁面時,系統會自動套用您所做的變更 (並儲存)。