ইতিমধ্যে আপলোড করা লাম্বদা ফাংশনটি ডাউনলোড করুন


156

আমি "আপলোড। জিপ" ব্যবহার করে এডাব্লুএস (পাইথন) এ একটি ল্যাম্বডা ফাংশন তৈরি করেছি এবং আমি সেই ফাইলগুলি হারিয়েছি এবং আমার কিছু পরিবর্তন করা দরকার, that। জিপ ডাউনলোড করার কোনও উপায় আছে কি?

উত্তর:


291

হ্যাঁ!

আপনার ল্যাম্বদা ফাংশন সেটিংসে নেভিগেট করুন এবং উপরের ডানদিকে আপনার কাছে " Actions" নামক একটি বোতাম থাকবে । ড্রপ ডাউন মেনুতে " export" নির্বাচন করুন এবং পপআপে "ডাউনলোড প্যাকেজমেন্ট ডাউনলোড করুন" ক্লিক করুন এবং ফাংশনটি একটি .zipফাইলে ডাউনলোড হবে ।


2
ফাংশনে ক্লিক করুন। আপনি যখন ফাংশন পরিচালনা পৃষ্ঠায় ক্লিক করুন ক্রিয়াগুলি।
বুদবুদ হ্যাকার

1
@ কিট হ্যাঁ! কমান্ডের আউটপুটে আপনাকে codeসেখানে দেখতে হবে location। এটি একটি নির্ধারিত ইউআরএল যা আপনি ফাংশনটি ডাউনলোড করতে ব্যবহার করতে পারেন। URL টি 10 ​​মিনিটের জন্য বৈধ হবে।
বুদ্বুদ হ্যাকার

@kit আপনি কি সিএলআই ব্যবহার করে জিপ ডাউনলোড করার কোনও উপায় খুঁজে পেয়েছেন? আমার উইজেট বা কার্লের সাথে ভাগ্য নেই
ভিনিথ

2
@ ভিনিথ- হ্যাঁ আপনি কমান্ডটি ব্যবহার করতে পারেন যেমন: AWS_ACCESS_KEY_ID = XXX অ্যাডাব্লুএসএসএসইএসইআরসিএস_এসিসিএস_ কেইওয়াই = এক্সএলএক্স এসএস 3 সিপি এস 3: // মাই-ইমেজ / দেব dev --recursive
কিট

1
আমার জন্য কাজ করেছেন। আমি যে ফাইলটি ডাউনলোড করেছি তার কেবলমাত্র একটি দ্রষ্টব্য নয় যে .zipউইন্ডোজের কেবল একটি সরল ফাইল ছিল। সমাধানটি হ'ল ম্যানুয়ালি ডাউনলোডের পরে ফাইলের নামের সাথে এক্সটেনশন যুক্ত করা।
অজানা দেব

27

আপডেট: সংভাজি-সাওয়ান্টের লিপিতে লিঙ্ক যুক্ত হয়েছে । ফিক্সড টাইপস, উন্নত উত্তর এবং স্ক্রিপ্ট মন্তব্যের ভিত্তিতে!

যে কোনও ল্যাম্বদার জিপ ডাউনলোড করতে আপনি অ্যাউস-ক্লিপ ব্যবহার করতে পারেন ।

প্রথমে আপনার ল্যাম্বদা জিপতে ইউআরএল পাওয়া দরকার $ aws lambda get-function --function-name $functionName --query 'Code.Location'

তারপরে ইউআরএল থেকে জিপ ডাউনলোড করতে আপনার উইজেট / কার্ল ব্যবহার করতে হবে। $ wget -O myfunction.zip URL_from_step_1

অতিরিক্ত হিসাবে আপনি ব্যবহার করে আপনার AWS অ্যাকাউন্টে সমস্ত ফাংশন তালিকাভুক্ত করতে পারেন

$ aws lambda list-functions

আমি আপনার AWS অ্যাকাউন্ট থেকে সমস্ত ল্যাম্বডা ফাংশন সমান্তরাল ডাউনলোড করতে একটি সাধারণ বাশ স্ক্রিপ্ট তৈরি করেছি। আপনি এটি এখানে দেখতে পারেন :)

দ্রষ্টব্য: উপরের কমান্ডগুলি (বা কোনও অ্যাউস-ক্লাইম কমান্ড) ব্যবহার করার আগে আপনাকে অ্যাউস-ক্লিপ সেটআপ করতে হবে aws configure

এখানে সম্পূর্ণ গাইড


অ্যাডস ল্যাম্বদা গেট-ফাংশন ফাংশনের একটি জেএসওএন বিবরণ প্রদান করে। আসল জিপ পেতে আপনার কোড ব্যবহার করতে হবে। কার্ল বা অন্য কোনও এইচটিটিপি ক্লায়েন্টের সাথে লোকেশন বৈশিষ্ট্য।
জোনসিমোর


2

আপনি যদি এখানে প্রদত্ত অঞ্চলে সমস্ত ফাংশন ডাউনলোড করতে চান তবে আমার কর্মসংস্থান। ফাংশন ডাউনলোড করার জন্য আমি একটি সাধারণ নোড স্ক্রিপ্ট তৈরি করেছি। সমস্ত প্রয়োজনীয় এনএমপি প্যাকেজ ইনস্টল করুন এবং স্ক্রিপ্টটি চালানোর আগে আপনি যে অঞ্চলে চান তা আপনার AWS CLI সেট করুন।

let download = require('download-file');
let extract = require('extract-zip');
let cmd = require('node-cmd');

let downloadFile = async function (dir, filename, url) {
    let options = {
        directory: dir,
        filename: filename
    }
    return new Promise((success, failure) => {
        download(url, options, function (err) {
            if (err) {
                failure(err)
            } else {
                success('done');
            }
        })
    })
}

let extractZip = async function (source, target) {
    return new Promise((success, failure) => {
        extract(source, { dir: target }, function (err) {
            if (err) {
                failure(err)
            } else {
                success('done');
            }
        })
    })
}

let getAllFunctionList = async function () {
    return new Promise((success, failure) => {
        cmd.get(
            'aws lambda list-functions',
            function (err, data, stderr) {
                if (err || stderr) {
                    failure(err || stderr)
                } else {
                    success(data)
                }
            }
        );
    })
}

let getFunctionDescription = async function (name) {
    return new Promise((success, failure) => {
        cmd.get(
            `aws lambda get-function --function-name ${name}`,
            function (err, data, stderr) {
                if (err || stderr) {
                    failure(err || stderr)
                } else {
                    success(data)
                }
            }
        );
    })
}

let init = async function () {
    try {
        let { Functions: getAllFunctionListResult } = JSON.parse(await getAllFunctionList());
        let getFunctionDescriptionResult, downloadFileResult, extractZipResult;
        getAllFunctionListResult.map(async (f) => {
            var { Code: { Location: getFunctionDescriptionResult } } = JSON.parse(await getFunctionDescription(f.FunctionName));
            downloadFileResult = await downloadFile('./functions', `${f.FunctionName}.zip`, getFunctionDescriptionResult)
            extractZipResult = await extractZip(`./functions/${f.FunctionName}.zip`, `/Users/malhar/Desktop/get-lambda-functions/final/${f.FunctionName}`)
            console.log('done', f.FunctionName);
        })
    } catch (e) {
        console.log('error', e);
    }
}


init()

আমাদের কি করতে কার্যাবলী না let { Functions: getAllFunctionListResult } = JSON.parse(await getAllFunctionList());এই লাইনে
KTM

এটি নতুন ভেরিয়েবল getAllFunctionListResult তৈরি এবং এটিতে JSON.parse এর ফাংশন সম্পত্তি অর্পণ করার জন্য অবয়ব তৈরি করছে
ময়ূর শিংগার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.