AWS Lambda Uzantısı

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

Sürüm: 2.0.1

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

Ön koşullar

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

AWS Lambda hakkında

AWS Lambda, desteklenen dillerden birinde işlevler 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 ayrıntılı 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 ayrıntılı 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 senkron, asenkron olarak mı çağrılacağını yoksa parametre değerlerinin mi doğrulanacağını belirtir. Dize. Yok. Sıra
logType İsteğe bağlı olarak, günlük verilerinin son 4 KB'lık kısmının döndürülüp döndürülmeyeceğini belirtir. Dize Yok. Sıra
niteleyici Yayınlanmış 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ğırma türü RequestResponse ise sunulur. İşlev hatası için 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 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ölgedeki işlevleri dahil etmek için ALL. Belirtilmesi durumunda 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

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ılacak şekilde 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 başlıklı makaleyi inceleyin.

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.

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.