AWS MobileHub Swift 버전 자습서 - Cloud Logic(Lambda) 편 -

Cloud Logic을 사용해 보십시오.
샘플 응용 프로그램의 사용 방법에 대해 Function에서 Lambda 함수Request의 요청 데이터를 지정하고 Invoke를 클릭합니다.Result에 Lambda 함수의 반환 값을 표시합니다.
StoryBoard 이런 느낌이에요.

코드.

Assistant 클래스AWSCloudLogicinvokeFunction를 사용하여 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

설정 방법

swiftlambda에 사용할 디렉터리를 만듭니다.
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에서 모바일 허브에서 만든 롤을 지정합니다.

모바일허브의 클라우드 로직에서 제작된 람바다 기능을 선택한다.

콘솔에서 테스트합니다.

모바일허브 앱으로 만들어진 스위프트 람바다를 불러보자.
(신용 카드가 캐시되었으므로 먼저 애플리케이션을 다시 시작하십시오.)

순조롭게 진행되었습니다!

좋은 웹페이지 즐겨찾기