标签: google-cloud-python

在App Engine(python)之外使用数据存储区?

我习惯使用Google Cloud SQL,您可以在其中连接到GAE之外的数据库.这样的GAE数据存储是否可以这样,理想地使用Python NDB接口?

基本上,我的用例是我想运行预先填充和清理数据存储区的验收测试.

看起来当前的选项是JSON API或协议缓冲区 - 测试版.如果是这样,那就是一种痛苦,那么我不能使用我的NDB模型填充数据,但必须重新实现它们以进行测试,并担心它们没有像以前那样保存到数据存储区.通过申请.

只是检查我没有错过什么....

PS.是的我知道remote_api_shell,但我不想要shell.我猜管道命令是一种方式,但ugghh ......

google-app-engine python-2.7 google-cloud-datastore gcloud-python google-cloud-python

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

将Google Cloud Datastore与NDB API配合使用?

有关使用NDB API和Google App Engine数据存储区的大量信息,但我找不到有关如何将NDB与Google Cloud Datastore一起使用的任何信息.我发现的唯一模块是googledatastore,它是非常原始的库.

App Engine数据存储区与云数据存储区有何不同?NDB是否可用于云数据存储?

python google-app-engine google-cloud-datastore gcloud-python google-cloud-python

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

比较生成的和谷歌云存储的难度提供了CRC32c校验和

我attemptting得到CRC32c我的本地文件的校验和,所以我可以把它比作blob.crc32c由gcloud库提供.谷歌说我应该使用crcmod模块来实际计算CRC32c我的数据的哈希值.

modifiedFile.txt 已从Google云端存储桶下载到我的本地文件系统.

这里的目标是,should_download只有在我的本地客户端与远程服务器上modifiedFile.txt有不同的情况时才设置为true CRC32c.CRC32c如果我的本地文件系统和我的gcloud Blob都具有相同的内容,我如何让它们生成匹配?

from crcmod import PredefinedCrc
from gcloud import storage

# blob is a gcloud Blob object

should_download = True

with open('modifiedFile.txt') as f:
  hasher = PredefinedCrc('crc-32c')
  hasher.update(f.read())
  crc32c = hasher.digest()
  print crc32c # \207\245.\240
  print blob.crc32c # CJKo0A==
  should_download = crc32c != blob.crc32c
Run Code Online (Sandbox Code Playgroud)

不幸的是,它目前总是失败,因为我实际上并不知道如何将我构建的校验和与crcmod我在匹配Blob对象中看到的属性进行比较.

python crc32 google-cloud-storage gcloud-python google-cloud-python

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

试图在谷歌云中查找已部署的 python 函数的当前项目 ID 会出错

我已经在谷歌云中部署了一个 python 3.7 函数。我需要通过代码获取 project-id 以找出它的部署位置。

我写了一个小的python 3.7脚本并通过google shell命令行对其进行测试

import urllib
import urllib.request
url="http://metadata.google.internal/computeMetadata/v1/project/project-id"
x=urllib.request.urlopen(url)
with x as response:
 x.read()
Run Code Online (Sandbox Code Playgroud)

不幸的是,这只是b''作为回应。虽然我已经使用了它,但我没有得到项目 ID

gcloud config set project my-project
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮忙,因为我是谷歌云和 python 的新手吗?谢谢。

这是下面的附加问题: 问题 2:

在我的本地系统中,我已经安装了 gcloud,如果我从那里运行上面的 python3.7 脚本

x=urllib.request.urlopen(url) #this line
Run Code Online (Sandbox Code Playgroud)

我从上面的行中收到此异常:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/urllib/request.py", line 1350, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/http/client.py", line 1240, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/http/client.py", line 1286, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/http/client.py", line …
Run Code Online (Sandbox Code Playgroud)

python python-requests google-api-python-client google-cloud-python

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

如何使用用户默认凭据以编程方式对受Cloud Identity-Aware代理(Cloud IAP)保护的资源进行身份验证?

我希望能够使用开发环境上的用户默认凭据以编程方式为Iap生成一个ID令牌(即,我自己的装有Google Cloud SDK并登录的笔记本电脑)。

遵循文档时,我设法使用服务帐户文件生成了授权令牌。

在google.auth.default个人计算机上使用时,我可以看到type的凭据google.oauth2.credentials.Credentials带有refresh_token。我想用它,因为它是在做卷曲生成令牌文档下 Authenticating from a desktop app -> Accessing the application,但我不能使它工作。有人知道是否可以通过这种方式进行身份验证吗?

python google-cloud-platform google-cloud-python google-iap

3
推荐指数
2
解决办法
1204
查看次数

仅使用Google App Engine,webapp2和Python创建API?

是否可以在Google App Engine上仅使用webapp2和Python创建API?

例如,让我的路由/post/123由此RequestHandler处理:

class ShowPosts(webapp2.RequestHandler):
    def get(self):
        posts = Post.query().fetch()
        # return the post as data (JSON) here as response 
Run Code Online (Sandbox Code Playgroud)

当客户端发出一个restful请求时/post/123,可以返回数据对象(而不是呈现的html页面).

这是可能的还是推荐的?

python google-app-engine google-cloud-platform google-cloud-python

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

在 Google Cloud Storage 中的自定义位置创建存储桶

我想使用 python 客户端在欧洲的 GCS 中创建一个存储桶。

from google.cloud import storage
Run Code Online (Sandbox Code Playgroud)

实例化一个客户端

storage_client = storage.Client()
Run Code Online (Sandbox Code Playgroud)

新存储桶的名称

bucket_name = 'my-new-bucket'
Run Code Online (Sandbox Code Playgroud)

创建新存储桶

bucket = storage_client.create_bucket(bucket_name)

print('Bucket {} created.'.format(bucket.name))
Run Code Online (Sandbox Code Playgroud)

这将在美国创建多区域存储桶。我怎样才能将其更改为欧洲?

google-cloud-storage google-cloud-python

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

google-cloud 使用 python api 获取实例 ID 和区域

如何获取当前正在运行的instanceId,以及它在正在运行的Python应用程序中的区域。

在 Go 和 Java 中,它是通过以下方式完成的,那么在 Python 中等效的是什么?

去,

import metadata "cloud.google.com/go/compute/metadata"

func main(){
    println(metadata.InstanceID))
}
Run Code Online (Sandbox Code Playgroud)

爪哇

String instanceId = com.google.cloud.MetadataConfig.getInstanceId()
Run Code Online (Sandbox Code Playgroud)

python google-cloud-platform google-cloud-python

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

从 Google 存储桶下载对象需要哪些角色

我创建了一个服务帐户并仅授予它该Storage Object Viewer角色。我想使用此服务帐户通过 python API 从存储桶下载对象。

我已经GOOGLE_APPLICATION_CREDENTIALS相应地设置了环境变量,并且可以看到相关的服务帐户显示在存储桶的权限页面上。

我使用以下代码尝试下载对象

from google.cloud import storage
storage_client = storage.Client()
bucket = storage_client.get_bucket(BUCKET_NAME)
Run Code Online (Sandbox Code Playgroud)

但调用时出现以下错误get_bucket

google.api_core.exceptions.Forbidden: 
403 GET https://storage.googleapis.com/storage/v1/b/samplereadbucket?projection=noAcl: 
sample-service-account@project.iam.gserviceaccount.com does not have storage.buckets.get 
access to samplereadbucket.
Run Code Online (Sandbox Code Playgroud)

storage.buckets.get如果没有,我需要设置的最小角色集是什么,以便服务帐户具有访问权限Storage Object Viewer?

python google-cloud-storage google-cloud-platform google-cloud-python google-cloud-iam

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

来自 Python 生成器的 Google Cloud Storage 流式上传

我有一个 Python 生成器,可以生成yield大量未知的字节数据。我想将输出流式传输到 GCS,而不先缓冲到磁盘上的文件。

虽然我确信这是可能的(例如,我可以创建一个子进程gsutil cp - <...>并将字节写入其标准输入),但我不确定推荐/支持的方式是什么,并且文档给出了上传本地文件的示例。

我应该如何正确地做到这一点?

python google-cloud-storage google-cloud-sdk google-cloud-python

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