nie mogę znaleźć żadnej dokumentacji lub przykłady, w jaki sposób wywołania funkcji Lambda w Swift ale starałem się ekstrapolować z dokumentacji przy użyciu Objective-C oraz I jestem nadal się błędy:Jak wywołać funkcję AWS Lambda w Swift
"Error in myFunction: ValidationException: Supplied AttributeValue is empty, must contain exactly one of the supported datatypes"
wydaje się, że nie jestem przekazując parametry do funkcji prawidłowo kiedy wywołać funkcję lambda od szybkich ponieważ skrypt próbuje pisać do DynamoDB ale jednym z parametry są puste (ten skrypt lambda działa, gdy wywołuję go w javascript/node).
let lambda = AWSLambda.defaultLambda()
let request = AWSLambdaInvocationRequest()
var context = [String: String]()
let jsonString = "{\"email\":\"[email protected]\",\"name\":\"example\"}"
let jsonData = jsonString.dataUsingEncoding(NSUTF8StringEncoding)
request.clientContext = jsonData?.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.Encoding64CharacterLineLength)
request.functionName = "myFunction"
lambda.invoke(request).continueWithBlock({
(currentTask: AWSTask!) -> AWSTask in
if (currentTask.error != nil) {
// failed to execute.
print("Error executing: ", currentTask.error)
task.setError(currentTask.error)
} else {
print("token: ", currentTask.result)
task.setResult(currentTask.result)
}
return currentTask
})
Opps, to była zła kopia z jednej z moich aplikacji, która używa lambda z Swift. Usunąłem go teraz z przykładu. W aplikacji przechowuję żądanie lambda jako właściwość w ViewController, co pozwala mi anulować bieżące żądanie w razie potrzeby. –
Znalezienie tego samego dla Androida, jeśli ktoś może pomóc! –