2017-09-16 9 views
0

私はその間に私はちょうど私のローカル環境に作業し、ここに私のコードですよ、S3にファイルをロードするためにラムダ関数を展開する必要があります。のPython 3 boto3ローディングファイルは

import boto3 
from botocore.client import Config 

ACCESS_KEY_ID = 'xxxx' 
ACCESS_SECRET_KEY = 'xxxxx' 
BUCKET_NAME = 'biximontreal' 

s3 = boto3.resource(
    's3', 
    aws_access_key_id=ACCESS_KEY_ID, 
    aws_secret_access_key=ACCESS_SECRET_KEY, 
    config=Config(signature_version='s3v4') 
) 


for bucket in s3.buckets.all(): 
    print(bucket.name) 

FILE_NAME = 'Bixi_9_16_14-38.json' 
s3_client = boto3.client('s3') 
s3_client.upload_file(FILE_NAME, BUCKET_NAME, FILE_NAME) 

私のコードのすべての終わりにシームレスに実行しているようだが、私は私のS3バケットに行くとき、ファイルはデータなしであります:

enter image description here

私のローカルリポジトリからファイルが空ではありません。

enter image description here

なぜファイルをデータで読み込んでいないのか理解してもらえますか?

おかげでそんなに

+0

私のポストにデータがありません!!ありがとう –

答えて

0

最後に、私は私の問題は、私は情報を持つファイルをロードするために、私のクエリにパラメータとしてデータを送信していなかったということでしたそれを考え出しました。

x = 'x' 
x = 'x' 
BUCKET_NAME = 'x' 

s3 = boto3.resource(
    's3', 
    aws_access_key_id=x, 
    aws_secret_access_key=x, 
    config=Config(signature_version='s3v4') 
) 


filename = 'Bixi_%s_%s_%s-%s.json' % (month, day, hour, mins) 
datafile = open('/tmp/Bixi_%s_%s_%s-%s.json' % (month, day, hour, mins),'rb') 

s3.Bucket(BUCKET_NAME).put_object(Key=filename, Body=datafile) 

ありがとうございます。

関連する問題