在用 Python 编写的 Google App Engine (GAE) 上。
我正在尝试向 cloud-speech-to-text api 发布 http 帖子并使用 URI 音频源(Google Cloud Storage Bucket Objects)。
我正在使用以下标题;
Authorization: BASIC encoded_base64(username:password)
Run Code Online (Sandbox Code Playgroud)
但我仍然不断收到以下错误响应:
{ "error": { "code": 403, "message": "匿名来电者没有 storage.objects.get 访问 bucket_of_secrets/four_score_seven_years.flac.", "status": "PERMISSION_DENIED" } }
所以我有几个问题;
username:password应该使用什么?是我的 GCP 帐户电子邮件和密码吗?IEhandsome_dude@gmail.com:deluded_fool哪里handsome_dude@gmail.com是用户名,哪里是deluded_fool密码。
我已经尝试将存储桶对象设置为公共可读,当然 http 调用有效……但我宁愿避免将存储桶对象设置为公共可读。
这是一个示例 Curl 请求:
curl -X POST
https://speech.googleapis.com/v1/speech:longrunningrecognize?key=<secret_api_key> -d @sample.json -H "Content-Type: application/json, Authorization: Basic base64encodedusername:password"
Run Code Online (Sandbox Code Playgroud)
这是我使用 urlfetch 的 …
google-app-engine http-headers urlfetch google-cloud-storage google-cloud-platform
我正在使用 Google Cloud Functions 连接到 Google Bigquery 数据库并更新一些行。云函数是使用 Python 3 编写的。
每当我通过该函数运行更新 dml 时,我都需要帮助弄清楚如何获取结果消息或更新/更改的行数。有任何想法吗?
from google.cloud import bigquery
def my_update_function(context,data):
BQ = bigquery.Client()
query_job = BQ.query("Update table set etc...")
rows = query_job.result()
return (rows)
Run Code Online (Sandbox Code Playgroud)
我知道行总是作为 _emptyrowiterator 对象返回。我可以通过什么方式获得结果或结果消息?文档说我必须从 bigquery 作业方法中获取它。但是好像想不通。