AWS MobileHub Swift 버전 자습서 - Cloud Logic(Lambda) 편 -
8185 단어 hubAWScloudlogicMobileSwift
샘플 응용 프로그램의 사용 방법에 대해
Function
에서 Lambda 함수Request
의 요청 데이터를 지정하고 Invoke
를 클릭합니다.Result
에 Lambda 함수의 반환 값을 표시합니다.StoryBoard
이런 느낌이에요.코드.
Assistant 클래스
AWSCloudLogic
의 invokeFunction
를 사용하여 Lambda 함수를 호출합니다.블록 처리 콜백.CloudLogicViewController.swift
public func invokeFunction(name: String, withParameters parameters: AnyObject?, completionBlock: (AnyObject, NSError) -> Void)
몇 번Invoke
을 클릭해서 실행하세요.AWS 콘솔의 Lambda 서비스에서 액세스 로그를 볼 수 있습니다.
세밀한 액세스 제어를 구현하려면 AWS API Gateway를 사용해야 합니다.
유감스럽지만 Mobile Hub은 아직 지원되지 않습니다...
여흥으로. - 람바다로 스위프트 이동을 해보겠습니다.
서버쪽 람다도 스위프트로 쓰고 싶어졌죠?상세한 상황은 여기에 있다
스위프트는 여기서 다운로드할 수 있을 것 같아요.Ubuntu 버전만 있습니다.
https://swift.org/download/#releases
AMI가 이걸 사용했어요.
Ubuntu Server 14.04 LTS (HVM), SSD Volume Type - ami-9abea4fb
설정 방법
swift
와 lambda
에 사용할 디렉터리를 만듭니다.sudo mkdir /usr/local/swift
sudo chown ubuntu /usr/local/swift
mkdir ~/lambda
Swift 컴파일러, 라이브러리 설치# Install dependencies
sudo apt-get update
sudo apt-get install clang libicu-dev libbsd-dev
cd /usr/local/swift/
wget https://swift.org/builds/ubuntu1404/swift-2.2-SNAPSHOT-2015-12-01-b/swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu14.04.tar.gz
tar xfz swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu14.04.tar.gz --strip 1
export PATH="/usr/local/swift/usr/bin/:$PATH"
Swift로 Hello World 프로그램을 씁니다.cd ~/lambda
echo print\("Hello World"\) > hello.swift
swiftc hello.swift
./hello
Hello World!
램바다 서비스가 실행 중AmazonLinux
에 동적 라이브러리가 없기 때문에 함께 보관합니다.(정적 링크는 안 될 것 같다.)
동적 라이브러리의 디렉토리를 만듭니다.
mkdir lib
복제하다.cp /usr/local/swift/usr/lib/swift/linux/*.so lib/
cp /usr/lib/x86_64-linux-gnu/libicudata.so.52 lib/
cp /usr/lib/x86_64-linux-gnu/libicui18n.so.52 lib/
cp /usr/lib/x86_64-linux-gnu/libicuuc.so.52 lib/
cp /usr/lib/x86_64-linux-gnu/libbsd.so lib/libbsd.so.0
vi ~/lambda/index.js
Swift를 호출하는 Lambda(Node.js)를 씁니다.index.js
var exec = require('child_process').exec;
exports.handler = function(event, context) {
child = exec("./hello", function(error) {
// Resolve with result of process
context.done(error, 'Process complete!');
});
// Log process stdout and stderr
child.stdout.on('data', console.log);
child.stderr.on('data', console.error);
};
응고sudo apt-get install zip
zip swift.zip hello index.js
이런 파일로 구성되어 있습니다.AWS 콘솔의 람바다 서비스에서 제작된
swift.zip
파일을 업로드합니다.Role
에서 모바일 허브에서 만든 롤을 지정합니다.모바일허브의 클라우드 로직에서 제작된 람바다 기능을 선택한다.
콘솔에서 테스트합니다.
모바일허브 앱으로 만들어진 스위프트 람바다를 불러보자.
(신용 카드가 캐시되었으므로 먼저 애플리케이션을 다시 시작하십시오.)
순조롭게 진행되었습니다!
Reference
이 문제에 관하여(AWS MobileHub Swift 버전 자습서 - Cloud Logic(Lambda) 편 -), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tfutada/items/82cf9cf0555619025d4c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)