AWS S3 存储桶写入错误
AWS S3 bucket write error
我创建了 AWS S3 存储桶并在 Jupyter 笔记本上尝试了示例 kmeans 示例。
作为账户所有者,我有 read/write 权限,但我无法写入日志并出现以下错误,
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]))
即使您拥有对存储桶的所有访问权限,如果它是私有的,您也需要提供访问密钥和机密才能将某些对象放入存储桶中。或者,如果您对所有人进行存储桶访问 public,那么您可以毫无问题地将对象推送到存储桶。
我创建了 AWS S3 存储桶并在 Jupyter 笔记本上尝试了示例 kmeans 示例。 作为账户所有者,我有 read/write 权限,但我无法写入日志并出现以下错误,
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]))
即使您拥有对存储桶的所有访问权限,如果它是私有的,您也需要提供访问密钥和机密才能将某些对象放入存储桶中。或者,如果您对所有人进行存储桶访问 public,那么您可以毫无问题地将对象推送到存储桶。