Я пытаюсь прочитать файл .csv из AWS S3, но я получил запрещенное сообщение, я уже установил полный доступ ко всем (только для этого случая) .. но все же не повезло ..
что япропустили?
кто-нибудь имеет опыт по этому поводу?
import boto3
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import preprocessing
from sklearn.model_selection import train_test_split
import xgboost as xgb
# Defining utility methods
# Reference: http://boto3.readthedocs.io/en/latest/guide/s3.html
# bucket: Name of bucket
# key: File name stored in S3
def write_to_s3(filename, bucket, key):
with open(filename,'rb') as f: # Read in binary mode
return boto3.Session().resource('s3').Bucket(bucket).Object(key).upload_fileobj(f)
def download_from_s3(filename, bucket, key):
with open(filename,'wb') as f:
return boto3.Session().resource('s3').Bucket(bucket).Object(key).download_fileobj(f)
# Downloading file from S3
download_from_s3('mypredictive.csv', 'my-bucket-004', 'mypredictive.csv')
# Reading CSV File
df = pd.read_csv('mypredictive.csv')
# Let's see how our data looks like
df.head(2)
====
~/anaconda3/envs/python3/lib/python3.6/site-packages/botocore/client.py in _make_api_call(self, operation_name, api_params)
659 error_code = parsed_response.get("Error", {}).get("Code")
660 error_class = self.exceptions.from_code(error_code)
--> 661 raise error_class(parsed_response, operation_name)
662 else:
663 return parsed_response
ClientError: An error occurred (403) when calling the HeadObject operation: Forbidden