AWS Lambda Uzantısı

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Sürüm: 1.1.2

AWS Lambda'da dağıtılan işlevleri yürütün. AWS hesabınızda bulunan işlevleri listelemek için bu uzantıyı kullanın, ardından belirli işlevleri çağırın.

Ön koşullar

ExtensionCall politikası ile uzantıyı bir API proxy'sinden kullanmadan önce şunları yapmanız gerekir:

AWS Lambda hakkında

AWS Lambda, işlevleri desteklenen dillerden birinde yürütebileceğiniz işlem ortamları sağlar.

İşlemler

çağırmak

AWS Lambda'da bir işlevi çağırır.

Parametreler hakkında daha fazla bilgi için AWS Lambda Invoke dokümanlarına bakın.

Söz dizimi

<Action>invoke</Action>
<Input><![CDATA[
{
  "functionName" : "function-on-lambda",
  "invocationType" : "RequestResponse | Event | DryRun",
  "logType" : "None | Tail",
  "qualifier" : "Version-or-alias",
  "payload" : "Escaped-JSON-string"
}
]]>
</Input>
<Output>flow-variable</Output>

Örnek

<Action>invoke</Action>
<Input><![CDATA[
{
  "functionName" : "helloWorld",
  "invocationType" : "RequestResponse",
  "logType" : "None",
  "qualifier" : "$LATEST",
  "payload" : "{ \"key\": \"val\" }"
}
]]>
</Input>
<Output>function.response.value</Output>

İstek parametreleri

Parametreler hakkında daha fazla bilgi için AWS Lambda Invoke dokümanlarına bakın.

Parametre Açıklama Tür Varsayılan Zorunlu
functionName Çağrılacak işlevin adı. Dize. Yok. Evet.
invocationType İşlevin eşzamanlı veya eşzamansız olarak mı çağrılacağını ya da parametre değerlerinin doğrulanacağını belirtir. Dize. Yok. Sıra
logType İsteğe bağlı olarak, günlük verilerinin son 4 KB'lık değerinin döndürülüp döndürülmeyeceğini belirtir. Dize Yok. Sıra
niteleyici Yayınlanmış bir Lambda işlevinin takma adı sürümü. Dize Yok. Sıra
yük Lambda işlevinin girdisi olarak JSON. Dize Yok. Sıra

Yanıt

Belirli sürüm ayrıntılarını içeren bir işlev dizisi. Aşağıda bununla ilgili bir örnek verilmiştir:

{
  "StatusCode" : 200,
  "Payload" : "{\"statusCode\":200,\"body\":\"\\\"Hello World!\\\"\"}"
}

Yanıt özellikleri

Özellik Açıklama Tür Varsayılan
StatusCode HTTP durum kodunu döndürdüğünden emin olun. Tamsayı Yok.
Yük İşlev tarafından döndürülen nesneyi temsil eden JSON. Yalnızca çağrı türü RequestResponse ise göster. Bir işlev hatası için bu, bir hata açıklaması mesajı içerir. Dize Yok.

listFunctions

Kullanılabilir AWS Lambda işlevlerini listeler.

Parametreler hakkında daha fazla bilgi için AWS Lambda ListFunctions dokümanlarına bakın.

Söz dizimi

<Action>listFunctions</Action>
<Input><![CDATA[
{
  "masterRegion" : "ALL | [a-z]{2}(-gov)?-[a-z]+-\d{1}",
  "functionVersion" : "ALL",
  "maxItems" : 1 - 10000
}
]]>
</Input>
<Output>flow-variable</Output>

Örnek

<Action>listFunctions</Action>
<Input><![CDATA[
{
  "masterRegion" : "ALL",
  "functionVersion" : "ALL",
  "maxItems" : 50
}
]]>
</Input>
<Output>function.list</Output>

İstek parametreleri

Parametreler hakkında daha fazla bilgi için AWS Lambda ListFunctions dokümanlarına bakın.

Parametre Açıklama Tür Varsayılan Zorunlu
masterRegion İşlevlerinin listelenmesi gereken bölge (ör. us-east-2); Herhangi bir bölgeden işlevler eklemek için ALL. Belirtilmişse functionVersion özelliğini de belirtmeniz gerekir. Dize Yok. Sıra
functionVersion Yayınlanan tüm sürümleri listelemek için ALL değerini belirtin. Belirtilmezse yalnızca en son yayınlanmamış sürüm ARN'si döndürülür. Dize Yok. Sıra
maxItems Yanıt olarak döndürülecek maksimum işlev sayısı. 0'dan büyük olmalıdır. Döndürülebilecek mutlak maksimum değer 50'dir. Tamsayı Yok. Sıra

Yanıt

Belirli sürüm ayrıntılarını içeren bir işlev dizisini temsil eden JSON.

[
  {
    "FunctionName": "helloWorld",
    "FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
    "Runtime": "nodejs",
    "Role": "arn:aws:iam::012345:role/service-role/fakeRole",
    "Handler": "index.handler",
    "Description": "A Hello World lambda function.",
    "Version": "$LATEST"
  },
  {
    "FunctionName": "helloWorld",
    "FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
    "Runtime": "nodejs",
    "Role": "arn:aws:iam::012345:role/service-role/fakeRole",
    "Handler": "index.handler",
    "Description": "A Hello World lambda function.",
    "Version": "1"
  }
]

Yanıt özellikleri

Özellik Açıklama Tür Varsayılan
Açıklama İşlevin açıklaması. Dize. Yok.
İşleyici Lambda'nın fonksiyonu yürütmeye başlamak için çağırdığı fonksiyon. Dize. Yok.
FunctionArn İşlevin Amazon Kaynak Adı. Dize. Yok.
FunctionName İşlevin adı. Dize. Yok.
Rol İşlevin yürütme rolü. Dize. Yok.
Çalışma zamanı İşlevin çalışma zamanı ortamı. Dize. Yok.
Sürüm İşlevin sürümü. Dize. Yok.

Yapılandırma Referansı

Bu uzantıyı API proxy'lerinde kullanmak üzere yapılandırıp dağıtırken aşağıdakileri kullanın. Apigee konsolunu kullanarak uzantı yapılandırma adımları için Uzantı ekleme ve yapılandırma'ya bakın.

Sık kullanılan uzantı özellikleri

Aşağıdaki özellikler her uzantı için mevcuttur.

Mülk Açıklama Varsayılan Zorunlu
name Uzantının bu yapılandırmasını verdiğiniz ad. Yok Evet
packageName Apigee Edge'in sağladığı uzantı paketinin adı. Yok Evet
version Uzantıyı yapılandırdığınız uzantı paketinin sürüm numarası. Yok Evet
configuration Eklediğiniz uzantıya özgü yapılandırma değeri. Bu uzantı paketinin özellikleri başlıklı makaleyi inceleyin Yok Evet

Bu uzantı paketinin özellikleri

Bu uzantıya özel aşağıdaki yapılandırma özelliklerinin değerlerini belirtin.

Özellik Açıklama Varsayılan Zorunlu
AWS Lambda Bölgesi İşlevlerinizin dağıtıldığı bölgenin adı. Örnek: us-east-1. Yok. Evet.
Kimlik bilgileri Bu, Apigee Edge konsoluna girildiğinde Amazon erişim anahtarı kimliğinizi ve erişim anahtarınızı aşağıdaki biçimde içeren bir JSON dosyasıdır:

{
"accessKeyId" : "access-key-ID",
"secretAccessKey" : "secret-access-key"
}

Yönetim API'si aracılığıyla gönderildiğinde, o anahtar JSON dosyasından oluşturulmuş base64 kodlu bir değerdir.
Yok. Evet.