問題タブ [google-cloud-python]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
597 参照

python - データストア エントリを作成すると、ブラウザで表示するとプロパティが暗号化される

Python で google.cloud.datastore を使用してデータストア エンティティを作成または変更できましたが、ブラウザで Cloud Platform プロジェクトにログインしてエントリを確認すると、すべてのプロパティが暗号化されているように見えます (次のように見えます)。"Rm9vIEJhcg=="など - ブラウザから作成すると、正常に表示されます)。

サービス アカウント ID の json ファイルで認証しています。

サービス アカウントには、プロジェクト全体に対する「編集者」権限があります。ログインに使用するGmailアカウントに設定されている「所有者」に変更しても、問題は解決しません。

次のようなエンティティを作成します。

Pythonライブラリで変更したエントリをブラウザサイトから読み取れるようにする方法はありますか?

0 投票する
2 に答える
1086 参照

logging - 複数のプロセスからの CloudLoggingHandler によるロギング

ログが複数のプロセスによって生成される場合、ログを収集して google cloud logging に送信するための推奨される方法はどれですか?

これが私の CloudLoggingHandler ベースの提案です。批判してもよろしいですか?

ここでキュー ベースのログ ハンドラーについて読みましたが、CloudLoggingHandler は分離されたスレッドでバッチ コミットを使用するため、キュー ベースのハンドラーはやり過ぎです。私は正しいですか?

Sourcesは、CloudLoggingHandler がスレッド セーフであることを示しているため、CloudLoggingHandler の 1 つのインスタンスをすべてのプロセスで共有するだけで十分な場合があります。それはうまくいくでしょうか?もしそうなら、それは厳しすぎませんか?


@thomas-schultz に回答するために以下を編集します。

私は自分の提案に固執しました。主な理由は、私がプロトタイピングを行っていたためで、「箱から出してすぐに」動作し、パフォーマンスの問題をチェックしなかったからです。私はこの選択を再考しています。

実際、私が理解していることから、BackgroundThreadTransportを使用したCloudLoggingHandlerは、ログがログ エンドポイントに送信されるまでメイン スレッドをブロックします。これは、ほぼ各ログ行で発生します。実際、ログ レコードが 1 つになるとすぐにバッチが送信されます (ソース参照)。

私の開発環境では、複数のプロセスが同時にログを記録すると、1 つのプロセスがログが送信されるまで最大 1 秒待機することが発生します。これは主にネットワーク コストであり、Google のデータ センター内からは「それほど多くない」程度に縮小されると思います。

すべてのログ レコードをQueueにプッシュするStreamHandlerを定義することを検討しています。このキューは、ログをロギング エンドポイントに送信する役割を担うプロセスによって読み取られます。関連する場合、このプロセスは CloudLoggingHandler に依存してそれを行うことがあります。

これは理にかなっていますか?

0 投票する
2 に答える
788 参照

python - サンプルガイドを使用したgceインスタンスpython apiの起動

Google の Web サイトにある次のガイドを複製しようとしました https://cloud.google.com/compute/docs/tutorials/python-guide

バケットと計算の意味がわかりませんでした。スクリプトに渡す必要があるパラメーターの種類は何ですか? プライベート イメージを開始するには、getFromFamily( project='debian-cloud', family='debian-8').execute() に何を入れればよいですか? 次のように変数を渡しますか?

スクリプトを次のように簡略化しました。必要ないと思うパラメータを取り出します。

0 投票する
3 に答える
2081 参照

python-2.7 - スキーマ json ファイルを読み込んでテーブルまたはジョブ スキーマを作成する

たとえば、スキーマ ファイルが既にある場合: schema.json. ファイルを読み込んで、google-cloud-python API を使用してテーブルまたはジョブ スキーマを作成するにはどうすればよいですか?

0 投票する
1 に答える
2161 参照

google-cloud-python - Python API を使用して別の Google Cloud Platform プロジェクトのトピックの PubSub サブスクリプションを作成するにはどうすればよいですか?

API を使用すると、別のプロジェクトでトピックのサブスクリプションを作成できるようですが、新しく作成されたサブスクリプションを調べると、トピックが配置されているプロジェクトに関連付けられています。

これは、Web コンソールからは実行できません。別の API はありますか? または、何か不足していますか?

私はこの API リファレンスに従おうとしています: https://googlecloudplatform.github.io/google-cloud-python/stable/pubsub-subscription.html

これをローカルで実行される Python スクリプトとして実行しています。デフォルトのプロジェクト (gcloud config get-value プロジェクト) はレシーバー プロジェクトです。

0 投票する
1 に答える
1170 参照

google-cloud-platform - Python から Google PubSub の subscription/num_oustanding_messages メトリクスにアクセスする

subscription/num_outstanding_messagesリストされている指標https://cloud.google.com/monitoring/api/metrics#gcp-pubsubに google-cloud-python からアクセスすることは可能ですか? 同様のコードを使用してnum_undelivered_messagesメトリックに正常にアクセスしましたが、次のクエリ (成功) の結果を反復処理すると、常に空のリストが生成されます。

関連する google-cloud-python ライブラリ バージョン:

0 投票する
2 に答える
685 参照

python - Google Cloud と Appengine Python パッケージの競合

Google の appengine チュートリアルを見て、フォームを投稿して情報を取得する簡単な例を作成しました。チュートリアルの手順に従って、appengine ライブラリを使用して Google Cloud SDK をインストールする必要がありました。

それは正常に動作します。

一歩前進して、インストールされた「google-cloud」パッケージを pip し、Google Storage からファイルを取得します。

main.py両方の Google クラウド パッケージをインストールした後、ファイルから単純なインポートを試みると、次のようになります。

エラーが発生します:

印刷google.__path__すると、両方のパッケージへの正しいパスが表示されます。

ここで何が欠けていますか?

同じ virtualenv でターミナルから python を実行すると、問題なく google.clou パッケージをインポートできます。エラーメッセージは、使用して実行した場合にのみ表示されますdev_appserver.py

0 投票する
1 に答える
1037 参照

python - google-cloud クライアントを使用して 32 MB を超えるファイルを GCS にアップロードするにはどうすればよいですか?

私は最近google-cloud client の使用を開始し、この小さな例を作成しました (わかりやすくするために省略/変更しました):

このコードは 32 MB 未満であれば問題なく動作しますが、大きなファイルは GCS に直接ではなくアプリを経由するため、処理できません。Blobstore API を使用したソリューションを見たことがありますが、それらは古く、Blobstore はデータを保存するためにも使用されていません (ただし、Blobstore API は引き続き使用できます)。

google-cloud クライアントを使用してこれを修正する方法はありますか? docsでアップロード URL を作成する方法を見たことがありません。