Aws-cli: aws apigateway put-Integration-response: قيمة قوالب الاستجابة "فارغة" غير مقبولة

تم إنشاؤها على ٣١ أكتوبر ٢٠١٥  ·  3تعليقات  ·  مصدر: aws/aws-cli

تحديد null في نموذج الاستجابة على النحو التالي:

aws apigateway put-integration-response \
  --region "$region" \
  --rest-api-id "$api_id" \
  --resource-id "$resource_id" \
  --http-method GET \
  --status-code 200 \
  --response-templates '{"application/json":null}'

ينتج عن الخطأ:

Parameter validation failed:
Invalid type for parameter responseTemplates.application/json, value: None, type: <type 'NoneType'>, valid types: <type 'basestring'>

إذا استبدلت null بـ "Empty" فإن cli يقبل المعلمة:

  --response-templates '{"application/json":"Empty"}'

عندما تنشئ وحدة تحكم AWS نفس الطريقة وأقوم بالاستعلام عنها ، تظهر القيمة على أنها null . يبدو أنني يجب أن أكون قادرًا على ضبطه على نفس القيمة من خلال aws-cli.

aws-cli / v1.9.2

guidance

التعليق الأكثر فائدة

الحل هو تمرير سلسلة فارغة بدلاً من null ، أي --response-templates '{"application/json":""}' ، وستحصل على

{
    "statusCode": "200",
    "responseTemplates": {
        "application/json": null
    }
}

ال 3 كومينتر

الحل هو تمرير سلسلة فارغة بدلاً من null ، أي --response-templates '{"application/json":""}' ، وستحصل على

{
    "statusCode": "200",
    "responseTemplates": {
        "application/json": null
    }
}

شكرا.

شكرا @ quiver و @ ehammond . أخشى أن يكون "الحل البديل" هو الطريقة الصحيحة للقيام بذلك. الحقيقة هي أن خدمة البوابة تم تصميمها على أنها تتوقع سلسلة كمدخلات ، لذلك تعمل جميع حزم AWS SDK بهذه الطريقة ، ويبدو أن البوابة تترجم السلسلة الفارغة على أنها فارغة تحت الغطاء. من المفترض أن تحدث نفس القصة في AWS Console أيضًا.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات