我们正在将 GCP 的 Firebase 与 Firestore 一起用于我们正在开发的新移动应用程序。作为这项工作的一部分,我们需要部署许多云功能,这些功能将作为 Firestore 触发器进行一些后端处理。
我们的目的是使用 firebase cli 工具将部署封装在 Firebase 内部。但是,当我们尝试使用“firebase init 函数”调用为函数启动 Firebase 项目时,只有两种语言选项是“Javascript”和“Typescript”,并且唯一可部署的堆栈似乎是 Node.js。
在之前的 GCP 项目中,我们已经部署了基于 Python 的云函数(使用 gcloud cli),理想情况下,我们希望继续将 Python 用于我们的 Firebase 云函数。所以我的问题是:
是否可以部署基于 Python 的 Firebase 云函数?如果不:
我们可以简单地回到使用 gcloud cli 部署基于 Python 的 GCP 云函数,并且仍然让它们作为 Firestore 触发器工作吗?
谢谢
python firebase google-cloud-platform google-cloud-functions google-cloud-firestore
我刚刚阅读了即将对c#和VB.Net进行的更改,使用新的ASYNC和AWAIT关键字进行异步编码.有没有人听说过这是否可用于通过EF进行异步数据库调用?
谢谢
我们正在尝试利用 Ramda 来避免一些蛮力编程。我们有一个对象数组,看起来像这样:
[
{id: "001", failedReason: [1000]},
{id: "001", failedReason: [1001]},
{id: "001", failedReason: [1002]},
{id: "001", failedReason: [1000]},
{id: "001", failedReason: [1000, 1003]},
{id: "002", failedReason: [1000]}
]
Run Code Online (Sandbox Code Playgroud)
我们想改变它,使它看起来像这样:
[
{id: "001", failedReason: [1000, 1001, 1002, 1003]},
{id: "002", failedReason: [1000]}
]
Run Code Online (Sandbox Code Playgroud)
本质上,它根据 id 减少数组,并累积一个包含该 id 的所有“failedReason”的子“failedReason”数组。我们希望一些 Ramda 魔法可以做到这一点,但到目前为止我们还没有找到一个好的方法。任何想法,将不胜感激。
我们在其中一台服务器上有一个基于Node.js的应用程序(我们称之为'my.apiserver.com').我们的客户在不同的域(my.client.com)中有网站.当用户访问我们客户的网站时,会收到一系列html页面,并向我们的服务器发送基于ajax的请求.除了最新的Safari版本(8)之外,这似乎适用于所有设备和浏览器.对于大多数(但奇怪的是不是全部)Safari-8用户,他们会收到以下错误消息:
XMLHttpRequest无法加载http://my.apiserver.com/views/view1.html.Access-Control-Allow-Origin不允许使用来源http://my.client.com
和
XMLHttpRequest无法加载 http://my.apiserver.com/ajax_endpoint1?id=12345.Access-Control-Allow-Origin不允许使用来源 http://my.client.com
在app.js文件中,节点应用程序具有跨域安全设置,如下所示:
/***************************************************************************/
/* configure CORS
/***************************************************************************/
app.use(function(req, res, next) {
res.set('Access-Control-Allow-Origin', 'http://my.client.com');
res.set('Access-Control-Allow-Credentials', true);
res.set('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.set('Access-Control-Allow-Headers', 'Origin, Product-Session, X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept, Referer, User-Agent');
// intercept OPTIONS method
if ('OPTIONS' == req.method) {
res.send(200);
}
else {
next();
}
});
Run Code Online (Sandbox Code Playgroud)
任何关于为什么我们的角色设置失败的最新Safari的见解将不胜感激.
谢谢
最近我们的WPF/Entity Framework 4.0应用程序在我们开始使用backgroundworkers以便从实体加载数据后变得不稳定.我们这样做是为了让BG工作人员从数据库中检索数据时运行'Please Wait'-spinner图形,但我们在随机时间开始遇到许多与EF相关的连接问题和其他无法解释的错误.来自Microsoft EF团队成员的帖子似乎表明EF不是"线程安全的",一旦我们删除了BG工作人员,问题确实消失了.
这给我们留下了一个UI体验问题 - 我们不再有一个用户友好的'Please-Wait'微调器在数据加载时运行.有没有人在没有将数据负载放入BG工作人员的情况下有任何建议可以做到这一点?
谢谢
我尝试使用“--env-vars-file”标志部署 GCP 云函数并指定一个 YAML 文件来包含变量。我的“app-dev.yaml”YAML 文件如下所示:
runtime: python37
api_version: '1'
threadsafe: 'true'
env_variables:
VAR_1: 'var_1_value'
VAR_2: 'var_2_value'
VAR_3: 'var_3_value'
Run Code Online (Sandbox Code Playgroud)
我的 gcloud 函数部署如下所示:
gcloud functions deploy my_cloud_function --env-vars-file app-dev.yaml --runtime python37 --trigger-resource my-project.appspot.com --trigger-event google.storage.object.finalize
Run Code Online (Sandbox Code Playgroud)
现在,当我运行此命令时,我收到此错误:
gcloud 崩溃(ValidationError):字段值的预期类型,找到 {'VAR_1': 'var_1_value', 'VAR_2': 'var_2_value', 'VAR_3': 'var_3_value'} (类型
<type 'dict'>)
但根据这个 Google 示例, app-dev.yaml 格式应该没问题。
任何帮助表示赞赏。谢谢
我希望能够使用单个点分隔的字符串路径设置嵌套字典项。例如,给定以下字典:
data_dictionary = {
"user_data": {
"first_name": "Some",
"last_name": "Guy",
"phone": "212-111-1234"
}
}
Run Code Online (Sandbox Code Playgroud)
我希望能够使用单个字符串设置特定项目,如下所示:
data_dictionary['user_data.phone'] = '818-333-4567'
Run Code Online (Sandbox Code Playgroud)
有人知道完成类似事情的库或简单技术吗?
我想将特定 GCP Datastore 实体(种类)中的数据导出到 CSV 文件中。我原以为 gcloud 或 gsutil CLI 能够处理这个问题,但我还没有找到方法。有什么建议吗?
谢谢
好的 - 我正在把我的头发拉出我认为是一个简单的场景:为双语使用创建一个包含两个附加属性的自定义标签(EnglishText,FrenchText).目前它的结构如下:
Public Class myCustomLabel
Inherits System.Windows.Controls.Label
Public myEnglishTextProperty As DependencyProperty = DependencyProperty.Register("myEnglishText", GetType(String), GetType(myCustomLabel), New PropertyMetadata("English", New PropertyChangedCallback(AddressOf TextChanged)))
Public myFrenchTextProperty As DependencyProperty = DependencyProperty.Register("myFrenchText", GetType(String), GetType(myCustomLabel), New PropertyMetadata("Francais", New PropertyChangedCallback(AddressOf TextChanged)))
Public Sub New()
'This OverrideMetadata call tells the system that this element wants to provide a style that is different than its base class.
'This style is defined in themes\generic.xaml
DefaultStyleKeyProperty.OverrideMetadata(GetType(myCustomLabel), New FrameworkPropertyMetadata(GetType(myCustomLabel)))
End Sub
Public Property myEnglishText() As String
Get
Return MyBase.GetValue(myFrenchTextProperty)
End Get
Set(ByVal …Run Code Online (Sandbox Code Playgroud) python ×2
wpf ×2
asynchronous ×1
controls ×1
cors ×1
dependencies ×1
dictionary ×1
firebase ×1
javascript ×1
node.js ×1
path ×1
pleasewait ×1
properties ×1
ramda.js ×1
safari ×1
yaml ×1