2017-03-27 15 views
11

मैं एडब्ल्यूएस एसडीके के लिए नया हूं और मैं एडब्ल्यूएस documentation का पालन करने की कोशिश कर रहा हूं, लेकिन मुझे बिल्कुल सेटअप करने की आवश्यकता नहीं है।एनईटी कोर पर एडब्ल्यूएस एसडीके पर क्रेडेंशियल्स कैसे सेट करें?

सरकारी डॉक्स मुझे बताओ appsettings.json में जोड़ने के लिए:

{ 
    "AWS": { 
    "Profile": "local-test-profile", 
    "Region": "us-west-2" 
    } 
} 

और फिर ग्राहक बनाने के लिए:

var options = Configuration.GetAWSOptions(); 
IAmazonS3 client = options.CreateServiceClient<IAmazonS3>(); 

इस कारण एक अपवाद फेंका जा करने के लिए कहा कि यह नहीं मिल सकता है साख। मैं एपीआई आईडी और कुंजी कहां रखूं? यह प्रोफाइल क्या है?

कृपया ध्यान दें कि मेरे पास इसे सेट अप करने के तरीके पर कोई प्राथमिकता नहीं है। मैं सिर्फ .NET कोर के लिए आधिकारिक दस्तावेज़ीकरण का पालन करने की कोशिश कर रहा हूं, और उनका एकमात्र उदाहरण काम नहीं करता है। दस्तावेज़ों का अर्थ यह है कि मुझे उनके कई नियमों और सेटिंग्स का पूर्व ज्ञान होना चाहिए या मैं एक मौजूदा ऐप माइग्रेट कर रहा हूं और पहले से ही सबकुछ सेटअप कर रहा हूं।

क्या कोई मुझे इस उदाहरण से याद कर सकता है कि एपीआई को सही ढंग से एडब्ल्यूएस से कनेक्ट करने के लिए?

उत्तर

1

जेसन फ़ाइल $ "एप्सेटिंग्स" {env.EnvironmentName} .json "है, इसलिए आपको इसे ऐप्ससेटिंग करना चाहिए। डेवलपर.जेसन और पर्यावरण परिवर्तनीय सेट है।

क्या आपने एडब्ल्यूएस क्रेडेंशियल्स फ़ाइल में अपनी "स्थानीय-परीक्षण-प्रोफ़ाइल" प्रोफ़ाइल को परिभाषित किया था।

सी में होना चाहिए:। \ Users \ {USERNAME} \ एडब्ल्यूएस \ साख

[local-test-profile] 
aws_access_key_id = your_access_key_id 
aws_secret_access_key = your_secret_access_key 

आप डिफ़ॉल्ट स्थान में यह नहीं करना चाहती हैं, तो आप 'ProfilesLocation' json कॉन्फ़िग फ़ाइल सेट कर सकते हैं।

+1

धन्यवाद। नहीं, मैंने इस प्रोफाइल को परिभाषित नहीं किया क्योंकि मुझे नहीं पता था कि मुझे करना है। यह दस्तावेज में बिल्कुल स्पष्ट नहीं है। तो दस्तावेज़ों से क्या गुम है कि यह देखने के लिए एक विशिष्ट जगह में एक्सेस कुंजी और गुप्त के साथ इस आईएनआई जैसी फ़ाइल होनी चाहिए। – Natan

+0

सबसे खराब प्रकार का कोडिंग - 'सी: \ उपयोगकर्ता' लॉल – Toolkit

0

समान दस्तावेज में प्रमाण-पत्र स्थापित करने के लिए एक अनुभाग भी शामिल है। इसे यहां देखें http://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-config-creds.html

यह appSettings.json फ़ाइल का उपयोग करके प्रमाण-पत्र स्थापित करने का एक उदाहरण नहीं देता है क्योंकि उन्हें नहीं लगता कि यह करने के लिए यह सही (सुरक्षित) तरीका है।

यहाँ साख स्थापित करने के बारे खंड की शुरूआत हिस्से से है:

आपके आवेदन, परियोजना की App.config या Web.config फ़ाइल सहित शाब्दिक पहुंच कुंजियों न रखें। यदि आप करते हैं, तो आप अपने क्रेडेंशियल्स को गलती से उजागर करने के लिए जोखिम बनाते हैं, उदाहरण के लिए, आप प्रोजेक्ट को सार्वजनिक संग्रह में अपलोड करते हैं।

+0

इस दस्तावेज़ में appsettings.json में इसे सेट अप करने के तरीके पर एक उदाहरण नहीं है। – Natan

+2

@ नतन ऐसा इसलिए है क्योंकि यह करने का सही तरीका नहीं है। – Hasan

+1

यह वास्तव में प्रश्न का उत्तर नहीं देता है। यह वास्तव में समस्या का हिस्सा है। मैं इस एसडीके में नया हूं, प्रदान किया गया उदाहरण काम नहीं करता है और मुझे नहीं पता कि मैं क्या गलत कर रहा हूं। कोई मौका आप अधिक सहायक हो सकता है? मुझे क्या करना चाहिए? क्या आप अपना नमूना कोड कैसे काम कर सकते हैं इस पर एक उदाहरण दे सकते हैं? इस बिंदु पर मुझे बस यह समझने की जरूरत है कि उनका नमूना कोड कैसे चलाया जाए। – Natan

3

शायद यह आपके लिए बहुत देर हो चुकी है, लेकिन यदि आप डॉकर का उपयोग कर रहे हैं या कुछ अन्य पर्यावरण/सेटअप है जहां एडब्ल्यूएस प्रोफाइल का उपयोग करना संभव/आसान नहीं है तो आप अभी भी पर्यावरण के वर्रों का उपयोग कर सकते हैं। उदाहरण के लिए:

var awsOptions = Configuration.GetAWSOptions(); awsOptions.Credentials = new EnvironmentVariablesAWSCredentials(); services.AddDefaultAWSOptions(awsOptions); services.AddAWSService<IAmazonS3>();

फिर AWS_ACCESSS_KEY_ID & AWS_SECRET_ACCESS_KEY अपने वातावरण में & AWS_REGION निर्धारित किया है।

ऐसा लगता है कि अमेज़ॅन ने दस्तावेज़ों में इसे खोजने के लिए कठिन बना दिया है।

रीयल के लिए एडब्ल्यूएस में चलना ठीक है क्योंकि आपको भूमिका का उपयोग करना चाहिए, लेकिन यदि आपके देवता के लिए डॉकर का उपयोग करने के बाद कंटेनर में प्रोफाइल स्थापित करना एक पिटा है।

+0

पर स्टोर डेटा यह एक बहुत ही उपयोगी उत्तर है यदि आप विंडोज़ पर नहीं हैं, तो हम एक गैर विंडोज कुबर्नेट्स क्लस्टर पर तैनात हैं और यह वह दृष्टिकोण है जो ऐसा लगता है वहां सबसे अच्छा काम करो। – dougajmcdonald

+0

मुझे वास्तव में एक ऐसी चीज चाहिए जो प्रमाण-पत्रों के लिए सभी संभावित स्थानों को खोजेगी। मानक तरीका यह करता है लेकिन पर्यावरण की खोज नहीं करता है। उदास! – Jonesie

+0

हाँ यह बहुत अच्छा होगा! इसके अलावा .net क्लाइंट लगभग मानता है कि आप इसे विंडोज़ पर चला रहे हैं और प्रोफाइल का उपयोग कर सकते हैं जो कि एक पीसीएल/नेट कोर संगत लाइब्रेरी पर विचार करते हुए काफी नाइव है – dougajmcdonald

संबंधित मुद्दे