एडब्ल्यूएस एपीआई गेटवे में, मैं एक अंत बिंदु '/ उपयोगकर्ताओं/{userId}/someAction' के रूप में परिभाषित है, और मैं terraform के साथ इस पुनः बनानाटेराफॉर्म में, आप अनुरोध पथ में चर के साथ एपीआई गेटवे एंडपॉइंट कैसे निर्दिष्ट करते हैं?
मैं तो जैसे लिंक किए गए gateway_resource श्रृंखला के कुछ प्रकार के होने शुरू होगा कोशिश कर रहा हूँ ...
resource "aws_api_gateway_resource" "Users" {
rest_api_id = "${var.rest_api_id}"
parent_id = "${var.parent_id}"
path_part = "users"
}
//{userId} here?
resource "aws_api_gateway_resource" "SomeAction" {
rest_api_id = "${var.rest_api_id}"
parent_id = "${aws_api_gateway_resource.UserIdReference.id}"
path_part = "someAction"
}
जिसमें मैं तो aws_api_gateway_method और बाकी सब कुछ परिभाषित करते हैं।
मैं इस अंतराल को टेराफॉर्म में कैसे परिभाषित करूं? टेराफॉर्म दस्तावेज और उदाहरण इस उपयोग के मामले को कवर नहीं करते हैं।
// List
resource "aws_api_gateway_resource" "accounts" {
rest_api_id = "${var.gateway_id}"
parent_id = "${aws_api_gateway_resource.finance.id}"
path_part = "accounts"
}
// Unit
resource "aws_api_gateway_resource" "account" {
rest_api_id = "${var.gateway_id}"
parent_id = "${aws_api_gateway_resource.accounts.id}"
path_part = "{accountId}"
}
तो फिर तुम विधि बना सकते हैं और सक्षम पथ पैरामीटर::
resource "aws_api_gateway_method" "get-account" {
rest_api_id = "${var.gateway_id}"
resource_id = "${var.resource_id}"
http_method = "GET"
authorization = "NONE"
request_parameters {
"method.request.path.accountId" = true
}
}
और अंत में आप
बहुत अच्छी तरह से किया गया। धन्यवाद!! – knaak
यह केवल ओपी के प्रश्न के 'उपयोगकर्ता/{userId}' भाग के लिए नहीं है? वर्तमान में मूल प्रश्न के समान समस्या का सामना करना पड़ रहा है: 'संसाधन/{resourceId} 'काम करने में कामयाब रहा, लेकिन' संसाधन/{resourceId}/someAction' नहीं। '{pathId}' संसाधन के तहत एक और संसाधन बनाने की कोशिश की, इसकी अपनी विधि और एकीकरण के साथ, लेकिन मुझे "गुम प्रमाणीकरण टोकन" त्रुटि मिलती है - जिससे मुझे संदेह होता है कि यह वास्तव में कुछ भी नहीं बना रहा है। – yoaquim