ওয়েবে সরাসরি এডাব্লুএস এস 3-তে একটি বড় ডেটাসেট ডাউনলোড করা


12

ইউআরএল থেকে অ্যামাজন এস 3-তে কোনও বড় ডেটাसेट আমদানি করা সম্ভব কিনা তা কি কেউ জানেন?

মূলত, আমি একটি বিশাল ফাইল ডাউনলোড করা এবং তারপরে এটি ওয়েব পোর্টালের মাধ্যমে এস 3 এ পুনরায় আপলোড করা এড়াতে চাই। আমি কেবল এস 3 এ ডাউনলোড ইউআরএল সরবরাহ করতে চাই এবং তাদের ফাইল সিস্টেমে এটি ডাউনলোড করার জন্য অপেক্ষা করি। এটি করা সহজ কাজ বলে মনে হচ্ছে তবে আমি এটিতে নথিটি পাই না।


দুর্দান্ত প্রশ্ন।
প্রমিত

উত্তর:


10

যেহেতু আপনি অবশ্যই একটি এডাব্লুএস অ্যাকাউন্ট পেয়েছেন আমি নিম্নলিখিতগুলি সুপারিশ করব:

  • একটি ইসি 2 উদাহরণ তৈরি করুন (যে কোনও আকার)
  • সেই ইসি 2 উদাহরণটিতে ফাইল (গুলি) আনার জন্য উইজেট (বা কার্ল) ব্যবহার করুন । উদাহরণস্বরূপ: wget http://example.com/my_large_file.csv
  • এস 3 সিএমডি ইনস্টল করুন
  • s3cmdএস 3 এ ফাইল আপলোড করতে ব্যবহার করুন । উদাহরণ স্বরূপ:s3cmd cp my_large_file.csv s3://my.bucket/my_large_file.csv

যেহেতু বিভিন্ন এডাব্লুএস পরিষেবাদির মধ্যে তৈরি সংযোগগুলি এডাব্লুএসের অভ্যন্তরীণ নেটওয়ার্কটি লাভ করে, তাই কোনও ইসি উদাহরণ থেকে এস 3 এ আপলোড করা খুব দ্রুত। এটি আপনার নিজের কম্পিউটার থেকে আপলোড করার চেয়ে অনেক দ্রুত। এই উপায় আপনাকে আপনার কম্পিউটারে ফাইল ডাউনলোড করা এবং ওয়েব ইন্টারফেসের মাধ্যমে এটিকে আপলোড করার সম্ভাব্য গুরুত্বপূর্ণ সময় সাশ্রয় এড়াতে দেয়।


ধন্যবাদ. আমি এরকম কিছু নিয়ে ভাবছিলাম, তবে আরও সহজ উপায় আছে কিনা তা দেখতে আমি প্রায় জিজ্ঞাসা করতে চেয়েছিলাম। সমস্ত পদক্ষেপটিও নির্দেশ করার জন্য ধন্যবাদ। খুব সহায়ক
উইল স্টেডডেন

@ ড্যানিয়েল জোহর ইউআরএল ডায়নামিক হলে কী হবে? উইজেট
echan00

3
  1. পর্যাপ্ত স্টোরেজ সহ একটি ইসি 2 ইভেন্ট চালু করুন

  2. উদাহরণস্বরূপ ssh

  3. আপনার স্থানীয় মেশিন থেকে ডাউনলোডের সাথে সম্পর্কিত কার্ল কমান্ডটি পান। আপনি গুগল ক্রোম -> নেটওয়ার্ক ট্যাবে -> অনুলিপি -> কপির হিসাবে অনুলিপিতে বিকাশকারী বিকল্পগুলি ব্যবহার করতে পারেন (কিছু ওয়েবসাইটের জন্য যেমন ক্যাগলির মতো অনুমোদন প্রয়োজন এই পদক্ষেপটি প্রয়োজনীয়)

  4. উদাহরণ টার্মিনাল থেকে curlকমান্ডটি চালান (কমান্ডে সংযোজন -o output_file)। এটি ফাইলটি ডাউনলোড করে সংরক্ষণ করবে

  5. দৃষ্টান্তটি এস -3 এর সাথে সংযুক্ত করতে আউস শংসাপত্রগুলি কনফিগার করুন (এক উপায় হ'ল কমান্ডটি ব্যবহার করা aws config, AWS অ্যাক্সেস কী আইডি এবং গোপন সরবরাহ করা),

  6. S3 এ ফাইল আপলোড করতে এই কমান্ডটি ব্যবহার করুন:

    aws s3 cp path-to-file s3://bucket-name/
    

2

অ্যাউজ ডকুমেন্টেশন দেখুন: http://aws.amazon.com/code বেশিরভাগ প্রোগ্রামিং ভাষার জন্য লাইব্রেরি উপলব্ধ। সুতরাং আপনি ইউআরএল থেকে ডেটা আনতে এবং এস 3 এ এই বালতিতে লিখতে একটি বালতি তৈরি করতে এবং আপনার কোডে কনফিগার করতে পারেন

উদাহরণস্বরূপ উদাহরণস্বরূপ:

from boto.s3.key import Key
k = Key(bucket)
k.key = 'foobar'
k.set_contents_from_string(url_data)

রেফ: https://boto.readthedocs.org/en/latest/s3_tut.html


আমি মনে করি না এটি একদম ঠিক আছে। Url_data কোথা থেকে আসবে সে সম্পর্কে আমি কিছুটা অস্পষ্ট। ডকুমেন্টেশন থেকে, কে.সেট_কন্টেন্টস_ফ্রম_স্ট্রিং () ফাইল 'ফুবার' এর বিষয়বস্তুগুলিকে স্ট্রিংয়ের মধ্যে থাকা যা কিছুতেই সেট করে ফেলেছে বলে মনে হচ্ছে। আমি চাই যে url এ থাকা সামগ্রীটি স্থানীয়ভাবে ডাউনলোড করার প্রয়োজন ছাড়াই সরাসরি এস 3-তে ধাক্কা দেওয়া হোক।
স্টেডডেন

1

আপনি আপনার এস 3 বালতিটি ইক্য 2 উদাহরণে মাউন্ট করতে পারেন এবং তারপরে সিডি / প্যাথ / টু / এস3_মাউন্ডড_অন_এ_ফোল্ডারে সিডি করতে পারেন, সেখানে আপনি কেবল কমান্ডটি ব্যবহার করতে পারেন:

wget https://your.download.url/

আপনার ec2 এ s3 মাউন্ট করতে, s3fs ব্যবহার করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.