2 parametre uplatniť lambda aws z golang

0

Otázka

chcem poslať 2 parametre a lambda potrebuje, aby sa do práce, a to v podstate potrebuje hodnota chcem hľadať a ako druhý parameter pole, kde zistíte, že hodnota.

Teraz so žiadny problém, bol som schopný získať prístup k niektorým iným lambdas s potrebovať iba jeden parameter s kódom ako je táto.

func (s *resourceService) GetProject(ctx context.Context, name string) projectStruct {

    payload, err := json.Marshal(name)

    util.Logger.Debugf("Payload",payload)
    invokeOutput, err := s.lambdaSvc.Invoke(ctx, &lambda.InvokeInput{
        FunctionName:   &s.getProject,
        InvocationType: "RequestResponse",
        Payload: payload,

    })
    if err != nil {
        panic(err.Error())
    }
    var project projectStruct
    err = json.Unmarshal(invokeOutput.Payload, &project)
    if err != nil {
        panic(err.Error())
    }

    util.Logger.Debugf("Invocation output [%v]", invokeOutput)
    return project
}

teraz s 2 parametre ja som mal veľa problémov a snažil VEĽA rôznych prístupov začína pre pridanie iného Užitočného hodnoty, vytvára reťazec s 2 hodnoty a maršal to, marshaling oba parametre a skúste a pridajte si ich ako užitočné zaťaženie, aj append oboch zaradený pole bajtov, ale bol som schopný odoslanie 2 parametre ako užitočné zaťaženie

Viete, správny spôsob, ako to urobiť? Prosím Pomôžte

aws-lambda go
2021-11-22 20:58:11
1

Najlepšiu odpoveď

0

Lambda funkcie trvať len jedna údajová časť. V V1 z AWS SDK, InvokeInput trvá jeden []byte parameter vyjadrujúci JSON, ako už viete.

Môžete štruktúra vaše jeden Json Náklad na prepravu zoznam. Pri pohľade na váš príklad, Zaťaženie by mohol vyzerat

["name","name"]

Mohli by ste zmeniť svoj podpis, tak ako:

func (s *resourceService) GetProject(ctx context.Context, names []string) projectStruct

json.Marshal zvládne marshaling plátok, rovnako ako aj prvky v rámci plátok, tak zostávajúce kód nie je potrebné meniť.

Samozrejme prijímanie funkcia musia dohodnúť o schéme údajov je, že prešiel. Ak chcete zmeniť z reťazca na zoznam reťazcov, ktoré budú lámanie zmeniť. Z tohto dôvodu, Json, schémy, zvyčajne použiť s názvom hodnoty namiesto scalars.

[{ "Name": "Joan"},{"Name":"Susan"}]

Môžete pridať Age a Address bez porušenia funkcie príjmu (aj keď samozrejme, to bude ignorovať nové polia, kým si program to ignorovať).

Urobte si čas spoznať JSON - je to jednoduchý a výrazný, štandardné kódovanie, ktoré je spoľahlivo podporované všade. JSON je prirodzenou voľbou pre kódovanie štruktúrované údaje Ísť, pretože JSON integruje aj s Go, s štruktúr, mapy, a plátky.

2021-11-22 23:47:47

Ďakujem za pomoc, majú na mysli, myslím, že budem používať objekt ako vstup o zmene lambda parameter s ním pracovať
Julian Cisneros

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................