我是 google bigquery 的新手。我正在尝试从 google bigquery 数据集之一获取数据,但出现以下错误屏幕截图
SQL查询:
SELECT h.value
FROM `bigquery-public-data.google_analytics_sample.ga_sessions_20170801`,
UNNEST(hits.customDimensions) AS h
LIMIT 10;
Run Code Online (Sandbox Code Playgroud)
请让我知道我在这里犯了什么错误。
我有一个相当简单的 Google Cloud Function,它是从 Cloud Source Repositories 部署的。
我使用 Google Cloud Shell 作为我的开发机器。
当我在开发过程中对函数进行更新时,我使用 CLI 将更新推送到我的源存储库。然而,gcloud functions deploy ...从命令行运行该命令似乎并没有强制GCF 提取最新的源代码。
有时,deploy推送新源代码后的命令只会简单地指出“无需更新”。(这是不正确的。)
更常见的是,它将经历部署过程,但该函数仍将运行以前版本的代码。
发生这种情况时,我可以更新函数的唯一方法是使用仪表板,“编辑”函数,然后单击“部署”按钮(即使我没有更改任何内容。)
我是否忘记进行某种所需的版本控制或标记?有没有办法强制 CLI 从源存储库中提取最新的提交?
google-cloud-platform gcloud google-cloud-source-repos google-cloud-functions
能够使用以下命令在没有 --ciphertext-file 文件路径的情况下进行加密
echo -n mytext | gcloud kms encrypt --plaintext-file=- \
--ciphertext-file=- --location=xxxx --keyring=xxx \
--key=xxxx | base64
Run Code Online (Sandbox Code Playgroud)
上面的命令返回一个响应CiQALDSTqyFnlrxtK9phQqLb849IZTiIOvjsG2.....
现在我想解密 CiQALDSTqyFnlrxtK9phQqLb849IZTiIOvjsG2.....。
以下是我尝试过但对我不起作用的
echo -n CiQALDSTqyFnlrxtK9phQqLb849IZTiIOvjsG2..... | \
gcloud kms decrypt --plaintext-file=- \
--ciphertext-file=- --location=xxx --keyring=xxx \
--key=xxx | base64
Run Code Online (Sandbox Code Playgroud)
收到错误ERROR: (gcloud.kms.decrypt) INVALID_ARGUMENT: Decryption failed: the ciphertext is invalid.
谢谢,任何帮助将不胜感激
所以我使用这个 gcloud 控制台命令从容器映像创建一个实例
gcloud compute instances create-with-container test-instance \
--zone us-xx \
--container-image asia.gcr.io/my-project/my-docker-image \
--container-privileged \
--network my-network \
--subnet my-net-sub \
--create-disk name=test-data,device-name=test-data,auto-delete=yes,size=200GB,type=pd-ssd \
--container-mount-disk name=test-data,mount-path=/mnt/disks/data \
--service-account me@myproject.iam.gserviceaccount.com
Run Code Online (Sandbox Code Playgroud)
它工作正常并创建实例,但它不会安装数据磁盘。为什么?更准确地说,要添加我需要的数据磁盘
如何指定使用ext4创建分区,然后挂载分区部分?
我在命令方面遇到问题gcloud,花了一周的时间来解决。当我运行 gcloud 命令时gcloud auth revoke,出现以下错误。
WARNING: This command is using service account impersonation. All API calls will be executed as [xxx@gmail.com]. // xxx@gmail.com is my user account which is the owner of the project.
ERROR: (gcloud.iam.service-accounts.create) Failed to impersonate [xxx@gmail.com]. Make sure the account that's trying to impersonate it has access to the service account itself and the "roles/iam.serviceAccountTokenCreator" role.
Run Code Online (Sandbox Code Playgroud)
为了解决此问题,我创建了一个具有“roles/iam.serviceAccountTokenCreator”角色的服务帐户,并将策略授予 xxx@gmail.com。但它不起作用。
详细错误如下(使用“--log-http”运行命令)。
=======================
==== request start ====
uri: https://oauth2.googleapis.com/token
method: POST
== headers start == …Run Code Online (Sandbox Code Playgroud) 我正在尝试在托管于谷歌云平台的 MERN 项目中实现谷歌跟踪。
我已经按照 Google 提供的指南和示例进行操作,但我无法使其以任何方式工作。
import gCloudTrace from '@google-cloud/trace-agent';
// initialize gcloud trace
if (process.env.NODE_ENV === 'production') {
console.log(`Starting google cloud trace...`);
const tracer = gCloudTrace.start();
console.log(JSON.stringify(tracer,null,2));
};
import express from 'express';
import apiRoute from './api.js';
import indexRoute from './index/indexRoute.js';
try {
// setup
const host = process.env.HOST || '0.0.0.0';
const port = process.env.PORT || 5050;
const app = express();
// routes
app.use('/', indexRoute);
app.use('/api', checkGloblalSettings, apiRoute);
// create and run HTTP server
app.listen(port, host, () => {
console.log(`EXPRESS …Run Code Online (Sandbox Code Playgroud) google-app-engine gcloud stackdriver google-cloud-stackdriver
当我在 Windows 上运行它时,所有命令都可以正常工作PowerShell。
起初,我无法gcloud从.sh脚本文件或 Git Bash 终端运行任何命令。
好像git bash没找到SDKPython自带的捆绑安装gcloud。
所以我也为 Windows 安装了 Python。
现在我可以从PowerShell,.sh file和Git bash.
从PowerShell,我得到一个干净的日志,如下所示:
但是从我从.sh脚本文件或从Git bash窗口运行它。这被记录:
这似乎是工作的罚款,但这个Permission Denied错误的WindowsApps/python3。
我怎样才能摆脱它?
我正在尝试使用组织的管理员帐户在谷歌云中创建我的第一个项目。我可以访问管理员的电子邮件和密码,并且我正在使用该帐户登录来执行此操作。问题是,当我单击创建新项目时,我收到以下错误:
There was an error while loading /home/dashboard?project=proven-now-305315&authuser=1.
You are missing at least one of the following required permissions:
Project
resourcemanager.projects.get
Check that the project ID is valid and you have permissions to access it. Learn more
Send feedback
Run Code Online (Sandbox Code Playgroud)
详细信息是,在我的资源管理面板中,我已经授予了他们要求我访问资源的权限,如下图所示:
正如我所读到的,项目 IAM 管理员角色应该授予该resourcemanager.projects.get角色,正如您在图像中看到的那样,资源 rcv @ .. 是管理员已激活它,但是我一直尝试创建一个新项目,但它没有激活请允许我这样做。任何想法?
我正在创建一个新的服务帐户并尝试为其分配角色。分配部分无法找到我刚刚创建的帐户。
为什么?
*[master][~]$ gcloud iam service-accounts add-iam-policy-binding some-project --member="serviceAccount:some-name@some-project.iam.gserviceaccount.com" --role="roles/secretmanager.secretAccessor"
ERROR: (gcloud.iam.service-accounts.add-iam-policy-binding) NOT_FOUND: Unknown service account
*[master][~]$ gcloud iam service-accounts add-iam-policy-binding some-project --member="some-name@some-project.iam.gserviceaccount.com" --role="roles/secretmanager.secretAccessor"
ERROR: (gcloud.iam.service-accounts.add-iam-policy-binding) NOT_FOUND: Unknown service account
*[master][~]$ gcloud iam service-accounts list
DISPLAY NAME EMAIL DISABLED
Compute Engine default service account 01234567890-compute@developer.gserviceaccount.com False
App Engine default service account some-project@appspot.gserviceaccount.com False
Some Name some-name@some-project.iam.gserviceaccount.com False
Run Code Online (Sandbox Code Playgroud)
有趣的是,新帐户也不会出现在门户的IAM 和管理 > 服务帐户中。当我从 CLI 中列出它们时,它仍然显示。呜呜……
我正在尝试编写一个 gcloud 命令,对计算引擎实例进行批量元数据更新。
通常我可以通过管道传输gcloud compute instances list到xargs gcloud compute instances add-metadata. 但是,这会受到阻碍,因为由于某些无法解释的原因,即使计算实例名称似乎是全局唯一的,也add-metadata需要实例名称和区域。因此,现在我被迫尝试将两条数据(名称和区域)传输到 add-metadata 命令。如果我不提供两者,我会得到:
ERROR: (gcloud.compute.instances.add-metadata) Underspecified resource [worker-1]. Specify the [--zone] flag.
Run Code Online (Sandbox Code Playgroud)
我准备放弃 bash/xargs 咒语并切换到 python,但我想我应该先检查这里。
我有这个命令:
gcloud compute instances list \
--filter="name~'worker' AND zone~'us-central1'" \
--format 'value(name,zone)'
Run Code Online (Sandbox Code Playgroud)
它返回类似:
worker-1 us-central1-c
worker-2 us-central1-c
worker-3 us-central1-c
worker-4 us-central1-c
Run Code Online (Sandbox Code Playgroud)
然后我需要将它们通过管道传输到如下命令中:
gcloud compute instances add-metadata --zone=[zone goes here] --metadata myvalue=true [instance name goes here]
Run Code Online (Sandbox Code Playgroud)
但事实证明,单独使用 xargs 是很棘手/烦人的。有没有更好或更简单的方法来完成我正在尝试的事情?