سؤال

ألعب مع استخدام خدمات الويب الأمازون في مشروعي الشخصي. لقد أمسك ب SDK AWS .NET وأنا أستخدم ذلك، لكنني مرتبك قليلا.

  1. الوصول إلى خدمة الويب (في هذه الحالة، SIMPLEDB، على الرغم من أنني لا أعتقد أن هذه المواد حقا للسؤال) قد أذن عبر زوج رئيسي خاص / عام.

  2. يتطلب AWS SDK ل .NET API المستخدمة لإنشاء كائن عميل المفتاح الخاص:

    AWSClientFactory.CreateAmazonSimpleDBClient(publicKey, privateKey);
    
  3. هذا تطبيق عميل، لذلك سيتم تشغيل الرمز بالكامل على العميل.

  4. مما يشير إلى أن العميل سيحتاج إلى الوصول إلى المفتاح الخاص لي بالوصول إلى SimpleDB. لكن الأمازون تنص بشكل متكرر وبشكل مؤكد أن المفتاح الخاص لي يجب ألا يترك سيطرتي.

هذا لا معنى لي، لذلك أنا الرقم الذي يجب أن أفتقد شيئا ما.

هو تطبيق جانب العميل النموذج الخطأ لخدمات Amazon Web بشكل عام، لاستخدام SDK AWS الخاص بهم ل .NET، أو أنا أفتقد شيئا يجعل تطبيق عميل معقول تماما؟ هل هناك طريقة جيدة للتغلب على هذا دون إنشاء خدمة وكيل ذاتي من شأنها أن مصادقة العملاء وإعادة توجيه طلباتهم إلى SimpleDB؟

هل كانت مفيدة؟

المحلول

لا تحتاج إلى تنفيذ وكيل يقوم بتوحيق خدمة Remote (AWS). فقط قم بتنفيذ خدمة بسيطة وصغيرة ومصادقة تعود إلى العميل عنوان URL ورؤوس لاستخدامها عند الاتصال ب AWS. يبقي WebService المصادق الخاص بك سر AWS، ويوفر فقط عنوان URL الموقعة للطلب ورؤوس العميل، والذي يذهب بعد ذلك ويقوم بإجراء مكالمة العمل الفعلية باستخدام المعلومات التي تم إرجاعها.

بهذه الطريقة، يمكنك تجنب النفقات العامة أثناء استدعاء AWS عن الاضطرار إلى الخوادم الخاصة بك، وإنقاذ الكمون، وعرض النطاق الترددي، وصيد المقابس على الخادم الخاص بك، والفشل التعامل مع التعقيد، وما إلى ذلك. كنت مجرد ضربة خفيفة الوزن مقدما للعميل الحصول على التعليمات المناسبة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top