2017-11-20 18 views
0

Grinderテストに使用しているマスタ/ワーカーEC2インスタンスがあります。 S3バケットから直接ファイルを取得する負荷テストを試す必要がありますが、JythonでGrinderテストスクリプトがどのように見えるかはわかりません。GrinderテストスクリプトでJythonを使用してS3からファイルを取得

アイデアやヒントはありますか?私はそれを少し調べて、PythonにAWSを扱うためのbotoパッケージがあることを見てきました.Jythonでも同様に動作しますか?

(編集 - 明確化のためのコードと、インポートエラーを追加する。)

Pythonのアプローチ:
は "boto3をインストールピップ" でした
テストスクリプト:

from net.grinder.script.Grinder import grinder 
from net.grinder.script import Test 
import boto3 

# boto3 for Python 
test1 = Test(1, "S3 request") 
resource = boto3.resource('s3') 

def accessS3(): 
    obj = resource.Object(<bucket>,<key>) 

test1.record(accessS3) 

class TestRunner: 
    def __call__(self): 
     accessS3() 

このためエラーは次のとおりです。

net.grinder.scriptengine.jython.JythonScriptExecutionException::いいえ、モジュールboto3

のJavaアプローチ:
を追加しましたAWS-javaの-SDK-1.11.221瓶.m2 \リポジトリから\ COM \ amazonaws \ AWS-javaの-SDK \ 1.11.221 \クラスパスに

from net.grinder.script.Grinder import grinder 
from net.grinder.script import Test 
import com.amazonaws.services.s3 as s3 

# aws s3 for Java 
test1 = Test(1, "S3 request") 
s3Client = s3.AmazonS3ClientBuilder.defaultClient() 
test1.record(s3Client) 

class TestRunner: 
    def __call__(self): 
     result = s3Client.getObject(s3.model.getObjectRequest(<bucket>,<key>)) 

このためエラーは次のとおりです。

net.grinder.scriptengine.jython.JythonScriptExecutionException:

amazonawsという名前のモジュール

私もWindowsコンピュータで動作していますが、私はGit Bashを使用しています。

答えて

0

あなたがJythonを使用しているとすれば、S3リクエストをJava構文で実行するかPython構文で実行するかはわかりません。

しかし、以下のリンクのpythonガイドに従うことをお勧めします。

http://docs.ceph.com/docs/jewel/radosgw/s3/python/

+0

返信いただきありがとうございます!私はいくつかの問題が輸入作業を取得している。私はPythonのアプローチのためにpipをインストールしようとしましたが、Javaのアプローチのためにクラスパスにaws-java-sdk jarを追加しようとしましたが、どちらの方法でも "amazonawsというモジュールはありません"または "いいえモジュールboto3 "エラーです。 AWSのインポート方法に関するアドバイスはありますか? – syim

+0

リクエストの本文にコードと同様にスタックトレースを投稿できますか? – Ted

+0

確かに、私はテストスクリプトとエラーを追加しました。 – syim

関連する問題