Earth Engine 访问权限

Earth Engine 在 Google Cloud 上运行,需要 Cloud 项目才能进行访问和 API 管理。所有 Earth Engine 调用(无论是通过代码编辑器、客户端库、应用还是 REST API 进行的调用)都会通过 Cloud 项目进行路由,从而在 Cloud 控制台中实现访问控制、资源管理和使用情况监控。

获取 Earth Engine 访问权限

若要使用 Earth Engine,您需要有权访问满足以下条件的 Cloud 项目:

创建项目

访问 注册页面,创建并注册新的 Cloud 项目,或注册现有项目。

您可以在 Google Cloud 控制台中管理注册过程中创建的项目。您可以通过 Cloud 控制台中的 Earth Engine API 页面激活或停用 Earth Engine API。

手动步骤(由注册页面自动执行)

创建 Cloud 项目

创建 Google Cloud 项目(如果您尚未创建)。您可以通过 Cloud 控制台的项目页面执行此操作,也可以点击以下按钮:

创建 Cloud 项目

启用 Earth Engine API

如需为您的项目启用 Earth Engine API,请点击以下按钮前往 Earth Engine API 页面:

启用 Earth Engine API

在 Earth Engine API 页面上,确保您已选择自己的项目,然后点击 ENABLE 按钮。

注册项目以用于商业或非商业用途

修改项目的以下网址,访问该页面,然后完成注册流程。

https://code.earthengine.google.com/register?project=my-project

创建 assets 文件夹(可选)

您可以使用 earthengine create folder 命令创建与您有权访问的 Cloud 项目关联的 Earth Engine 资产文件夹,具体方法是使用此处所述的路径。例如:

earthengine create folder projects/my-project/assets/

您还可以在代码编辑器中为项目创建素材资源文件夹,方法是在“素材资源”面板中添加项目

除非您打算在项目中存储资源,否则无需创建此文件夹。

使用现有项目

请与贵组织的 IT 人员联系,了解为 Earth Engine 配置的现有 Cloud 项目。确保您用于访问 Earth Engine 服务的 Google 账号已获得相应项目的正确角色和权限

指定项目

以下部分介绍了如何为 Earth Engine 服务的各种接口指定项目。

客户端库(Python、JavaScript)

ee.Initialize() 函数用于为源自 PythonJavaScript 客户端库的 Earth Engine 请求指定项目。您可以通过多种方式配置项目规范,如需了解详情,请参阅身份验证和初始化页面。

代码编辑器

点击 Code Editor(代码编辑器)右上角的个人资料图标,然后从菜单中选择“更改 Cloud 项目”。 从选择对话框中选择一个项目。

Earth Engine Apps

发布 Earth Engine 应用时,系统会提示您选择要将请求转送到的项目。按照发布对话框中的说明操作。

命令行工具

如需将命令行工具中的 Earth Engine 调用与 Cloud 项目相关联,请在调用 earthengine 时使用 --project 参数,或使用 set_project 设置默认项目。

REST API

如需将对 REST API 的调用与 Cloud 项目相关联,请发出经过身份验证的 HTTP 调用,其中身份验证由 oauth2 处理。在本地环境中,您可以使用 gcloud 命令。您还可以使用与 Cloud 项目关联的服务账号。如需查看使用 google.oath.service_account.Credentials.from_service_account_file() 通过服务账号进行身份验证的示例,请参阅 REST API 快速入门

配置项目访问权限

以下部分介绍了如何配置启用了 Earth Engine 的项目,以供其他个人和服务账号使用。

服务账号

服务账号在其父级项目注册并启用 Earth Engine API 后,便会自动获得访问权限。他们还需要在项目中拥有正确的权限。您可以将项目中的任意数量的服务账号配置为使用 Earth Engine。如需详细了解如何将服务账号与 Earth Engine 搭配使用,请访问服务账号页面。

Google 账号

Cloud 项目使用 Cloud IAM 来管理角色和权限。如需让其他用户通过您的项目访问 Earth Engine,您需要使用 Cloud 控制台向他们授予正确的角色和权限

OAuth 2.0 客户端 ID

您可能需要通过项目创建 OAuth 2.0 客户端 ID,例如创建将用户凭据传递给 Earth Engine 的应用。如需管理 Cloud 项目的凭据,请前往 Cloud 控制台菜单 (),然后依次选择 API 和服务 > 凭据。(如果出现提示,请选择项目)。

如需为项目创建新的客户端 ID,请依次点击 + 创建凭据 > OAuth 客户端 ID > 网站应用

在 Web 应用的配置中:

  • 指定已获授权的 JavaScript 来源,例如:
http://localhost:8080
https://foo-ee-project.appspot.com
  • 指定已获授权的重定向 URI,例如:
http://localhost:8080/oauth2callback
https://foo-ee-project.appspot.com/oauth2callback

详细了解如何使用 OAuth 对用户进行身份验证

常见方案

我正在教授一门教育课程...

太棒了!如果您注册的是非商业项目,则无需进行结算配置。然后,您可以将学生添加到项目中。

我属于运营团队/商业组织...

太棒了!您可以注册用于商业用途的项目,并向其中添加协作者。另请注意您选择的 Earth Engine 订阅中的座位数上限。

删除 Earth Engine 数据

账号级删除

账号级删除会从您的账号中移除所有 Earth Engine 数据。

如果您的账号属于 Google Workspace 组织,那么管理员负责管理您的账号数据。当管理员删除 Google 账号后,大约 30 天内,系统会清除所有关联的 Earth Engine 数据。

数据一经删除,Earth Engine 团队便无法恢复。

Cloud 项目

删除 Cloud 项目后,系统会触发删除与该项目关联的 Earth Engine 数据(例如,存储在项目根目录中的所有资源、所有项目级 EE 应用、监控数据等)。此过程最多可在 30 天内撤消,但 30 天后将无法恢复这些数据。

素材资源

删除资产最简单的方法是使用 Code Editor 中的“资产”标签页查看和手动删除 Earth Engine 资产。

如需程序化删除 ID 为 projects/{project-id}/assets/{asset-id} 的资产(例如projects/my-project/assets/my-asset):

Python 客户端

ee.data.deleteAsset('projects/my-project/assets/my-asset')

JavaScript 客户端

请注意,代码编辑器的安全沙盒会阻止此调用在该环境中运行。

ee.data.deleteAsset('projects/my-project/assets/my-asset')

命令行工具

使用 rm 命令:

earthengine rm projects/my-project/assets/my-asset

代码编辑器脚本

如需删除 Earth Engine 代码编辑器脚本,请执行以下操作:

代码编辑器

代码编辑器的“脚本”标签页中,选择一个脚本或代码库并将其删除。代码库被标记为已删除后,30 天内将无法恢复。

使用 Git

高级用户可以使用 Git 来管理脚本。请访问 https://earthengine.googlesource.com/,查看您可以查看的代码库列表。

Earth Engine Apps

如需删除 Earth Engine 应用,请使用代码编辑器中的“应用”按钮管理应用

您可以使用“管理链接”页面查看和删除代码编辑器中的“获取链接”链接。如需找到此页面,请前往“获取链接”按钮旁边的下拉菜单中的“管理链接”选项

终止商业使用权限

如果您是 Earth Engine 的直接客户,并且想停止在付费环境中使用 Earth Engine,则需要进行以下几项更改才能停止产生费用:

  • 停止扣款

    • 如需终止结算账号的 Earth Engine 订阅,您需要使用“管理方案”页面(使用与该结算账号关联的已注册 Cloud 项目时,可通过 Code Editor 右上角的用户设置下拉菜单访问该页面)。
    • 您还可以直接访问结算账号的“管理方案”页面:

      https://code.earthengine.google.com/manage/plans?billing=YOUR_BILLING_ACCT_ID
      
    • 选择“受限”方案后,您的结算账号在当前结算周期结束后将不会再产生任何 Earth Engine 平台订阅费用。

  • 停止计算费用

    • 为避免系统产生与计算 (EECU-time) 相关的新费用,请在您的 Cloud 项目中停用 Earth Engine API。请注意,这不会终止正在处理的请求或删除存储的对象,因此即使停用该 API,您可能仍会产生 Earth Engine 费用。
    • 如需了解如何停用 API,请参阅 API 控制台帮助
  • 停止收取存储费用

    • 即使停用该 API,存储的 Earth Engine 资产仍会产生费用。删除资源后,您将不会再产生额外的 EE 存储费用。