AWS Lambda Uzantısı

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

Sürüm: 1.1.1

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

Ön koşullar

ExtensionExtension politikasını kullanarak bir API proxy'sinden uzantıyı kullanmadan önce:

AWS Lambda hakkında

AWS Lambda, desteklenen dillerden birinde işlev yürütebileceğiniz işlem ortamları sunar.

İş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 Gerekli
functionName Çağrılacak işlevin adı. Dize. Yok. Evet.
invocationType İşlevin eşzamanlı mı eşzamansız olarak mı çağrılacağını yoksa parametre değerlerinin doğrulanması mı gerektiğini belirtir. Dize. Yok. Hayır
logType İsteğe bağlı olarak günlük verilerinin son 4 KB'ının döndürülüp döndürülmeyeceğini belirtir. Dize Yok. Hayır
niteleyici Yayınlanan bir Lambda işlevinin takma adı sürümü. Dize Yok. Hayır
payload Lambda işlevinin girdisi olarak JSON. Dize Yok. Hayır

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

Ö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ü İstek yanıtı olduğunda gösterilir. İşlev hatası söz konusu olduğunda bu, bir hata açıklama 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 Gerekli
masterRegion İşlevlerinin listelenmesi gereken bölge (us-east-2 gibi); herhangi bir bölgeden işlevleri dahil etmek için ALL. Belirtilmişse functionVersion özelliğini de belirtmeniz gerekir. Dize Yok. Hayır
functionVersion Yayınlanan tüm sürümleri listelemek için ALL değerini belirtin. Belirtilmezse yalnızca yayınlanmamış en son ARN sürümü döndürülür. Dize Yok. Hayır
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. Hayır

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 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 kullanmak üzere yapılandırırken ve 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 bölümüne 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 özgü aşağıdaki yapılandırma özellikleri için değerler belirtin.

Özellik Açıklama Varsayılan Gerekli
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 bu dosya, 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, söz konusu anahtar JSON dosyasından oluşturulan base64 kodlu bir değerdir.
Yok. Evet.