Context:-我们使用GAE和Python3,所以GAE包不可用,所以我们使用google*包与GAE服务交互
例如,google-cloud-tasks用于推送队列,google-cloud-datastore用于数据存储。
Problem:-没有办法测试开发环境中的东西,因为google*包直接作用于生产服务。
也就是说,如果我使用谷歌云推送一个任务,它将推动生产队列,类似地,如果我从开发环境中创建或更新一个实体,它将是生产数据存储中的更新实体。
早些时候,对于本地系统中的GAE包,它曾经有用于开发的本地云任务和数据存储。
我认为这是一个很大也很常见的问题,我想知道是否还有其他人也面临这样的问题,并找到了解决办法。
发布于 2018-12-18 16:40:57
对于Cloud,您可以按照https://cloud.google.com/datastore/docs/tools/datastore-emulator上的说明使用本地模拟器,而不是生产数据存储数据库。
正如在https://cloud.google.com/tasks/docs/migrating中所指出的,当前模拟器中不支持云任务。
发布于 2020-08-09 12:12:40
我为Python开发构建了一个进程内模拟器。
还请参阅一些在localhost中单独运行的仿真器:在上面的答案中提到的土豆伦敦gcloud任务模拟器和Aert van de Hulsbeek的云任务模拟器。
发布于 2020-07-16 04:26:58
这个用于Google任务的本地模拟器为我工作。
pip install gcloud-tasks-emulator
gcloud-tasks-emulator start --port=9090//注意-:默认情况下,gcloud-Task-仿真器命令在全局切换安装目录时不可用。
/Users/{userName}/Library/Python/3.7/bin
./gcloud-tasks-emulator start --port=9090现在,我们可以添加代码更改以支持本地env中的云任务。
import grpc
from google.cloud.tasks_v2 import CloudTasksClient
from google.cloud.tasks_v2.gapic.transports.cloud_tasks_grpc_transport import C
loudTasksGrpcTransport
client = CloudTasksClient(
transport=CloudTasksGrpcTransport
(channel=grpc.insecure_channel("127.0.0.1:9090"))
)访问此链接可获得完整的https://pypi.org/project/gcloud-tasks-emulator/指令
https://stackoverflow.com/questions/53826183
复制相似问题