在Grinder测试脚本中使用Jython从S3获取文件



我有我用于磨床测试的主/工人EC2实例。我需要尝试直接从S3存储桶中获取文件的负载测试,但是我不确定Grinder测试脚本的Jython外观如何。

有什么想法或技巧吗?我已经调查了一点,看到Python有用于与AWS合作的Boto包 - 它也可以在Jython工作吗?

(编辑 - 添加代码和导入错误以进行澄清。)

python方法:
" pip install 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方法:
添加了.m2 repository com amazonaws aws-java-sdk 1.11.221 to ClassPath

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。

考虑到您正在使用jython,我不确定是否要在Java或Python语法中执行S3请求。

但是,我建议在下面的链接上与Python指南一起关注。

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

相关内容

  • 没有找到相关文章

最新更新