- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在对Client Server Example进行变体,它仅使用Redstone框架返回JSON字符串。它有3条路线:
/
=>获取整个列表或名称/add/name
=>将“名称”添加到列表中并获取列表/remove/name
=>从列表中删除“名称”并获取列表Exception: Tried to insert 1 entities, but response seems to indicate we inserted 0 entities. package:appengine/src/api_impl/raw_datastore_v3_impl.dart 416:11 DatastoreV3RpcImpl.commit. dart:isolate _RawReceivePortImpl._handleMessage
import 'dart:io';
import 'dart:async';
import 'package:shelf/shelf.dart' as shelf;
import 'package:redstone/server.dart' as app;
import 'package:restonetest/model.dart';
import 'package:gcloud/db.dart';
import 'package:appengine/appengine.dart';
Key get itemsRoot => context.services.db.emptyKey.append (ItemRoot, id: 1);
DatastoreDB db = context.services.db;
Future<List<Item>> queryItems ()
{
var query = context.services.db.query (Item, ancestorKey: itemsRoot)
..order ('name');
return query.run ().toList ();
}
Future<List<Item>> addItemToDB (Item item)
{
return db.query(Item, ancestorKey: itemsRoot).run()
.any((i) => i.name == item.name)
.then((exists)
{
return ! exists ? db.commit(inserts: [item]) : false;
});
}
@app.Route("/")
helloWorld() => queryItems();
@app.Route('/add/:name')
addItem (String name)
{
return addItemToDB (new Item.create (name, itemsRoot)).then ((_)
{
print (name);
return helloWorld();
});
}
@app.Route('/delete/:name')
deleteItem (String name)
{
var query = db.query (Item, ancestorKey: itemsRoot)..filter('name =', name);
return query.run().toList().then((list)
{
var toDelete = list.map((i) => i.key).toList();
return db.commit(deletes: toDelete);
})
.then((_) => helloWorld());
}
main() {
app.setupConsoleLog();
app.setUp();
runAppEngine(app.handleRequest);
//app.start();
}
最佳答案
目前,package:appengine仅允许一个在请求处理程序内部调用API服务:
每个请求处理程序调用将获得一组新的服务。这允许package:appengine给每个请求处理程序例如一个不同的日志服务实例。这样就可以按请求将所有日志记录API调用分组。
在dart / package:appengine中,这是通过使用区域实现的。对于每个传入的请求,package:appengine会创建一个具有API服务的新区域,并在其中调用请求处理程序。然后,处理程序可以使用“context.services”。进行API调用。
因此,上面发布的程序中的问题是,DatastoreDB服务从第一个请求中缓存了(全局字段被延迟初始化),并且可能不再对后续请求起作用。
改变中
DatastoreDB db = context.services.db;
DatastoreDB get db => context.services.db;
关于google-app-engine - 尝试使用Dart在App Engine上的gcloud DB中插入元素时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27089890/
我指的是这个 URL https://cloud.google.com/speech/docs/getting-started开始使用谷歌语音 API。正如网站所建议的那样,我遵循了以下步骤 创建或选
只需输入 gcloud寻求帮助需要 5 秒。 $ gcloud ... gcloud 0.30s user 0.13s system 7% cpu 5.508 total $ gcloud vers
要查看所有 gcloud 项目,请使用命令 gcloud projects list .要切换到特定项目,请使用 gcloud config set project PROJECT_ID . 但是当您
如何更新 gcloud components在shell脚本中以编程方式? 调用 gcloud components update需要用户输入,例如: $ gcloud components upda
如果我转到谷歌云控制台中的“IAM & admin”并选择左侧的“IAM”选项卡,我会看到一个用户列表(用户名@mydomain)。 如何使用 gcloud 列出这些用户?我如何查看用户通过 gclo
我想编写一个 shell 脚本,它基本上完成了 gcloud 的所有安装步骤,如以下概述:https://cloud.google.com/sdk/?hl=en 但是,当您运行 install.sh
我正在使用 gcloud beta logging read 来读取一些日志,并使用 --format 选项来格式化为 csv: --format="csv(timestamp,jsonPayload
我们的项目正在使用 dataproc,我已经检查了主和工作计算引擎中指示的服务帐户,它对我的存储桶存储具有所需的权限。尽管如此,在日志查看器中,我看到了以下内容: (gsutil) Failed
Google API 客户端通常会识别 GOOGLE_APPLICATION_CREDENTIALS环境变量。如果找到,它应该指向带有服务帐户或用户凭据的 JSON 文件。 可以从 GCP Web 控
当我运行一个简单的命令时,大约需要 10 秒才能完成, λ time gcloud version Google Cloud SDK 293.0.0 beta 2019.05.17 bq 2.0.57
我正在使用 remote builder 运行云构建,能够将工作区中的所有文件复制到我自己的虚拟机,但无法复制隐藏文件 用于复制文件的命令 gcloud compute scp --compress
我在脚本中使用命令gcloud compute instances list,但担心确切的输出格式不是静态的。我该怎么办? 最佳答案 您应该使用大多数--format命令可用的gcloud标志。 例如
我有谷歌云任务 API 的问题。我需要创建具有很远计划时间的任务。最长计划时间为 30 天。是否有可能增加该限制或绕过某些问题? 最佳答案 如果我们查看云任务的配额,我们会看到任务的默认最长调度时间为
如果我发出 gcloud dataproc Clusters list 则会列出 0 个集群: $ gcloud dataproc clusters list Listed 0 items. 但是,如
我在脚本中使用 gcloud auth activate-service-account 来激活服务帐户。它输出 Activated service account credentials for:
gcloud 中的功能和选项有时会被弃用/删除。如果 CI 依赖它并且重构不是一个选项,同时我们需要使用后续版本中出现的新功能,我们可以在同一台计算机上安装多个版本的 gcloud 并同时使用吗? 最
我在脚本中使用 gcloud auth activate-service-account 来激活服务帐户。它输出 Activated service account credentials for:
通常我对 gcloud 命令没有任何问题。作为一个只在更新我的网站时使用的人,我的曝光是通过一个命令: gcloud app deploy 当出现标题中显示的错误时,建议我运行“gcloud info
在 linux 中,我使用的是 Google gcloud。我注意到,当我使用以下命令时,并非总是将新文件或修改过的文件上传到 Google Cloud Storage: gcloud 应用部署 我得
我们正在使用 Jenkins 构建数据并将数据推送到 Google Cloud Storage。 我们有一台构建机器;和多个不同的 Google 项目(测试;生产) 如果 'jenkins' 用户在
我是一名优秀的程序员,十分优秀!