আপনি কিভাবে একটি অ্যামাজন এস 3 বালতি অনুসন্ধান করবেন?


159

এটিতে হাজার হাজার ফাইল সহ আমার একটি বালতি রয়েছে। আমি কীভাবে বালতিটি অনুসন্ধান করতে পারি? এমন কোনও সরঞ্জাম আছে যা আপনি সুপারিশ করতে পারেন?


আমার একাধিক বালতি রয়েছে তাই আমি তাদের সকলের জন্য অনুসন্ধানের জন্য একটি শর্ট স্ক্রিপ্ট লিখেছি: github.com/laurenfitch/utilities/blob/master/query_s3.py
লরেন ফিচ

উত্তর:


31

আসল বিষয়বস্তু অজানা হওয়ায় এস 3 এর স্থানীয় "অনুসন্ধান এই বালতি" নেই - এছাড়াও, যেহেতু এস 3 কী / মান ভিত্তি করে অনেকগুলি নোডকে একবারে অ্যাক্সেস করার কোনও নেটিভ উপায় নেই যা আরও একটি traditionalতিহ্যবাহী ডেটাস্টোর প্রস্তাব দেয় (SELECT * FROM ... WHERE ...) (একটি এসকিউএল মধ্যে মডেল).

আপনাকে যা করতে হবে তা হচ্ছে ListBucketবালতিতে অবজেক্টগুলির একটি তালিকা পাওয়ার জন্য সঞ্চালন করা এবং তারপরে আপনি প্রয়োগ করেন এমন কাস্টম অপারেশন করে প্রতিটি আইটেম পুনরাবৃত্তি - যা আপনার অনুসন্ধান।


42
এই এখন আর তা নেই। নীচে rhonda এর উত্তর দেখুন: stackoverflow.com/a/21836343/1101095
নট

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

এই বালতি ডকুমেন্টগুলিকে সূচী করতে লুসেন ডটকমের মতো কোনও সূচক পরিষেবা আছে কি?
মুনাভর

আমি এই উত্তরে ফিরে আসছি এবং সাহায্যের জন্য একটি সরঞ্জাম তৈরি করেছি: bucketsearch.net - ওয়াইল্ডকার্ড অনুসন্ধান ইত্যাদির জন্য অনুমতি দেয়
জন এম

251

এখানে যোগ করার জন্য একটি নোট: এটি এখন 3 বছর পরে, তবুও আপনি "একটি এস 3 বালতি কীভাবে অনুসন্ধান করবেন" টাইপ করলে গুগলে এই পোস্টটি শীর্ষে থাকে।

সম্ভবত আপনি আরও জটিল কিছু সন্ধান করছেন, তবে আপনি যদি শিরোনাম অনুসারে কোনও বস্তু (ফাইল) কীভাবে সন্ধান করতে পারেন তা সন্ধানের জন্য এখানে অবতরণ করেন তবে এটি উন্মাদ সহজ:

বালতিটি খুলুন, ডানদিকে "কিছুই নয়" নির্বাচন করুন এবং ফাইলের নাম টাইপ করা শুরু করুন।

http://docs.aws.amazon.com/AmazonS3/latest/UG/ListingObjectsinaBucket.html


43
আমি ঠিক এটিই খুঁজছিলাম। শূন্য ভিজ্যুয়াল ইঙ্গিতগুলি ব্যবহার করার জন্য ভয়ঙ্কর ব্যবহারকারীর অভিজ্ঞতার নকশা
কিথ এন্টজারথ

2
বালতিতে একটি ফাইল নির্বাচন করা দরকার, তারপরে টাইপ করা শুরু করুন।
cabe56

30
তবুও কেবলমাত্র আইটেমের নামের উপসর্গ অনুসারে আপনি অনুসন্ধান করুন।
ড্যানিয়েল ফ্লিপান্স

21
এ তো একেবারেই উগ্র! লোকেরা ডানদিকে বা একটি হলুদ বাক্সে কিছু নিয়ে কথা বলছে তবে আমি কিছুই খুঁজে পাচ্ছি না। ঠিক একই "প্রিফিক্সে টাইপ করুন ..." বার্তা। "অনুসন্ধান বালতি" কীভাবে ডিফল্ট নয় ?? এটি
অ্যাটলাসিয়ান

40
এই উত্তর কি এখনও বিদ্যমান? আমি ডানদিকে কোনও "" কিছুই নেই "এবং উত্তরের ডকুমেন্টেশন লিঙ্কটি এখন ভিন্ন পৃষ্ঠায় ফরোয়ার্ড করছে।
বিস্কুটবেকার

112

AWS CLI ব্যবহার করে ফাইলের নাম অনুসন্ধান করার জন্য এখানে একটি ছোট এবং কুরুচিপূর্ণ উপায় :

aws s3 ls s3://your-bucket --recursive | grep your-search | cut -c 32-

1
aws s3 ls s3: // আপনার বালতি --recursive | গ্রেপ আপনার-অনুসন্ধান আমার অনুসন্ধানের জন্য যথেষ্ট ভাল ছিল, ধন্যবাদ আবে ভোলেকার।
man.2067067

3
সমস্ত বালতি: aws s3 ls | awk '{মুদ্রণ $ 3}' | পড়ার লাইন; প্রতিধ্বনি $ লাইন করুন aws s3 ls s3: // $ লাইন - রেকর্ডিভ | গ্রেপ আপনার অনুসন্ধান; সম্পন্ন
আকোম

1
কী -২২-কেটে কাটা হয়- এটি ছাড়া অনুসন্ধানও কাজ করছে
sunil

1
cut -c 32-আউটপুট থেকে টাইমস্ট্যাম্প এবং ফাইল আকারের তথ্য কেবল ছাপ দেয়, যা আমার সিস্টেমে 32 টি অক্ষর গ্রহণ করে। আপনার এটির দরকার নেই তবে আপনি যদি আউটপুটটিকে অন্য কমান্ডে পাইপ করেন তবে এটি "ক্লিন" আউটপুট রাখা সুবিধাজনক হতে পারে।
আবে ভোলেকার

সিএলআই সমর্থন করে include/exclude। সুতরাং,aws s3 ls s3://bucket --recursive --exclude '*' --include 'myfile*'
মোহ্নিশ

25

(কমপক্ষে) দুটি পৃথক ব্যবহারের কেস রয়েছে যা "বালতি অনুসন্ধান করুন" হিসাবে বর্ণনা করা যেতে পারে:

  1. ভিতরে কিছু অনুসন্ধান করুন বালতি সংরক্ষিত প্রত্যেক বস্তুর; এটি সেই বালতির সমস্ত বস্তুর (যেমন, পাঠ্য ফাইলগুলি) ইত্যাদির জন্য একটি সাধারণ ফর্ম্যাট ধারন করে থাকে এর মতো কিছু করার জন্য, আপনি কোডি কফলান যা উত্তর দিয়েছিলেন তা করতে বাধ্য হন। অ্যাডাব্লুএস এস 3 ডক্সের জাভা জন্য অ্যাডাব্লুএস এসডিকে দিয়ে কীভাবে এটি করা যায় তা উদাহরণ কোড রয়েছে: জাভা জন্য অ্যাডাব্লুএস এসডিকে ব্যবহার করে তালিকা কী (সেখানে আপনি পিএইচপি এবং সি # উদাহরণও দেখতে পাবেন)।

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

    ফোল্ডার / subfolder / file.txt যাও
    আপনি যদি এই কনভেনশনটি অনুসরণ করেন তবে বেশিরভাগ এস 3 জিইউআই (যেমন এডাব্লুএস কনসোল) আপনাকে আপনার বালতির ফোল্ডার ভিউ দেখাবে।



22

এডাব্লুএস এসকিউএল এর সাথে এস 3 বালতিগুলির অনুসন্ধানের জন্য একটি নতুন পরিষেবা প্রকাশ করেছে: অ্যামাজন অ্যাথেনা https://aws.amazon.com/athena/


2
আরগ… আমি পেয়েছি… "অ্যাথেনা ইউএস ওয়েস্টে পাওয়া যায় না (এন ক্যালিফোর্নিয়া)। দয়া করে অন্য একটি অঞ্চল নির্বাচন করুন।"
ক্লিন্টম

2
এই সমস্ত
এসকিউএলকে

4
@ ক্লিন্টম - আমাদের-পূর্ব-পূর্ব (এন। ভার্জিনিয়া) -তে পরিবর্তন করুন
স্লোকমারো

21

একাধিক বিকল্প রয়েছে, কোনওটিই সহজ "এক শট" পূর্ণ পাঠ্য সমাধান নয়:

  1. মূল নামের প্যাটার্ন অনুসন্ধান : কিছু স্ট্রিং দিয়ে শুরু হওয়া কীগুলির সন্ধান করা- যদি আপনি কীগুলির নাম সাবধানে ডিজাইন করেন তবে আপনার পরিবর্তে দ্রুত সমাধান হতে পারে।

  2. কীগুলির সাথে সংযুক্ত মেটাডেটা অনুসন্ধান করুন : এডাব্লুএস এস 3 এ কোনও ফাইল পোস্ট করার সময় আপনি সামগ্রীটি প্রক্রিয়া করতে পারেন, কিছু মেটা তথ্য বের করতে পারেন এবং কাস্টম শিরোনাম আকারে এই মেটা তথ্যটি কীতে সংযুক্ত করতে পারেন। এটি আপনাকে সম্পূর্ণ সামগ্রী আনার প্রয়োজন ছাড়াই মূল নাম এবং শিরোনাম আনতে সহায়তা করে allows অনুসন্ধানটি ধারাবাহিকভাবে করতে হবে, এর জন্য কোনও "বর্গফুট মত" অনুসন্ধান বিকল্প নেই। বড় ফাইলগুলির সাহায্যে এটি প্রচুর নেটওয়ার্ক ট্র্যাফিক এবং সময় সাশ্রয় করতে পারে।

  3. সিম্পলডিবিতে মেটাডেটা সংরক্ষণ করুন : পূর্ববর্তী পয়েন্ট হিসাবে, তবে সিম্পলডিবিতে মেটাডেটা সংরক্ষণ করার সাথে। এখানে আপনার সিলেক্ট স্ট্যান্ডার্ড স্টেটমেন্টের মতো রয়েছে। বড় ডেটা সেটগুলির ক্ষেত্রে আপনি সিম্পলডিবি সীমাতে আঘাত হানতে পারেন, যা কাটিয়ে উঠতে পারে (একাধিক সিম্পলডিবি ডোমেন জুড়ে পার্টিশন মেটাডেটা), তবে আপনি যদি সত্যিই দূরে যান তবে আপনাকে অন্য মেটিডেটা টাইপের ডাটাবেস ব্যবহার করতে হবে।

  4. বিষয়বস্তুর সিক্যুয়াল পূর্ণ পাঠ্য অনুসন্ধান - সমস্ত কীগুলি একে একে প্রক্রিয়াজাত করা হচ্ছে। খুব ধীর, যদি আপনার প্রক্রিয়া করার জন্য খুব বেশি কী থাকে।

আমরা কয়েক বছর ধরে একটি ফাইলের 1440 সংস্করণ (প্রতি মিনিটে এক) সঞ্চয় করে রাখছি, সংস্করণযুক্ত বালতি ব্যবহার করে এটি সহজেই সম্ভব। তবে কিছু পুরানো সংস্করণ পেতে সময় লাগে, কারণ একের পরের সংস্করণ অনুসারে সংস্করণে যেতে হয়। একসময় আমি রেকর্ড সহ সহজ সিএসভি সূচক ব্যবহার করি, প্রকাশনার সময় এবং সংস্করণ আইডি দেখায়, আমি পুরানো সংস্করণে না গিয়ে দ্রুত লাফিয়ে উঠতে পারি।

আপনি দেখতে পাচ্ছেন, এডাব্লুএস এস 3 সম্পূর্ণ টেক্সট অনুসন্ধানের জন্য ডিজাইন করা নিজস্ব নয়, এটি সাধারণ স্টোরেজ পরিষেবা।


4

এস 3 কনসোলে উপসর্গ দ্বারা অনুসন্ধান করুন

সরাসরি এডাব্লুএস কনসোল বালতি ভিউতে।

এখানে চিত্র বর্ণনা লিখুন

S3-dist-cp ব্যবহার করে অনুলিপি করা ফাইলগুলি অনুলিপি করুন

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

[
    {
        "ActionOnFailure": "CONTINUE",
        "Args": [
            "s3-dist-cp",
            "--s3Endpoint=s3.amazonaws.com",
            "--src=s3://mybucket/",
            "--dest=s3://mytarget-bucket/",
            "--groupBy=MY_PATTERN",
            "--targetSize=1000"
        ],
        "Jar": "command-runner.jar",
        "Name": "S3DistCp Step Aggregate Results",
        "Type": "CUSTOM_JAR"
    }
]

এটি প্রদর্শিত হবে যে AWS কনসোল বালতি ভিউ ফিল্টার প্রয়োগ করে ফাইল দ্বারা ফাইল হয় না। এটি আমি যে ফাইল (গুলি) সন্ধান করছি তার একটি স্ট্রিং প্রদান করে অত্যন্ত দ্রুত ফলাফল ফিরিয়ে দিতে সক্ষম। একই ক্লায়েন্ট ম্যানোরের ফলাফল পেতে আমি কি কোনও ক্লায়েন্ট / সরঞ্জাম / এপিআই এডাব্লুএস কনসোল বাদে অন্যটি ব্যবহার করতে পারি? @ হাই অতীতে আমি বোটো ব্যবহারের চেষ্টা করেছি, তবে সর্বোত্তম পন্থাটি প্রতিটি ফাইলের নামের সাথে আপনার অনুসন্ধানের মানদণ্ড প্রয়োগ করে পুরো বালতিটি পুনরায় করা হবে বলে মনে হয়েছিল। অর্থাৎ।
অনুলিপি করুন এবং আটকান

4

আপনি যদি উইন্ডোজে থাকেন এবং কোনও ভাল grepবিকল্প খুঁজে না পাওয়ার জন্য সময় না পান তবে দ্রুত এবং নোংরা উপায়টি হ'ল:

aws s3 ls s3://your-bucket/folder/ --recursive > myfile.txt

এবং তারপরে myfile.txt এ একটি দ্রুত অনুসন্ধান করুন

"ফোল্ডার" বিট .চ্ছিক।

পিএস যদি আপনার ডাব্লুএসএস সিএলআই ইনস্টল না থাকে - চকোলেটি প্যাকেজ ম্যানেজারটি ব্যবহার করে এখানে একটি লাইনার রয়েছে

choco install awscli

পিপিএস যদি আপনার চকলেট প্যাকেজ ম্যানেজার না থাকে - এটি পান! উইন্ডোজ আপনার জীবন 10x আরও ভাল পাবেন। (আমি কোনওভাবেই চকোলেটির সাথে সম্পৃক্ত নই, তবে ওহে, এটি অবশ্যই হওয়া উচিত)।


যদি ব্যবহারকারী চোগো অ্যাডস্ক্লি ইনস্টল করতে পারে তবে তারা গ্রেপ ইনস্টল করতে পারে, না? নাকি উইন্ডোজের নেটিভ ফাইন্ড ব্যবহার করবেন?
ডিন র‌্যাডক্লিফ

2

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

http://aws.amazon.com/cloudsearch/


7
ওপি একেবারে কী খুঁজছিল তা নয়
ক্লিন্টম

আমার জন্য এটি সেখানে সমস্ত ডেটা সংরক্ষণ করার অর্থ হবে - ডেটারের নকল
বিজি ব্রুনো

1

অন্য বিকল্পটি হ'ল আপনার ওয়েব সার্ভারে এস 3 বালতিটি মিরর করা এবং স্থানীয়ভাবে ট্র্যাভার করা। কৌশলটি হ'ল স্থানীয় ফাইলগুলি খালি এবং কেবল একটি কঙ্কাল হিসাবে ব্যবহৃত হয়। বিকল্পভাবে, স্থানীয় ফাইলগুলিতে দরকারী মেটা ডেটা থাকতে পারে যা আপনার সাধারণত S3 (যেমন ফাইলাইজ, মাইমটাইপ, লেখক, টাইমস্ট্যাম্প, ইউইড) থেকে নেওয়া উচিত। আপনি ফাইলটি ডাউনলোড করার জন্য যখন কোনও URL সরবরাহ করেন, স্থানীয়ভাবে অনুসন্ধান করুন এবং এস 3 ঠিকানার লিঙ্ক সরবরাহ করুন।

স্থানীয় ফাইল ট্র্যাভার্সিং সহজ এবং এস 3 পরিচালনার জন্য এই পদ্ধতির ভাষা অজ্ঞায়নের। স্থানীয় ফাইল ট্র্যাভার্সিং বালতি বিষয়বস্তু প্রমাণীকরণ এবং প্রমাণ পেতে ফাইল বা ডেটাবেস বা বিলম্বিত দূরবর্তী API কলগুলি তৈরি করতে বিলম্ব করতে এড়াতে সহায়তা করে avo

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


যদি আপনার এস 3 বাল্টিতে লক্ষ লক্ষ ফাইল থাকে তবে আপনার নোড স্টোরেজ স্পেসটি একটি এক্সটিএফএস 2/3 ডিস্কে বিস্ফোরিত করার দুর্দান্ত উপায় ...
tpartee

1

আমি যেভাবে এটি করেছি তা হল: আমার কাছে এস 3-এ হাজার হাজার ফাইল রয়েছে। আমি তালিকায় একটি ফাইলের বৈশিষ্ট্য প্যানেলটি দেখেছি। আপনি সেই ফাইলটির ইউআরআই দেখতে পাচ্ছেন এবং আমি এটি ব্রাউজারে আটকানো কপি করেছিলাম - এটি একটি পাঠ্য ফাইল এবং এটি দুর্দান্তভাবে রেন্ডার হয়েছিল। এখন আমি ইউআরএলটিতে ইউইডটি প্রতিস্থাপন করেছি যে আমার হাতে থাকা উউইড ছিল এবং সেখানে ফাইলটি বুম করছে।

আমি চাই যে AWS ফাইল অনুসন্ধান করার আরও ভাল উপায় ছিল তবে এটি আমার জন্য কার্যকর হয়েছিল।


1

এই আদেশটি ব্যবহার করে দেখুন:

aws s3api list-objects --bucket your-bucket --prefix sub-dir-path --output text --query 'Contents[].{Key: Key}'

তারপরে আপনি এটিকে একটি গ্রেপের মধ্যে পাইপ করতে পারেন যাতে নির্দিষ্ট ফাইলের প্রকারের সাথে আপনি যা চান তা করতে পারেন।


1
দ্রষ্টব্য: --output textআউটপুটটি JSON ইত্যাদি নয়, সরল পাঠ্য হবে এবং এটি --query 'Contents[].{Key: Key, Size: Size}'কেবলমাত্র নাম এবং ফাইলের আকারের জন্য তালিকাটির আউটপুট ফিল্টার করে specif এটি অনুসন্ধান Key: Keyবা পছন্দ করে না ।
ম্যাট

1

আমি নিম্নলিখিত পদ্ধতিতে চেষ্টা করেছি

aws s3 ls s3://Bucket1/folder1/2019/ --recursive |grep filename.csv

এটি ফাইলটি যেখানে রয়েছে সেখানে প্রকৃত পথকে আউটপুট করে

2019-04-05 01:18:35     111111 folder1/2019/03/20/filename.csv

1

এটি সামান্য পুরানো থ্রেড - তবে সম্ভবত এখনও কেউ অনুসন্ধান করে এমন ব্যক্তিকে সহায়তা করুন - আমিই সেই বছরটি অনুসন্ধান করি।

সমাধান " AWS অ্যাথেনা " হতে পারে যেখানে আপনি এই জাতীয় ডেটা অনুসন্ধান করতে পারেন

'SELECT user_name FROM S3Object WHERE cast(age as int) > 20'

https://aws.amazon.com/blogs/developer/introducing-support-for-amazon-s3-select-in-the-aws-sdk-for-javascript/

বর্তমানে 1 টিবি ডেটার জন্য মূল্য 5 ডলার - সুতরাং উদাহরণস্বরূপ, যদি আপনার কোয়েরিটি 1 টিবি ফাইলের চেয়ে 3 বার আপনার ব্যয় হয় 15 ডলার হয় - তবে উদাহরণস্বরূপ যদি "রূপান্তরিত কলামার ফর্ম্যাটে" আপনি যা পড়তে চান সেখানে কেবল 1 কলাম আছে, আপনি 1 প্রদান করবেন / 3 দামের অর্থ $ 1.67 / টিবি।


যদিও
ব্যয়টি

@ টনখ আমি সম্মতি জানাই - আমি # এস 3 এর সাথে আরও বিকল্প চাই
বিজি ব্রুনো


0

আমার বালতিতে নিদর্শনগুলি খুঁজে পেতে আমি নীচের মতো কিছু করেছি

def getListOfPrefixesFromS3(dataPath: String, prefix: String, delimiter: String, batchSize: Integer): List[String] = {
    var s3Client = new AmazonS3Client()
    var listObjectsRequest = new ListObjectsRequest().withBucketName(dataPath).withMaxKeys(batchSize).withPrefix(prefix).withDelimiter(delimiter)
    var objectListing: ObjectListing = null
    var res: List[String] = List()

    do {
      objectListing = s3Client.listObjects(listObjectsRequest)
      res = res ++ objectListing.getCommonPrefixes
      listObjectsRequest.setMarker(objectListing.getNextMarker)
    } while (objectListing.isTruncated)
    res
  }

বড় বালতিগুলির জন্য এটি অনেক বেশি সময় ব্যয় করে যেহেতু সমস্ত বস্তুর সংক্ষিপ্তসারগুলি আউ দ্বারা ফিরিয়ে দেওয়া হয় এবং এটি কেবল উপসর্গ এবং ডিলিমিটারের সাথে মেলে না। আমি পারফরম্যান্সের উন্নতির জন্য উপায়গুলি খুঁজছি এবং এখনও অবধি আমি খুঁজে পেয়েছি যে কীগুলির নাম রাখা উচিত এবং সেগুলি বালতিগুলিতে সঠিকভাবে সংগঠিত করা উচিত।


0

আমিও একই সমস্যার মুখোমুখি হয়েছি। এস 3-তে অনুসন্ধান করা বর্তমান পরিস্থিতির চেয়ে আরও সহজ হওয়া উচিত। এজন্য, আমি এস 3-তে অনুসন্ধানের জন্য এই ওপেন সোর্স সরঞ্জামটি কার্যকর করেছি।

SSEARCH সম্পূর্ণ ওপেন সোর্স এস 3 অনুসন্ধান সরঞ্জাম। এটি সর্বদা কার্যকরী করা গুরুত্বপূর্ণ বিষয়টি মনে রেখে বাস্তবায়ন করা হয়েছে এবং মানদণ্ড অনুসারে এটি বালতিটি অনুসন্ধান করে যা সেকেন্ডের মধ্যে ~ 1000 ফাইলগুলিতে থাকে।

ইনস্টলেশন সহজ। আপনি কেবল ডকার-রচনা ফাইলটি ডাউনলোড করে এটি চালিয়ে যাচ্ছেন

docker-compose up

SSEARCH শুরু হবে এবং আপনি যে কোনও বালতিতে যে কোনও কিছু অনুসন্ধান করতে পারেন।


0

২০২০-তে দ্রুত এগিয়ে যাওয়া এবং নিম্নোক্ত কমান্ডটি আমাদের ২ফা হিসাবে আওস-ওক্টা ব্যবহার করে, যখন এই নির্দিষ্ট বালতির (+270,000) সমস্ত বস্তু এবং ফোল্ডারগুলিতে পুনরাবৃত্তি করতে জাহান্নামের চেয়ে ধীরে ধীরে কাজ করে।

aws-okta exec dev -- aws s3 ls my-cool-bucket --recursive | grep needle-in-haystax.txt

0

এস 3 বালতিটি জিজ্ঞাসা করতে অ্যামাজন অ্যাথেনা ব্যবহার করুন। এছাড়াও, অ্যামাজন ইলাস্টিক অনুসন্ধানে ডেটা লোড করুন। আশাকরি এটা সাহায্য করবে.


0

কোনও প্রযুক্তিগত উত্তর নয়, তবে আমি একটি অ্যাপ্লিকেশন তৈরি করেছি যা ওয়াইল্ডকার্ড অনুসন্ধানের অনুমতি দেয়: https://bucketsearch.net/

এটি আপনার বালতিটিকে তাত্পর্যপূর্ণভাবে সূচকযুক্ত করবে এবং তারপরে ফলাফলগুলি অনুসন্ধান করার অনুমতি দেবে।

এটি ব্যবহারের জন্য বিনামূল্যে (দানওয়্যার)।


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