এক S3 অ্যাকাউন্ট থেকে অন্যটিতে ফাইলগুলি সরাসরি সরান?


90

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

এর মধ্যে ফাইলগুলি ডাউনলোড না করেই একটি এস 3 অ্যাকাউন্ট থেকে অন্যটিতে সরাসরি সরানোর কোনও উপায় আছে কি?

উত্তর:


22

আপনি যদি কেবল প্রস্তুত তৈরি সমাধানের সন্ধান করছেন তবে কয়েকটি সমাধান রয়েছে যা এটি করতে পারে। বালতি এক্সপ্লোরার ম্যাক এবং উইন্ডোজে কাজ করে এবং ক্লাউডবেরি এস 3 এক্সপ্লোরার এবং এস 3 ব্রাউজার হিসাবে অ্যাকাউন্টগুলি জুড়ে অনুলিপি করতে পারে তবে তারা কেবল উইন্ডোজ তাই আপনার জন্য কাজ না করে।

আমার সন্দেহ হয় যে এডাব্লুএস কনসোলটি উপযুক্ত অনুমতি সেটআপ দিয়ে এটি করতে পারে তবে আমি এটি পরীক্ষা করে দেখিনি।

আপনি গন্তব্য বালতিতে লেখার অনুমতি ব্যবহার করছেন এমন যতক্ষণ আপনি AWS অ্যাকাউন্ট দিয়ে গেছেন ততক্ষণ আপনি এডাব্লুএস এপিআই ব্যবহার করে এটি করতে পারেন ।


বালতি এক্সপ্লোরারের জন্য +1। অ্যাকাউন্টগুলির মধ্যে একটি বালতি অনুলিপি করার জন্য এডাব্লুএস ম্যানেজমেন্ট কনসোল বা এস 3 সিএমডি এর চেয়ে অনেক সহজ। দ্বিতীয় সেট দিকনির্দেশগুলি তাদের জন্য তাদের বিনামূল্যে ট্রায়াল দিয়ে কাজ করেছে: bucketexplorer.com/docamentation/…
লেননআর

ক্লাউডবেরি যাবার উপায়। ফ্রি, প্লাস এটি একটি সহজ টানা এবং এমনকি আরও সহজ সেটআপের পরে ড্রপ। এবং না, আমি সেখানে কাজ করি না :)
স্কিডিডন

4
বালতি এক্সপ্লোরার ডেটা ডাউনলোড করে পুনরায় আপলোড করে, বা এটি সরাসরি অ্যামাজন সার্ভারের মধ্যে ডেটা সরিয়ে দেয়?
ওয়াউটার

নোট করুন যে ক্লাউডবেরির ট্রায়াল সংস্করণে (কমপক্ষে 5.0.0.32 সংস্করণ) 5 জিবি স্থানান্তর সীমা রয়েছে!
দার্থপ্যাবলো

123

হ্যাঁ, একটি উপায় আছে। এবং এটি বেশ সহজ, যদিও এটি সন্ধান করা শক্ত। 8)

উদাহরণস্বরূপ, ধরুন আপনার প্রথম অ্যাকাউন্টের ব্যবহারকারীর নাম হল acc1@gmail.com এবং দ্বিতীয়টি হল acc2@gmail.com।

Acc1 হিসাবে AWS ম্যানেজমেন্ট কনসোল খুলুন । অ্যামাজন এস 3 বালতি বৈশিষ্ট্যগুলিতে যান এবং "অনুমতিগুলি" ট্যাবে "আরও অনুমতি যুক্ত করুন" ক্লিক করুন click তারপরে "প্রমাণীকরণকারী ব্যবহারকারীদের" জন্য তালিকা এবং দেখুন অনুমতিগুলি জুড়ুন।

এরপরে, এডাব্লুএস আইএএম-তে (এটি কনসোল ট্যাবগুলির মধ্যে থেকে অ্যাক্সেসযোগ্য) এস 2 বালিতে সম্পূর্ণ অ্যাক্সেস সহ একটি ব্যবহারকারী তৈরি করুন (আরও সুরক্ষিত হওয়ার জন্য, আপনি সঠিক অনুমতিগুলি সেট আপ করতে পারেন, তবে আমি স্থানান্তরটির জন্য একটি অস্থায়ী ব্যবহারকারী তৈরি করতে পছন্দ করি এবং তারপরে এটি মুছুন)।

তারপরে আপনি এস 3 সিএমডি ব্যবহার করতে পারেন ( acc2 তে নতুন তৈরি হওয়া ব্যবহারকারীর শংসাপত্রগুলি ব্যবহার করে) এর মতো কিছু করতে:

s3cmd cp s3://acc1_bucket/folder/ s3://acc2_bucket/folder --recursive

সমস্ত স্থানান্তর আমাজনের পক্ষে করা হবে।


9
দুর্দান্ত টিপ! পুরো বালতি à লা সিঙ্ক করার জন্যও rsyncআপনি ব্যবহার করতে পারেন s3cmd sync s3://acc1_bucket s3://acc2_bucket
lllllll

6
হোস্টে টার্গেট থেকে ফাইলগুলি অনুলিপি করার সময় আপনার যদি 403 অ্যাক্সেসডিনয়েড নিয়ে সমস্যা হয় তবে এই পোস্টটি দেখুন। এটি করার অন্য কোনও উপায় থাকতে পারে তবে এখানে ফলাফলগুলি আমার পক্ষে কাজ করেছে। alfielapeter.com/posts/…
crlane

কিছুটা বড় বালতি কিসের জন্য? 50 জিবি অঞ্চলে বলুন, এটি আপনাকে কোনও সমস্যা দেয়?
ianstarz


4
যদি আপনার গন্তব্য বালতিটি সর্বজনীনভাবে ফাইলগুলি পরিবেশন করা হয় .. আপনি --acl-publicঅন্যথায় যুক্ত করতে চাইতে পারেন , সমস্ত ফাইলগুলি ব্যক্তিগত (আমি কম্যান্ডটি সম্পাদন করার সময় এটি আমার পক্ষে ছিল)।
এতগুলি

58

ব্যবহার করুন আওস CLI (আমি উবুন্টু ব্যবহার 14 EC2 উদাহরণস্বরূপ) এবং এখনই অনুসরণ কমান্ডটি প্রয়োগ করুন:

aws s3 sync s3://bucket1 s3://bucket2

আপনার একটির জন্য অ্যাকাউন্টের বিশদ নির্দিষ্ট করতে হবে এবং অন্যের কাছে পাবলিক লিখন অ্যাক্সেস বা অন্যটিতে পাবলিক রিড অ্যাক্সেস থাকতে হবে।

এটি দুটি বালতি সিঙ্ক করবে। আপনি আবার একই কমান্ডটি দ্রুত সিঙ্ক করতে আবার ব্যবহার করতে পারেন। সর্বোত্তম অংশটি হ'ল এটির জন্য কোনও ব্যান্ডউইথের প্রয়োজন হয় না (যেমন ফাইলগুলি স্থানীয় কম্পিউটারের মধ্য দিয়ে যাচ্ছে না)।


4
খুব বড় বালতিতে আমি এর সাথে আরও ভাল ভাগ্য নিয়েছিলাম। প্রথম বালতিতে ফাইলগুলির তালিকা তৈরির জন্য এস 3 সিএমডি উপস্থিত ছিল। এটি সম্পন্ন হতে পারে তবে আমি অধৈর্য হয়েছি।
চিন্তা কোরো

4
আমারও একই অভিজ্ঞতা ছিল; যে কারণেই হোক না কেন, তার aws s3 syncচেয়ে দ্রুততার ক্রম সম্পর্কে দ্রুত চলতে দেখা যাচ্ছে s3cmd cp
pix0r

4
এটি আমার পক্ষে কাজ করেছে। আপনি যদি অনুমতি সংক্রান্ত বিষয়গুলিতে চলে যান তবে --grantsবিকল্পটি ব্যবহার করে দেখুন । ডকুমেন্টেশন আরো তথ্য: docs.aws.amazon.com/cli/latest/reference/s3/sync.html
findzen

4
আপনি সিঙ্ক করার সময় অনুমতিগুলি অনুলিপি করা হয় না, সুতরাং আপনাকে নির্দিষ্ট করতে হবে --grants। আমি এক টন ডেটা অনুলিপি করার পরে এটি শিখেছি এবং তারপরে সিঙ্কটি একটি নতুন বালতিতে পুনরায় করতে হয়েছিল। --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsersপাবলিক ব্যবহারকারীদের জন্য পড়ার অনুমতি সেট করে।
ড্যান স্যান্ডল্যান্ড

এটি s3cmdআমার চেয়ে প্রায় 10x দ্রুত দৌড়েছিল এবং ভবিষ্যতে কমান্ডটি পুনরায় চালানোর প্রয়োজনে সবকিছু পুনরায় অনুলিপি করার পরিবর্তে ফাইলগুলি সিঙ্ক করতে সক্ষম হয় - আরও ভাল!
nfm

5

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


লিঙ্কযুক্ত আলোচনার ফলে প্রশ্নটির দিকে নজর দেওয়া হচ্ছে না, কারণ ওপি বিশেষত একটি এডাব্লুএস অ্যাকাউন্ট থেকে অন্য AWS অ্যাকাউন্টে অনুলিপি করার বিষয়ে জিজ্ঞাসা করছে।
টোকিয়েনওয়াস্প

3

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

অ্যান্ড্রু সঠিক, স্থানান্তরিত ফাইলগুলি স্থানীয়ভাবে ডাউনলোড করে তারপরে ফাইলগুলি আপলোড করে।


4
আমার ট্রান্সমিট রয়েছে এবং আমি 99% ইতিবাচক যে আপনি যে স্থানান্তরটি বর্ণনা করছেন তা ফাইলগুলি কোনও অস্থায়ী ফোল্ডারে ডাউনলোড করে এবং তারপরে অন্য সার্ভারে আপলোড করে। আপনি কি ইতিবাচক ফাইলগুলি আপনার কম্পিউটারের মাধ্যমে প্রবাহিত হয়নি?
অ্যান্ড্রু

4
কেউ কি এটি নিশ্চিত করতে পারেন?
ডেভিড মৌরিসিও

4
আমি নিশ্চিত. ডাউনলোড এবং আপলোডগুলি প্রেরণ করুন। এটি জিনিসগুলি ভীষণভাবে ধীর করে তোলে তবে ডান মালিকের অধীনে অনুলিপি করা সামগ্রী সংরক্ষণ করার বিশাল সুবিধা রয়েছে।
ফ্যাবিও রুসো

3

এক অ্যাকাউন্ট থেকে অন্য অ্যাকাউন্টে এস 3 ফাইল সরান

আসুন বিবেচনা করা যাক দুটি অ্যাকাউন্টের উত্স অ্যাকাউন্ট এবং গন্তব্য অ্যাকাউন্ট রয়েছে। এবং দুটি বালতি source-bucketএবং destination bucket। আমরা সমস্ত ফাইল এখান source-bucketথেকে সরিয়ে নিতে চাই destination-bucket। আমরা নিম্নলিখিত পদক্ষেপগুলি দ্বারা এটি করতে পারি:

  1. aws configure
    • শংসাপত্র বা আইএএম ভূমিকা ব্যবহার করে আপনার গন্তব্য অ্যাকাউন্টটি কনফিগার করুন।
  2. গন্তব্য অ্যাকাউন্ট ব্যবহারকারীর জন্য ব্যবহারকারী নীতি তৈরি করুন।
  3. উত্স-বালতি নীতিটি সংশোধন করে এবং এর মধ্যে গন্তব্য অ্যাকাউন্ট ব্যবহারকারী নীতি যুক্ত করে গন্তব্য ব্যবহারকারীকে উত্স-বালতিতে অ্যাক্সেস দিন। এইভাবে, গন্তব্য ব্যবহারকারীর উত্স-বালতিতে অ্যাক্সেস থাকবে।
  4. aws s3 ls s3://source-bucket/
    • গন্তব্য অ্যাকাউন্টটি উত্স-বালতিতে অ্যাক্সেস রয়েছে কিনা তা এটি পরীক্ষা করবে। শুধু নিশ্চিতকরণের জন্য এটি করুন।
  5. aws s3 cp s3://source-bucket s3://destination-bucket --recursive
    • এটি উত্স-বালতি সমস্ত ফাইলকে গন্তব্য-বালতিতে অনুলিপি করবে। সমস্ত ফাইল --recursive পতাকা ব্যবহার করে অনুলিপি করা হয়।
  6. aws s3 mv s3://source-bucket s3://destination-bucket --recursive
    • এটি উত্স-বালতি থেকে সমস্ত ফাইল গন্তব্য-বালতিতে স্থানান্তরিত করবে।

বিকল্প আপনি সিঙ্ক কমান্ড ব্যবহার করতে পারেন - aws s3 sync s3://source-bucket s3://detination-bucket

আরও ভাল ব্যাখ্যার জন্য লিংকটি অনুসরণ করুন


2

ক্রসএফটিপি এস 3 ফাইলগুলি ডাউনলোড না করে সরাসরি এক বালতি থেকে অন্য বালিতে কপি করতে পারে। এটি একটি জিইউআই এস 3 ক্লায়েন্ট যা উইন্ডোজ, ম্যাক এবং লিনাক্সে কাজ করে।


4
এটি লক্ষ করা উচিত যে এটি কেবলমাত্র প্রদেয় সংস্করণ দিয়েই সম্ভব। এটি কোনও নিখরচায় সমাধান নয়।
মাইকেল ব্রুক

2

আপনি সাইবারডাক্ক (ওপেন সোর্স) ব্যবহার করতে পারেন


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

1

সদ্য নির্মিত ফাইলগুলির জন্য (বিদ্যমান অবজেক্টগুলি নেই) আপনি এডাব্লুএস থেকে নতুন কার্যকারিতার সুবিধা নিতে পারেন। এটি ক্রস-অঞ্চল প্রতিলিপি (এস 3 বালতির জন্য "সংস্করণ" এর অধীনে)। আপনি এমন নীতি তৈরি করতে পারেন যা আপনাকে নতুন অ্যাকাউন্টে আলাদা অ্যাকাউন্টে বালতিতে প্রতিলিপি করতে দেয়।

বিদ্যমান অবজেক্টের জন্য, আপনাকে এখনও অন্য পদ্ধতিটি ব্যবহার করে আপনার অবজেক্টগুলি অনুলিপি করতে হবে - যদি না ভবিষ্যতে এডাব্লুএস এর জন্য স্থানীয় কার্যকারিতাটির পরিচয় দেয় না।


0

নিম্নলিখিত চলমান দিয়ে কেউ এটি করতে পারে:

aws s3 mv (sync for keeping buckets in sync) s3://source-bucket s3://destination-bucket --recursive

  1. উত্স অ্যাকাউন্টে উত্স বালতিতে বালতি নীতি সংযুক্ত করুন।

  2. কোনও ব্যবহারকারীর সাথে গন্তব্য অ্যাকাউন্টে ভূমিকা বা AWS পরিচয় এবং অ্যাক্সেস ম্যানেজমেন্ট (আইএএম) নীতি সংযুক্ত করুন।

  3. ক্রস অ্যাকাউন্ট সরানো সম্পাদনা করতে আইএএম ব্যবহারকারী বা গন্তব্য অ্যাকাউন্টে ভূমিকা ব্যবহার করুন।

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