এডাব্লুএস এস 3: আপনি যে বালতিটি অ্যাক্সেস করার চেষ্টা করছেন তা অবশ্যই নির্দিষ্ট শেষ পয়েন্টটি ব্যবহার করে সম্বোধন করতে হবে


184

আমি অ্যাডাব্লুএস-এসডিকে-কোর রুবি জহর দিয়ে আপলোড করা চিত্র ফাইলগুলি মুছার চেষ্টা করছি।

আমার কাছে নিম্নলিখিত কোড রয়েছে:

require 'aws-sdk-core'

def pull_picture(picture)
    Aws.config = {
        :access_key_id => ENV["AWS_ACCESS_KEY_ID"],
        :secret_access_key => ENV["AWS_SECRET_ACCESS_KEY"],
        :region => 'us-west-2'
    }

    s3 = Aws::S3::Client.new

    test = s3.get_object(
        :bucket => ENV["AWS_S3_BUCKET"],
        :key => picture.image_url.split('/')[-2],   
    )
end

তবে, আমি নিম্নলিখিত ত্রুটিটি পাচ্ছি:

আপনি যে বালতিটি অ্যাক্সেস করার চেষ্টা করছেন তা অবশ্যই নির্দিষ্ট শেষ পয়েন্টটি ব্যবহার করে সম্বোধন করা উচিত। ভবিষ্যতের সমস্ত অনুরোধ এই শেষ পয়েন্টে প্রেরণ করুন।

আমি জানি অঞ্চলটি সঠিক কারণ আমি যদি এটিকে পরিবর্তন করি us-east-1তবে নীচের ত্রুটিটি প্রদর্শিত হবে:

নির্দিষ্ট কী উপস্থিত নেই।

আমি এখানে কি ভুল করছি?


6
আমি যখন ঘটনাক্রমে নির্দিষ্ট বালতির জন্য ভুল অঞ্চলটি নির্দিষ্ট করেছিলাম তখন আমার সাথে এটি ঘটেছিল।
মাফিন ম্যান

এটি ভুল AWS অঞ্চলের নাম ব্যবহারের কারণে হতে পারে।
দত্তাত্রায়

উত্তর:


310

সম্ভবত মনে হচ্ছে এই বালতিটি একটি ভিন্ন অঞ্চলে তৈরি হয়েছিল, IE- ওয়েস্ট -2 নয়। আমি এইমাত্র একবার দেখেছি "আপনি যে বালতিটি অ্যাক্সেস করার চেষ্টা করছেন তা অবশ্যই নির্দিষ্ট শেষ পয়েন্টটি ব্যবহার করে সম্বোধন করা উচিত Please দয়া করে ভবিষ্যতের সমস্ত অনুরোধগুলি এই শেষ পয়েন্টে প্রেরণ করুন।"

ইউএস স্ট্যান্ডার্ড হয় us-east-1


30
কখনই তা ভেবে দেখেনি, তবে এটি আমার পক্ষে কাজ করেছে! AWS SDK- এ "মার্কিন স্ট্যান্ডার্ড" অঞ্চলটি AWSRegionUSEast1 বলে মনে হচ্ছে।
নেরোলকেন

অঞ্চলটি কীভাবে সেট করা যায় সে সম্পর্কে একটি উত্তর অনুসন্ধান করছিল। ধন্যবাদ!
সিলার

6
আপনি যদি রুবি ক্লায়েন্ট ব্যবহার করছেন তবে ক্লায়েন্টটি আরম্ভ করার আগে বালতির ENV["AWS_REGION"]সঠিক মান (উদাহরণস্বরূপ "us-east-1") এ সেট করুন
অ্যাবে ভোলেকার

আপনার যদি একাধিক বালতি (যেমন ডেভ / স্টেজিং / প্রোডাকশন ইত্যাদি) ব্যবহার করা প্রয়োজন?
ইয়েকটা

1
জাভাতেও আমার একই সমস্যা ছিল। আপনার সমাধান সাহায্য করেছে। তারা এস 3-তে অদ্ভুত নাম ব্যবহার করে। অঞ্চলের জন্য শেষ পয়েন্ট , সংগ্রহস্থলে অবজেক্ট নামের জন্য কী ...
Gangnus

21

কনসোলে আপনার বালতির অবস্থান পরীক্ষা করুন, তারপরে কোন শেষ পয়েন্টটি ব্যবহার করবেন তা উল্লেখ হিসাবে এটি ব্যবহার করুন: http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region


2
আপনি কিভাবে ব্যাখ্যা করতে পারেন? region: 'us-west-1',কি দিয়ে প্রতিস্থাপন ?
আমির আফ্রিদি

@ আমিরআফ্রিদি এটি নির্ভর করে আপনি কোন এসডিকে ব্যবহার করছেন। আমি আইওএস এসডিকে ব্যবহার করছি এবং শংসাপত্র সরবরাহকারীর মধ্যে এমন একটি প্যারামিটার রয়েছে যেখানে আপনি অঞ্চলটি সেট করতে পারেন। আমি যে অঞ্চলটি ব্যবহার করতে চাইছি সেটি সেট করে রেখেছি।
জে কিউ।

আমার ঠিক একইরকম উদাহরণ রয়েছে, যেখানে আমি বালতির অঞ্চলটিকে অনুকূলিত করেছিলাম, তবে আমি ডোমেনের নামটি আপডেট করতে বাদ দিয়েছি। ঠিক করাটি পূর্বের ডোমেনের নামটি নতুনটির সাথে প্রতিস্থাপন করা ছিল, যেমনটি সেই বালতিটির জন্য এস 3 কনসোলের শেষ পয়েন্টটি উল্লেখ করা হয়েছে। উদাহরণ: আমি প্রতিস্থাপিত https://s3.amazonaws.com/mybucket/myasset.jpgসঙ্গে https://mybucket.s3-ap-southeast-2.amazonaws.com/myasset.jpgযে ত্রুটি ঠিক করতে।
ফ্যাবিয়েন হাদাদাদি

19

আমি একই ধরণের ত্রুটির মুখোমুখি হয়েছিলাম কারণ বালতিটি অঞ্চলটিতে ছিল us-west-2এবং URL প্যাটার্নটির পথে বালতি নাম ছিল। একবার, আমি ফাইলগুলি ধরার জন্য ইউআরএল সাবডোমেন হিসাবে বালতি নাম রাখার জন্য ইউআরএল প্যাটার্নটি পরিবর্তন করেছি এবং এটি কাজ করে।

যেমন পূর্ববর্তী ইউআরএল ছিল

https://s3.amazonaws.com/bucketname/filePath/filename

তারপর আমি হিসাবে এটি প্রতিস্থাপন

https://bucketname.s3.amazonaws.com/filePath/filename

পুরোদস্তুর যোগ্য নাম রাখার ফলে আমার জন্য কাজ হয়েছে। s3-ap-southeast-1.amazonaws.com/ng-spark/Java8.json বালতি যা সিঙ্গাপুরের প্রাপ্যতা অঞ্চলে রয়েছে
নিলেশ গুল

1

অনেকগুলি এস 3 এপিআই প্যাকেজগুলির জন্য ( এনপিএম এস 3 প্যাকেজটি সম্প্রতি আমার এই সমস্যাটি হয়েছিল ) আপনি এই অঞ্চলে মার্কিন স্ট্যান্ডার্ড হিসাবে ধরে নেওয়া যায় এমন সমস্যাগুলির মধ্যে দৌড়াতে পারেন, এবং নাম অনুসারে অনুসন্ধানের জন্য আপনাকে যদি বালতি হোস্ট করতে চান তবে অঞ্চলটিকে স্পষ্টভাবে সংজ্ঞায়িত করতে হবে if এই অঞ্চলের বাইরে


1

এস 3 ক্লায়েন্ট তৈরির সময় আপনি নির্দিষ্ট অঞ্চলে শেষের বিন্দু ম্যাপিং নির্দিষ্ট করতে পারেন। s3.amazonaws.comএরপরে ডিফল্ট হলে বালতিটি তৈরি করা হবেus-east-1 এটি উত্তর ভার্জিনিয়া।

এডাব্লুএস ডক্সে এস 3 সমাপ্তি এবং অঞ্চলগুলি সম্পর্কে আরও বিশদ: http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region

সুতরাং, সর্বদা S3Client তৈরি করার সময় শেষ পয়েন্ট / অঞ্চল সম্পর্কে নিশ্চিত হন এবং একই অঞ্চলে একই ক্লায়েন্ট ব্যবহার করে S3 রিসোসগুলি অ্যাক্সেস করুন।

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


1

উপরের উত্তরগুলির মধ্যে আমার সমস্যার সমাধান করা হয়নি fixed

উপরের উত্তরগুলি সম্ভবত আপনার সমস্যার কারণ হতে পারে তবে আমার সমস্যাটি হ'ল আমি ভুল বালতি নাম ব্যবহার করছিলাম। এটি একটি বৈধ বালতির নাম ছিল, এটি কেবল আমার বালতি ছিল না।

আমি যে বালতিটি ইশারা করছিলাম তা অন্য অঞ্চলে ছিল যে আমার ল্যাম্বদা ফাংশন তাই আপনার বালতির নামটি পরীক্ষা করুন!


0

পিপিএল যারা এখনও এই সমস্যার মুখোমুখি হয়েছেন তাদের জন্য কনফিগার হ্যাশটিতে নীচে s3_host যুক্ত করার চেষ্টা করুন

   :storage => :s3,
   :s3_credentials => {:access_key_id => access key,
   :secret_access_key => secret access key},
   :bucket => bucket name here,
   :s3_host_name => s3-us-west-1.amazonaws.com or whatever comes as per your region}.

এটি আমার জন্য সমস্যাটি স্থির করেছে।


0

অস্তিত্ব নেই এমন একটি বালতি অ্যাক্সেস করার চেষ্টা করার সময় আমি এই ত্রুটিটি পেয়েছি।

আমি ভুল করে বালতি নেম ভেরিয়েবলের সাথে একটি পাথ ভেরিয়েবল স্যুইচ করেছি এবং তাই বালতি নামের ফাইলের মানের মান রয়েছে। সুতরাং ডাবল-চেক করুন, যদি আপনি অনুরোধে যে বালতি নামটি সেট করেছিলেন তা সঠিক হয়।


0

আমারও ত্রুটি ছিল এটি ঘটেছে যখন বালতি তৈরির সময় সেটআপ করা হয়েছিল তার চেয়ে আলাদা এন্ডপয়েন্ট সহ এস 3 ক্লায়েন্ট তৈরি করা হয়েছিল।

  • ত্রুটি কোড - বালতিটি পূর্ব অঞ্চলের সাথে স্থাপন করা হয়েছিল।

এস 3 ক্লায়েন্ট = নতুন অ্যামাজনএস 3 ক্লায়েন্ট (এডাব্লুএস_এসিসিএস_কিইই, এডাব্লুএস_এসসিআরইসি কে, রিয়েলইন্ডপয়েন্ট। ইউএস ওয়েস্ট 2)

  • ফিক্স

s3Client = নিউ AmazonS3Client (AWS_ACCESS_KEY, AWS_SECRET_KEY, RegionEndpoint। USEast1 )


0

আমি একই সমস্যার মুখোমুখি হয়েছি a অনেক লড়াইয়ের পরে আমি দেখতে পেলাম যে আসল সমস্যাটি com.amazonaws নির্ভরতা নিয়ে রয়েছে A নির্ভরতা যুক্ত করার পরে এই ত্রুটিটি অদৃশ্য হয়ে গেল।


0

আমি ইউকেতে থাকি 'ইউএস-ওয়েস্ট-টু''র জন্য চেষ্টা চালিয়ে যাচ্ছিলাম। তাই 'ইইউ-পশ্চিম -২' তে পুনঃনির্দেশিত। এস 3 এর সঠিক অঞ্চলটি 'ইইউ-ওয়েস্ট -2'


0

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


0

দীর্ঘ অনুসন্ধানের পরে, আমি একটি কার্যকরী সমাধান খুঁজে পেয়েছি। সমস্যাটি ছিল ভুলের কারণেregion-code

নীচে অঞ্চল-কোডগুলির তালিকা রয়েছে, উপযুক্তটি সেট করুন এবং আপনার সমস্যা সমাধান হবে।

Code                         Name
US East (Ohio)               us-east-2

US East (N. Virginia)       us-east-1

US West (N. California)     us-west-1

US West (Oregon)            us-west-2

Asia Pacific (Hong Kong)    ap-east-1

Asia Pacific (Mumbai)       ap-south-1

Asia Pacific (Osaka-Local)  ap-northeast-3

Asia Pacific (Seoul)        ap-northeast-2

Asia Pacific (Singapore)    ap-southeast-1

Asia Pacific (Sydney)       ap-southeast-2

Asia Pacific (Tokyo)        ap-northeast-1

Canada (Central)            ca-central-1

Europe (Frankfurt)          eu-central-1

Europe (Ireland)            eu-west-1

Europe (London)             eu-west-2

Europe (Paris)             eu-west-3

Europe (Stockholm)         eu-north-1

Middle East (Bahrain)      me-south-1

South America (São Paulo)   sa-east-1

ডান কোণে বালতি নামের ক্লিকে আপনি আপনার অঞ্চল-কোডটি সন্ধান করতে পারেন।

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

মোডের বিশদ জন্য ক্লিক করুন


0

ভিন্ন AWS প্রোফাইল ব্যবহার করার সময় আমি এই সমস্যার মুখোমুখি হয়েছি। আমি যখন প্রশাসক অনুমতি নিয়ে কোনও অ্যাকাউন্ট ব্যবহার করছিলাম তখন ত্রুটিটি দেখেছি, সুতরাং অনুমতি সংক্রান্ত সমস্যার সম্ভাবনা খুব কম বলে মনে হচ্ছে।

এটি সত্যিই আমার একটি পোষা প্রাণবন্ত যে AWS ত্রুটি বার্তাগুলি ইস্যু করার জন্য এতটাই প্রবণ যে কোনও ব্যবহারকারীর দৃষ্টিকোণ থেকে প্রয়োজনীয় ক্রিয়াগুলির সাথে এর সাথে সামান্য সম্পর্ক রয়েছে।

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