Comment faire pour télécharger le fichier lambda ou de fonction de Passerelle API?
Je suis essayez de télécharger le fichier d'iOS et d'API AWS Passerelle et passthrough pour fonction Lambda, Comment puis-je mettre en œuvre ce scénario?
Je peux utiliser multipart/form-data à télécharger sur AWS Passerelle API mais comment faire Modèle d'entrée de support de données binaires?
[Edit1] déplacé de réponse par Spektre
Merci Pour la réponse, après un peu de lecture je comprendre que pas moyen de télécharger le fichier lambda (et il n'est pas logique, car elle est basée sur les événements) et la seule valable en cas d'utilisation à télécharger sur S3 et faire S3 informer lambda.
[Edit1] réponse par @kixorz déplacé de réponse invalide par Spektre: Vous devez configurer votre Demande d'Intégration et de Types de Contenu et ensuite vous pouvez télécharger comme vous le feriez pour tout autre service web.
OriginalL'auteur Henawey | 2015-07-27
Vous devez vous connecter pour publier un commentaire.
Je recommande fortement d'utiliser directement
S3
charger à l'aide de l'un desAWS SDKs
.AWS Lambda
est adapté aux processus juste avant les événements, non pas sur le contenu des transferts comme ajouts. Vous pouvez vérifier sa facturation et les limites à prendre une décision plus éclairée sur si c'est vraiment quelque chose que vous êtes à la recherche pour.Le ci-dessus n'est pas une recommandation mais un avertissement, il n'y a pas vraiment de raison de ne pas utiliser Lambda pour les uploads de fichier. À l'aide de S3 à télécharger à partir d'un site web, bien que très utile dans de nombreuses situations, crée une autre couche de traitement. En téléchargeant directement à Lambda vous pouvez faire votre transformation au moment de le télécharger et d'afficher le résultat de S3 une fois. D'autre part, le téléchargement de S3 nécessite tout d'abord une fonction Lambda être appelée à transformer le fichier, puis enregistrez-le à nouveau pour un autre seau (ou le chemin). Tout a ses avantages et inconvénients -- il n'y a pas de bonne réponse, surtout sans plus d'info.
À l'aide de S3 peut créer une autre couche de traitement, mais il fonctionne de manière universelle. Le téléchargement via la Passerelle API pour Lambda a des problèmes, pour les petits uploads il peut être OK, mais une fois que vous obtenez à 1 mo-10 MO-100 MO ou GO niveaux où vous avez besoin de multi-partie, vous aurez des problèmes difficiles à l'aide de la Passerelle API/Lambda.
Je n'ai pas entendu parler de problèmes avec les téléchargements. De toute façon, il dépend de vos exigences, telles que la capacité à gaz, pré-traiter, de rediriger vers de multiples destinations, cache, etc.
Alors que votre Lambda aura une durée de 5 minutes, ce qui est beaucoup de temps pour les fichiers du MO ordre, il sera sûrement plus cher que de les télécharger à S3 et le déclenchement de l'lambda avec le téléchargement.
OriginalL'auteur kixorz
Passerelle API a ajouté le support pour un S3 Proxy. Cela vous permet de vous exposer téléchargement du fichier directement dans S3.
http://docs.aws.amazon.com/apigateway/latest/developerguide/integrating-api-with-aws-services-s3.html
Vous courez toujours dans le 29 seconde max API d'intégration de la Passerelle de délai d'attente: docs.aws.amazon.com/apigateway/latest/developerguide/...
OriginalL'auteur wesman16