我尝试使用boto创建一个数据源用于机器学习但最终出现错误
这是我的代码:
import boto
bucketname = 'mybucket'
filename = 'myfile.csv'
schema = 'myfile.csv.schema'
conn = boto.connect_s3()
datasource = 'my_datasource'
ml = boto.connect_machinelearning()
#create a data source
ds = ml.create_data_source_from_s3(
data_source_id = datasource,
data_spec ={
'DataLocationS3':'s3://'+bucketname+'/'+filename,
'DataSchemaLocationS3':'s3://'+bucketname+'/'+schema},
data_source_name=None,
compute_statistics = True)
print ml.get_data_source(datasource,verbose=None)
由于get_data_source调用,我收到此错误:
无法访问' //mybucket/myfile.csv'。该位置没有文件,或者文件为空,或者您没有授予我们读取权限。
我已经检查过,我有FULL_CONTROL作为我的权限。存储桶,文件和模式都存在且非空。 我该如何解决这个问题?
答案 0 :(得分:1)
您可能拥有FULL_CONTROL
个S3资源,但为了实现此目的,您必须向机器学习服务授予对该S3资源的适当访问权。
我知道答案的链接是不受欢迎的,但在这种情况下,我认为最好链接到definitive documentation from the Machine Learning Service,因为实际步骤很复杂,将来可能会改变。