2016-08-19 24 views
11

, bir son nokta '/ kullanıcıların/{kullanıcıkimliği}/someAction' olarak tanımlanan ettim veTerraform'da, istek yolunda bir değişkeni olan bir API Ağ Geçidi uç noktasını nasıl belirlersiniz? AWS API ağ içinde

ben şöyle bağlantılı gateway_resource zincirinin bir çeşit sahip başlayacaktı Terraform ile bu yeniden yaratmaya çalışıyorum ...

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" 
} 

hangi sonra aws_api_gateway_method ve diğer her şeyi tanımlar.

Bu son noktayı terraform'da nasıl tanımlarım? Terraform belgeleri ve örnekleri bu kullanım durumunu kapsamaz.

// 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}" 
} 

Sonra yöntemini oluşturmak ve yol parametresini etkinleştirmek: sizi

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 
    } 
} 

Ve nihayet

cevap

14

Sen kimin path_part Kullanmak istediğiniz parametredir bir kaynak tanımlamak gerekir Entegrasyon içindeki eşlemeyi başarıyla oluşturabilir:

Tümleştirme eşleştirmesinin çalışması için yöntemin - ve parametrenin etkinleştirilmesiyle - bulunması gerekir.

+1

Çok iyi. Teşekkür ederim!! – knaak

+1

Bu yalnızca OP'nin sorusunun "users/{userId}" kısmı için değil midir? Şu anda asıl soruyla aynı sorunla karşı karşıya: 'resource/{resourceId}' kaynağını almayı başardı, fakat 'resource/{resourceId}/someAction'. Kendi yöntemi ve tümleştirmesiyle '{pathId}' kaynağı altında başka bir kaynak oluşturmaya çalıştım, ancak bir "Eksik Kimlik Doğrulama Simgesi" hatası alıyorum - bu da beni gerçekten hiçbir şey oluşturmadığından şüpheleniyor. – yoaquim

0

Daha az itibardan dolayı yorum yapamıyorum, ancak yukarıdaki yanıtı ekleyerek, parent_id öğesini dinamik paramiğe sahip aws_api_gateway_resource işaret edecek şekilde değiştirebilirsiniz.

İlgili konular