كنت أرغب في نشر مكدس CF الخاص بي عبر إطار عمل بدون خادم ، لكنني تلقيت استثناء. لذلك قمت بالتحقق من صحة تهيئة CF عبر aws-cli واستجابت مع ValidationError.
Resources:
CognitoUserPool:
Type: AWS::Cognito::UserPool
Properties:
UserPoolName: test-pool
CognitoUserPoolClient:
Type: AWS::Cognito::UserPoolClient
Properties:
ClientName: test-client
ExplicitAuthFlows:
- ADMIN_NO_SRP_AUTH
GenerateSecret: false
UserPoolId:
Ref: CognitoUserPool
aws cloudformation validate-template --template-body file://test-template.yml
md5-0884b744ef7ebb7d442c0f51b32b4a9f
An error occurred (ValidationError) when calling the ValidateTemplate operation: Template format error: Unrecognized resource types: [AWS::Cognito::UserPool, AWS::Cognito::UserPoolClient]
كان الأمر غريبًا لأنني كنت متأكدًا من صحة تكوين CF وتمكنت من نشره من قبل على جهازي القديم. لقد قاتلت أنه يمكن أن يكون خطأ في الإصدار 1.11.113 الجديد ، لذلك جربته على جهازي القديم وعمل مثل السحر في 1.11.84. ومع ذلك ، عندما أعدت تثبيت 1.11.113 إلى 1.11.84 الأقدم ، بقيت رسالة الخطأ. من فضلك ، هل يمكن أن تخبرني ما أفعله خطأ ؟. شكرا لك.
مثير للاهتمام لا أستطيع تكرار هذا. القالب الذي قدمته يعمل بشكل جيد بالنسبة لي تحت 1.11.113
. هل يمكنك إضافة --debug
إلى مكالمتك ونشر السجلات هنا ، فقد يعطي ذلك مزيدًا من الدلائل على ما يجري.
بشكل عام ، لا ينبغي أن يؤثر إصدار CLI على هذا لأن هذا رد نحصل عليه من الخدمة. كل ما نقوم به هو إرسال النموذج الخاص بك إليهم وطباعة الرد الذي نحصل عليه. هل هناك أي شيء آخر يختلف على الإطلاق بين هاتين الاستدعائين بخلاف إصدار CLI؟
حسنًا ، لقد فهمت ذلك. لقد قمت بتكوين AWS_DEFAULT_REGION=us-west-1
ولا يدعم Amazon Cognito في تلك المنطقة. عندما أقوم بتغييره لنفترض أن us-east-1
يعمل. هذا السلوك هو نفسه في كلا الإصدارين ، لقد صادف أن لدي منطقة مختلفة في الجهاز الأقدم. شكرا لمساعدتي!
رائع سعيد لأنك اكتشفت ذلك!
التعليق الأكثر فائدة
حسنًا ، لقد فهمت ذلك. لقد قمت بتكوين
AWS_DEFAULT_REGION=us-west-1
ولا يدعم Amazon Cognito في تلك المنطقة. عندما أقوم بتغييره لنفترض أنus-east-1
يعمل. هذا السلوك هو نفسه في كلا الإصدارين ، لقد صادف أن لدي منطقة مختلفة في الجهاز الأقدم. شكرا لمساعدتي!