7

Googleのクラウドデータストアをローカルでテストしようとしています。私のテスト手順は次のとおりです。私は地元のエミュレータを使用するために、すべての手順に従っ Python:Google Cloudデータストアエミュレータにデータを保存

ローカルエミュレータを使用してScrapyクラウドデータストアへ

  • 保存データ
  • を使用して

    1. クロールデータ

      1. ローカルエミュレータを起動します。gcloud beta emulators datastore start
      2. ローカル環境変数を設定します。gcloud beta emulators datastore env-init

      アクセスクラウドデータストアに、次のコマンドを使用する場合しかし、Pythonで、それは常にGoogleのクラウドにデータを直接保存する代わりに、ローカルのエミュレータ

      #Imports the Google Cloud client library 
      from google.cloud import datastore 
      
      # Instantiates a client 
      datastore_client = datastore.Client() 
      
      sample_entry = some_data 
      
      # Saves the entity 
      datastore_client.put(sample_entry) 
      

      にそれらを保存するあなたができないように思えただ、彼らはNode.jsのクライアントに提供するもののように、ローカルデータストアのエミュレータを使用するライブラリを指定

      私の質問は、私はGoogleクラウドデータストアのPythonライブラリを依頼するにはどうすればよいの代わりに使用するのでは地元のエミュレータを使用することです
      var datastore = gcloud.datastore({ 
           apiEndpoint: "http://localhost:8380" 
      }); 
      

      c大声で直接

    +1

    'env-init'を呼び出した後の' DATASTORE_EMULATOR_HOST'環境変数の値は何ですか? –

    +1

    私は常にローカルのテストとデベロッパー向けのサービスを提供していますが、Google Cloud環境は絶望的に巻き込まれており、プラットフォームエミュレーションパッケージを使用することは間違いありません。このようなバグや、実際のデプロイメント環境での動作の不一致は、それが価値のない頭痛になります。あなたができない理由がない限り、私は単にクラウド環境でステージングプロジェクトを使用することをお勧めします。 – kungphu

    +0

    おそらく、エミュレータの設定を次の手順で確認してください。https://cloud.google.com/datastore/docs/tools/datastore-emulator –

    答えて

    0

    あなたはeval $(gcloud beta emulators datastore env-init)する必要があります。

    gcloud beta emulators datastore env-initは、必要な環境変数を設定するコマンドのみを出力します。

    関連する問題