【问题标题】:Amazon S3 - Unable to create a datasourceAmazon S3 - 无法创建数据源
【发布时间】:2015-07-04 22:58:52
【问题描述】:


我尝试使用 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 调用,我收到此错误:

无法访问“s3://mybucket/myfile.csv”。该位置没有文件,或者文件为空,或者您没有授予我们读取权限。

我已经检查过了,我拥有 FULL_CONTROL 作为我的权限。存储桶、文件和架构都存在且非空。 我该如何解决?

【问题讨论】:

    标签: amazon-web-services amazon-s3 boto


    【解决方案1】:

    您可能在该 S3 资源上拥有 FULL_CONTROL,但为了使其正常工作,您必须授予机器学习服务对该 S3 资源的适当访问权限。

    我知道答案的链接不受欢迎,但在这种情况下,我认为最好链接到 definitive documentation from the Machine Learning Service,因为实际步骤很复杂,并且将来可能会改变。

    【讨论】:

    • 谢谢哥们。您知道如何不从 UI 而是从代码授予这些权限。
    猜你喜欢
    • 2021-10-17
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    • 2020-08-23
    • 2016-08-28
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多