0

我创建了 AWS S3 存储桶并在 Jupyter 笔记本上尝试了示例 kmeans 示例。作为帐户所有者,我具有读/写权限,但我无法写入日志并出现以下错误,

 ClientError: An error occurred (AccessDenied) when calling the PutObject operation: Access Denied

这是kmeans示例代码,

 from sagemaker import get_execution_role
 role = get_execution_role()
 bucket='testingshk' 

 import pickle, gzip, numpy, urllib.request, json
urllib.request.urlretrieve("http://deeplearning.net/data/mnist/mnist.pkl.gz", "mnist.pkl.gz")
 with gzip.open('mnist.pkl.gz', 'rb') as f:
 train_set, valid_set, test_set = pickle.load(f, encoding='latin1')

 from sagemaker import KMeans
 data_location = 's3://{}/kmeans_highlevel_example/data'.format(bucket)
 output_location = 's3://{}/kmeans_example/output'.format(bucket)

 print('training data will be uploaded to: {}'.format(data_location))
 print('training artifacts will be uploaded to: {}'.format(output_location))

 kmeans = KMeans(role=role,
            train_instance_count=2,
            train_instance_type='ml.c4.8xlarge',
            output_path=output_location,
            k=10,
            data_location=data_location)
 kmeans.fit(kmeans.record_set(train_set[0]))
4

1 回答 1

1

即使您拥有对存储桶的所有访问权限,您也需要提供访问密钥和秘密,以便将某些对象放入存储桶中(如果它是私有的)。或者,如果您将存储桶访问权限对所有人公开,那么您可以毫无问题地将对象推送到存储桶。

于 2018-04-13T23:21:40.917 回答