AWS Lambda Uzantısı

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
info

Sürüm: 2.0.0

AWS Lambda'ya dağıtılan işlevleri yürütme AWS hesabınızdaki işlevleri listelemek ve ardından belirli işlevleri çağırmak için bu uzantıyı kullanın.

Ön koşullar

ExtensionCallout politikasını kullanarak uzantıyı bir API proxy'sinden kullanmadan önce şunları yapmanız gerekir:

AWS Lambda hakkında

AWS Lambda, desteklenen dillerden birinde işlevleri yürütebileceğiniz hesaplama 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 belgelerine 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 belgelerine bakın.

Parametre Açıklama Tür Varsayılan Zorunlu
functionName Çağırılacak işlevin adı. Dize. Yok. Evet.
invocationType İşlevin senkronize mi yoksa asenkron mu çağrılacağını veya parametre değerlerinin doğrulanıp doğrulanmayacağını belirtir. Dize. Yok. Sıra
logType İsteğe bağlı olarak, son 4 KB günlük verisinin döndürülüp döndürülmeyeceğini belirtir. Dize Yok. Sıra
niteleyici Yayınlanan bir Lambda işlevinin takma adının sürümü. Dize Yok. Sıra
yük Lambda işlevine giriş 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 bir örnek verilmiştir:

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

Yanıt özellikleri

Mülk 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 mevcuttur. İşlev hatası için bu, hata açıklaması mesajını içerir. Dize Yok.

listFunctions

Kullanılabilir AWS Lambda işlevlerini listeler.

Parametreler hakkında daha fazla bilgi için AWS Lambda ListFunctions belgelerine 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 belgelerine bakın.

Parametre Açıklama Tür Varsayılan Zorunlu
masterRegion İşlevlerinin listeleneceği bölge (us-east-2 gibi); ALL, herhangi bir bölgedeki işlevleri dahil etmek için kullanılır. Belirtilmesi durumunda functionVersion değerini de belirtmeniz gerekir. Dize Yok. Sıra
functionVersion Yayınlanan tüm sürümleri listelemek için ALL değerini belirtin. Belirtilmemişse yalnızca yayınlanmamış en son sürümün ARN'si döndürülür. Dize Yok. Sıra
maxItems Yanıtta döndürülecek maksimum işlev sayısı. 0'dan büyük olmalıdır. Döndürülebilen 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

Mülk Açıklama Tür Varsayılan
Açıklama İşlevin açıklaması. Dize. Yok.
İşleyici Lambda'nın işlevi yürütmeye başlamak için çağırdığı işlev. 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 kullanılmak üzere yapılandırırken ve dağıtırken aşağıdakileri kullanın. Apigee konsolunu kullanarak bir uzantıyı yapılandırma adımları için Uzantı ekleme ve yapılandırma başlıklı makaleyi inceleyin.

Ortak 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ı paketine ait özellikler

Bu uzantıya özgü aşağıdaki yapılandırma özellikleri için değerler belirtin.

Mülk Açıklama Varsayılan Zorunlu
AWS Lambda Bölgesi İşlevlerinizin dağıtıldığı bölgenin adı. Örneğin: us-east-1. Yok. Evet.
Kimlik bilgileri 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, bu anahtar JSON dosyasından oluşturulan base64 kodlu bir değerdir.
Yok. Evet.