小编Sou*_*hra的帖子

如何从 python 函数登录 Google Cloud Storage?

我是谷歌云存储的新手,我尝试设置一个每天下载一次 blob 的功能。目前我正在我的 Jupyter Notebook 中工作,但最终,代码将在 Azure 函数中运行。我正在努力设置将我连接到存储桶的客户端。我有一个服务帐户凭据 JSON,它使我能够连接到 google。

在本地我找到了一个解决方案:

from google.cloud import storage

client = storage.Client.from_service_account_json('<PATH_TO_SERVICE_ACCOUNT_JSON>')
Run Code Online (Sandbox Code Playgroud)

问题是我没有将 JSON 存储在云中的路径,但我将其存储在密钥保管库中。我想出了以下解决方案:

from google.cloud import storage
import json
from google.oauth2 import service_account

string_key = get_key_from_key_vault()
service_account_info = json.loads(string_key)
google_credentials = service_account.Credentials.from_service_account_info(
    service_account_info
)
scoped_credentials = google_credentials.with_scopes(
    ['https://www.googleapis.com/auth/cloud-platform.read-only'])
print(type(scoped_credentials))
client = storage.Client(credentials = scoped_credentials)
Run Code Online (Sandbox Code Playgroud)

我不完全确定我是否需要该scoped_credentials = ...部件,但我只有对存储桶的读取权限。(如果我跳过该部分,错误保持不变)

当我选择此解决方案时,出现以下错误:

DefaultCredentialsError: Could not automatically determine credentials. Please set 
GOOGLE_APPLICATION_CREDENTIALS or explicitly create credentials and re-run the application. For
 more information, please see …
Run Code Online (Sandbox Code Playgroud)

python google-authentication google-cloud-storage google-cloud-platform google-auth-library

5
推荐指数
1
解决办法
644
查看次数

BigQuery - 创建外部表

如何在BigQuery中使用CREATE EXTERNAL TABLEDDL语句?

另一个大数据仓库解决方案,如 SnowFlake 和 Hive Based(Presto、AWS Athena...)都有它,而且它非常有用。

ddl external-tables google-bigquery

4
推荐指数
1
解决办法
3万
查看次数

如何估算 Google Cloud Run 成本?

我已经建立了我的机器学习模型,现在作为下一步,我希望将其公开。计划是:

  • 使用 Streamlit 构建 UI。
  • 使用 Docker 镜像打包应用程序。
  • 将 Docker 映像部署到 Google Cloud Run 环境中。
  • 在 Google Cloud Run 环境中启动 Docker 容器。

但问题是我无法估计在 Google Cloud Run 中启动和运行容器的成本(我仍然是初学者)。如何估计最坏的情况,即它应该产生的最大成本是多少?Google Cloud Run 定价表中有 CPU、内存、请求和网络属性,但:

  • 我如何才能确切知道我的应用程序将占用多少这些资源?
  • 如果应用程序公开可用并且请求超过免费限制配额,我可能会得到天文数字的账单。
  • 我可以设置一些账单不能超过的限额吗?

google-cloud-platform google-cloud-run

3
推荐指数
1
解决办法
1029
查看次数

BigQuery 脚本通过联合查询将 google cloud postgres 表复制到 BigQuery

我有一个 google cloud postgres 实例,我正在尝试将架构中的所有表复制到单独的 google bigquery 表中,并使用运行联合查询的脚本,该脚本将安排在某个时间间隔运行。我正在使用 information_schema 中的数据,因为我希望脚本也能够选择新添加的表。

假设分析模式有 4 个表。

analytics.table1
analytics.table2
analytics.table3
analytics.table4
Run Code Online (Sandbox Code Playgroud)

下面的示例代码生成分析架构中所有表的列表,并将其设置为变量名称“table_name”。

DECLARE table_name ARRAY<STRING>;

SET table_name=(
SELECT * FROM EXTERNAL_QUERY("<your_connection_id>",
    "select table_schema||'.'||table_name as table_name from information_schema.tables 
        where table_schema='analytics';");
);
Run Code Online (Sandbox Code Playgroud)

我对该脚本的目的是使用以下查询创建四个单独的 bigquery 表

CREATE TABLE analytics.table1 AS
SELECT * FROM EXTERNAL_QUERY("<your_connection_id>", "SELECT * FROM analytics.table1");

CREATE TABLE analytics.table2 AS
SELECT * FROM EXTERNAL_QUERY("<your_connection_id>", "SELECT * FROM analytics.table2");

CREATE TABLE analytics.table3 AS
SELECT * FROM EXTERNAL_QUERY("<your_connection_id>", "SELECT * FROM analytics.table3");

CREATE TABLE analytics.table4 AS
SELECT …
Run Code Online (Sandbox Code Playgroud)

postgresql dynamic-sql google-bigquery

1
推荐指数
1
解决办法
520
查看次数