AWS Lambda में Swift Serverless फंक्शन: पूरी गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

AWS Lambda के साथ Swift में Serverless फंक्शन का परिचय

\n\n

Serverless आर्किटेक्चर डेवलपर्स के बीच तेजी से लोकप्रिय हो रहा है, और अब Swift भी इससे अछूता नहीं है। AWS Lambda प्लेटफॉर्म पर Swift के समर्थन के कारण, iOS और macOS डेवलपर्स अपनी मूल भाषा में क्लाउड फंक्शन लिख सकते हैं, Swift इकोसिस्टम की पूरी शक्ति का उपयोग करते हुए। इस लेख में, हम शुरू से एक Serverless फंक्शन बनाने, कॉन्फ़िगर करने और डिप्लॉय करने की पूरी प्रक्रिया समझेंगे।

\n\n

Serverless फंक्शन आपको सर्वर प्रबंधन के बिना कोड चलाने की अनुमति देते हैं। आप केवल निष्पादन समय के लिए भुगतान करते हैं, और स्केलिंग स्वचालित रूप से होती है। AWS Lambda आधिकारिक runtime इमेज के माध्यम से Swift को सपोर्ट करता है, जो इसे Apple इकोसिस्टम में backend कार्यों के लिए एक उत्कृष्ट विकल्प बनाता है।

\n\n

AWS Lambda पर Swift डेवलपमेंट के लिए वातावरण तैयार करना

\n\n

आवश्यक टूल्स इंस्टॉल करना

\n\n

शुरू करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित इंस्टॉल हैं:

\n\n
    \n
  • Swift 5.9+ — swift.org से डाउनलोड करें
  • \n
  • Docker — Linux वातावरण में बिल्ड करने के लिए
  • \n
  • AWS CLI — डिप्लॉयमेंट के लिए
  • \n
  • Xcode 15+ (वैकल्पिक, macOS के लिए)
  • \n
\n\n

Swift Package प्रोजेक्ट बनाना

\n\n

AWS Lambda सपोर्ट के साथ एक नया Swift Package बनाएं:

\n\n
mkdir MyLambdaFunction\ncd MyLambdaFunction\nswift package init --type executable
\n\n

Package.swift खोलें और AWSLambdaRuntime पर निर्भरता जोड़ें:

\n\n
// swift-tools-version: 5.9\nimport PackageDescription\n\nlet package = Package(\n    name: "MyLambdaFunction",\n    platforms: [.macOS(.v13)],\n    dependencies: [\n        .package(url: "https://github.com/swift-server/swift-aws-lambda-runtime.git", from: "1.0.0")\n    ],\n    targets: [\n        .executableTarget(\n            name: "MyLambdaFunction",\n            dependencies: [\n                .product(name: "AWSLambdaRuntime", package: "swift-aws-lambda-runtime")\n            ]\n        )\n    ]\n)
\n\n

Swift में पहला Serverless फंक्शन लिखना

\n\n

Lambda फंक्शन की मूल संरचना

\n\n

Sources/MyLambdaFunction/main.swift फ़ाइल बनाएं और निम्नलिखित कोड डालें:

\n\n
import AWSLambdaRuntime\nimport AWSLambdaEvents\n\n// अनुरोध की संरचना परिभाषित करें\nstruct GreetingRequest: Codable {\n    let name: String\n}\n\n// प्रतिक्रिया की संरचना परिभाषित करें\nstruct GreetingResponse: Codable {\n    let message: String\n    let timestamp: String\n}\n\n// मुख्य हैंडलर\n@main\nstruct MyLambdaHandler: SimpleLambdaHandler {\n    typealias Event = GreetingRequest\n    typealias Output = GreetingResponse\n    \n    func handle(_ event: GreetingRequest, context: LambdaContext) async throws -> GreetingResponse {\n        let dateFormatter = DateFormatter()\n        dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"\n        \n        return GreetingResponse(\n            message: "नमस्ते, \\(event.name)! Swift Serverless की दुनिया में आपका स्वागत है।",\n            timestamp: dateFormatter.string(from: Date())\n        )\n    }\n}
\n\n

HTTP अनुरोधों को संभालना (API Gateway)

\n\n

API Gateway के साथ काम करने के लिए APIGatewayV2Request का उपयोग करें:

\n\n
import AWSLambdaRuntime\nimport AWSLambdaEvents\n\n@main\nstruct HTTPHandler: SimpleLambdaHandler {\n    typealias Event = APIGatewayV2Request\n    typealias Output = APIGatewayV2Response\n    \n    func handle(_ event: APIGatewayV2Request, context: LambdaContext) async throws -> APIGatewayV2Response {\n        // query-पैरामीटर से डेटा प्राप्त करें\n        let name = event.queryStringParameters?["name"] ?? "अतिथि"\n        \n        let responseBody = """\n        {\n            "message": "नमस्ते, \\(name)!",\n            "path": "\\(event.rawPath)"\n        }\n        """\n        \n        return APIGatewayV2Response(\n            statusCode: .ok,\n                

ब्लॉग

पुस्तक अनुशंसाएँ