[Answered ]-How can I store URLs from Amazon S3 bucket in Django sqlite db to display & comment on?

2👍

haven’t looked up if boto api changed, but this is how it worked last time i looked

from boto.s3.connection import S3Connection
from boto.s3.key import Key
import s3config

conn    = S3Connection(s3config.passwd, s3config.secret)
bucket  = conn.get_bucket(s3config.bucket)
s3_path = '/some/path/in/your/bucket'
keys    = bucket.list(s3_path)
# or if you want all keys:
# keys   = bucket.get_all_keys()

for key in keys:
  print key
  # here you can download or do other stuff
  # with the keys like get some metadata
  print key.name
  print key.etag
  print key.size
  print key.last_modified

#s3config.py
passwd = 'BLABALBALABALA'
secret = 'xvdwv3efefefefefef'
bucket = 'name-of-your-bucket'

Update:

Amazon s3 is a key value store, where key is a string. So nothing prevents you from putting in keys like:

/this/string/key/looks/like/a/unix/path
/folder/images/fileA.jpg
/folder/images/fileB.jpg
/folder/images/folderX/fileX1.jpg

now bucket.list(prefix="/folder/images/") would yield the latter three.
Look here for further details:

👤snies

0👍

This is my code to store result from s3 to mysql by boto, django.

from demo.models import Movies
import boto
from boto.s3.key import Key
import string
from django.db import connection, transaction

def movietitle(b):
    key = b.get_key('netflix/movie_titles.txt')
    content = key.get_contents_as_string()
    line = content.split('\n')
    args = []
    for imovie in line:
        if len(imovie) > 0:
            imovie = imovie.split(',')
            movieid = imovie[0]
            year = imovie[1]
            title = imovie[2]
            iargs = [string.atoi(movieid),title,year]
            args.append(iargs)
    cursor = connection.cursor()
    sql = "insert into demo_movies(MovieID,MovieName,ReleaseYear) values(%s,%s,%s)"
    cursor.executemany(sql,args)
    transaction.commit_unless_managed()
    cursor.close()
👤Haimei

Leave a comment