No video

AWS - Lambda Функции - Технология Serverless

  Рет қаралды 54,443

ADV-IT

ADV-IT

Күн бұрын

AWS - Lambda Функции - Технология Serverless
Буду рад паре баксов, можно даже Канадских :) www.paypal.me/...

Пікірлер: 92
@j___ray
@j___ray 4 жыл бұрын
Просто урок можно на цитаты: "Это я сам придумал! Круто, правда?" "Сервер как раб"))
@j___ray
@j___ray 4 жыл бұрын
@@escapeagreement8941 я и не спорю, смотрю с удовольствием)
@roman8745
@roman8745 5 жыл бұрын
Для создания Lambda Function в браузере должны быть включены и разрешены Cookies иначе будете получать 'Network error' которая абсолютно ни о чем не говорит. В инете вопросов по этой ошибке куча и все без ответов.
@user-bi3kx5uf6d
@user-bi3kx5uf6d Жыл бұрын
еще бывает из-за неправильной даты на локальной машине
@4optimistic
@4optimistic 5 жыл бұрын
import boto3, os def lambda_handler(event, context): myS3 = boto3.client('s3') try: results = myS3.list_buckets() print(results) output = "" for bucket in results['Buckets']: output = output + bucket['Name'] + "" return ("S3 Bucket List:" + output) except: return ("
@TheDfghdhg
@TheDfghdhg 6 жыл бұрын
Крутой курс!
@ADV-IT
@ADV-IT 6 жыл бұрын
Спасибо!
@smokzpolski
@smokzpolski 3 жыл бұрын
На Дженкинс дошел до последних уроков (равзёртывание в AWS) - пошел смотреть про AWS. И вот он тот самый момент, когда надо идти и смотреть/учить Питон.... Ё-маЁ!!! Хотя автору лютый респект =)
@ADV-IT
@ADV-IT 3 жыл бұрын
Как бесконечная история учебы :)
@eus4376
@eus4376 3 жыл бұрын
Знакомый путь, лол. С питоном ознакомился недели 3 назад, и с терраформ перескочил на авс курсы. Связать бы это все в голове - ансибл, дженкинс, авс..но тут только практика и реальные мелкие проекты =)
@4optimistic
@4optimistic 5 жыл бұрын
import boto3, os, time AWS_DEFAULT_REGION = "eu-west-1" #Region where Lambda running os.environ['AWS_DEFAULT_REGION'] = AWS_DEFAULT_REGION bucketname = "lambda.create.me.on-" + str(time.time()) def lambda_handler(event, context): myS3 = boto3.resource('s3') try: results = myS3.create_bucket( Bucket= bucketname, CreateBucketConfiguration = {'LocationConstraint':AWS_DEFAULT_REGION} ) return ("S3 Bucket Created Successfully:" + str(results)) except: return ("Error!")
@franc237
@franc237 4 жыл бұрын
import boto3, os def lambda_handler(event, context): myS3 = boto3.client('s3') try: results = myS3.list_buckets() print(results) output = "" for bucket in results['Buckets']: output = output + bucket['Name'] + "" return ("S3 Bucket List:" + output) except: return ("Error!" )
@MrSanlord77
@MrSanlord77 4 жыл бұрын
Дополню. Очень очень часто lambda ф-ия связана со state machine типа Task Step Function, которая в свою очередь триггерится тупо по расписанию. При деплое в YAML файле кроме всего прочего указываем scheduled rules в формате, очень похожем на cron, но с небольшими отличиями
@maksimkovtun9517
@maksimkovtun9517 Жыл бұрын
Версия кода создания бакета из 2023 года (обратите внимание куда переехал region): import boto3, os, time AWS_DEFAULT_REGION = "us-east-1" os.environ['AWS_DEFAULT_REGION'] = AWS_DEFAULT_REGION bucket_name = "b.lambded." + str(time.time()) def lambda_handler(event, context): s3_client = boto3.client("s3", region_name=AWS_DEFAULT_REGION) print(bucket_name) try: result = s3_client.create_bucket(Bucket=bucket_name) print(f"S3 Bucket Created with name {bucket_name}, {result=}") except Exception as ex: print(f"Error creating {str(ex)}") Кстати, есть ли смысл теперь в установке региона с помощью os.environ?
@ADV-IT
@ADV-IT Жыл бұрын
Поидее если есть Environment variable AWS_DEFAULT_REGION, то его и использует boto3.client("s3")
@bieliaievays
@bieliaievays 5 жыл бұрын
Спасибо. Очень полезно.
@sergeydev8273
@sergeydev8273 3 жыл бұрын
Неистово лайкаю, каждый выпуск :)
@morningvega
@morningvega 3 жыл бұрын
Моё уважению автору
@124um
@124um 4 жыл бұрын
Супер! Спасибо за урок.
@drfrei6501
@drfrei6501 6 жыл бұрын
огромный респект как раз сейчас сижу с лямбдой )))) сенк юююююююю
@ADV-IT
@ADV-IT 6 жыл бұрын
Lambda это большое будующее
@below_waterline
@below_waterline 4 жыл бұрын
Спасибо за курсы )))
@fivaproldge
@fivaproldge 5 жыл бұрын
не перестаю ОХУЕВАТЬ - насколько же AWS крутая штука
@user-hr2ic7iv1j
@user-hr2ic7iv1j 6 жыл бұрын
Спасибо огромное за этот урок! Жду API Gateway. Если можно показать еще работу с событиями и запуском Lambda с помощью них.
@ADV-IT
@ADV-IT 6 жыл бұрын
Урок уже записан, скоро опубликуется, там я покажу как с помощю APIGateway запускать Lambda и еще как это дело защитить от нехороших людей :)
@dmitrytsmyh5971
@dmitrytsmyh5971 3 жыл бұрын
ЗапусТкается, прикольно.)
@Xelamus
@Xelamus 2 жыл бұрын
звучит круто =)
@maxsukhoparov3259
@maxsukhoparov3259 4 жыл бұрын
когда запускал лямбду из aws cli и экспортировал html код в txt, а потом открывал в консоли , это зачем?)) если уж html то в Output.html и сохраняй )) а потом просто "iexplore output.html" например)) и не надо в блокноте строки переносить. А за урок спасибо! Всё супер!
@azizsadykov2652
@azizsadykov2652 3 жыл бұрын
Привет из 2021. 1 при создании Бакета не нужно выставлять Регион, CreateBucketConfiguration={'LocationConstraint': AWS_DEFAULT_REGION} S3 does not require region selection. Денис или я что то не так понял из твоего скрипта.
@qweone123
@qweone123 4 жыл бұрын
РЕСПЕКТ, быстрее чем читать нудную доку
@kriptossavant8797
@kriptossavant8797 2 жыл бұрын
Ещё aot можете использовать, скомпилированный из любого языка, который поддерживает Ahead of Time компиляцию (например, Dart, Kotlin и т.д.).
@samrybkin9184
@samrybkin9184 Жыл бұрын
Звук клавиатуры старого доброго ASUS просто огонь:) Кстати как клавиатура в MSI удобней чем в Asus?
@ADV-IT
@ADV-IT Жыл бұрын
Да, кнопки больше так как нету кнопок калькулятора вправа, он нафиг не нужны
@emmakonstantynovska
@emmakonstantynovska 2 жыл бұрын
Здравствуйте! Спасибо за ваши уроки! Вы сказали, что еще сделаете урок по DynamoDB, так он будет? Пока я его не заметила в вашем плейлисте. :)
@ADV-IT
@ADV-IT 2 жыл бұрын
Всё как-нибудь :)
@dmitriimrcat
@dmitriimrcat 4 жыл бұрын
То есть это SaaS? Очень круто! Спасибо.
@adilhasanov
@adilhasanov 3 жыл бұрын
Добавить хрень!
@user-zi8ep6tk1d
@user-zi8ep6tk1d 6 жыл бұрын
Топ!
@Majkirsche
@Majkirsche 5 жыл бұрын
Спасибо!!! Как всегда шикарный урок. Один вопрос - насколько Lambda дорогая? Можно ли для тренировки наделать всяких функций и сохранить их или они будут втихаря пожирать деньги и лучше не стоит?
@ADV-IT
@ADV-IT 5 жыл бұрын
Очень дешевая, так что не парься
@UAStriker
@UAStriker Жыл бұрын
Hello world использовал 21 мб памяти?)) 12:15 минута
@ADV-IT
@ADV-IT Жыл бұрын
Операционной
@dmitriymovchan6563
@dmitriymovchan6563 6 жыл бұрын
У меня тоже почему-то не все иконки сохраняются сверху консоли.
@ADV-IT
@ADV-IT 6 жыл бұрын
У всех это, баг на Амазоне
@Em-iy7hb
@Em-iy7hb 6 жыл бұрын
У меня такая же ситуация. Главное дома при использовании личного ноутбука, в консоли иконки сохранились. А на работе, иконки нет. Так же понял, что бага Амазона.
@dodokwak
@dodokwak 3 жыл бұрын
Кто-то пытался реализовать lambda для re-sizing images? Не могу понять, почему получаю ошибку 403 Forbidden. Сценарий: у меня 2 bucket: 1-ая для загрузки картинок юзера, 2-ая для сохранения уже от-resized images. Лямбда функция срабатывает на создание нового объекта в 1-ой bucket, обрезает картинку и скидывает её во вторую. У обоих bucket : 1. public access 2. cross-origin resource sharing(CORS) c allow * 3. permissions : bucket policy= action getObject. Картинка благополучно обрезается, перекидывается во вторую корзинку и по url я могу её скачать\помотреть. однако в этот момент(первый reload page) у меня в browser image не видно, а в dev tools = 403 Forbidden. Однако картинка появляется и ошибка изчезает при 2-ой перезагрузки страницы. backend(django). Спасибо.
@ADV-IT
@ADV-IT 3 жыл бұрын
bucket policy= action getObject. ? А какже PutObject?
@dodokwak
@dodokwak 3 жыл бұрын
@@ADV-IT спасибо. добавила getObject, putOject ,не помогает... пересистирует. Думала сначала,что может быть долго re-size-cя. увеличила Timeout y lambda. Но дело скорей всего в чём-то другом. А главное, почему image таки загружается со второго раза, если он уперся рогом и в первый раз отказался to render? update: скорее всего моя джанго делает запрос на картинку слишком быстро,когда от-resized картинка ещё не полностью залилась в новую корзинку.
@dimajj1477
@dimajj1477 2 жыл бұрын
По ходу и иврит проскальзует בגדול :-)
@vadim-aleksandrovich
@vadim-aleksandrovich 2 жыл бұрын
В таком виде работает import boto3, os, time AWS_DEFAULT_REGION = "eu-central-1" os.environ['AWS_DEFAULT_REGION'] = AWS_DEFAULT_REGION bucketname = "lambda.create.me.on-" + str(time.time()) def lambda_handler(event, context): s3 = boto3.resource('s3') try: results = s3.Bucket(bucketname) results.create(CreateBucketConfiguration={ 'LocationConstraint': AWS_DEFAULT_REGION}) print('Bucket Created Successfully' + str(results) + '') except: print('Bucket Error!')
@slavkoslavko5229
@slavkoslavko5229 5 жыл бұрын
А в чем отличия boto3.resource('s3') и boto3.client('s3')?
@ADV-IT
@ADV-IT 5 жыл бұрын
Управление одними ресурсами требуют boto3.resource другими boto3.client boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#client
@ttsrg
@ttsrg 3 жыл бұрын
пляха/муха )))))
@qspor
@qspor 5 жыл бұрын
Вопрос такой. Функция выполняется только 1 раз. Тоесть если я создал функцию, для создания bucket, прописал тригер, для создания уникальности имени бакета использую timestamp либо rand(), в итоге после сохранения функции она исполняется ровно 1 раз и больше не выполняется, и не важно стработал тригер или нет или выполнен invoke через CLI или SDK, такое ощущение, что по завершению функции она уходит во фриз и поля для timestamp к примеру не сбрасываются на null, короче стек полон мусора и функция не может создать такой же бакет с таким же именем, для этого нужно удалить старый бакет и тогда функция создаст новый но со старым timestamp, Как бороться с этим фризом ??? Пробовал писать и на Python и на Java SDK используя jar.
@ADV-IT
@ADV-IT 5 жыл бұрын
Lambda это как Docker контейнер, он не сразу умирает после выполнения Lambda. Есть такая фигня как Execution Context docs.aws.amazon.com/lambda/latest/dg/running-lambda-code.html
@qspor
@qspor 5 жыл бұрын
ADV-IT Насколько я понял Execution Context это не что иное как temporary env variables или другими словами пресловутая куча без сборщика мусора, я конечно понимаю что контейнер хранит данный контест для уменьшения времени исполнения(Latency), но опять таки мой метод должен каждый раз исполнять код который явно создаёт random, чтобы можно было создовать к примеру новые бакеты с новыми сепараторами имен и возможно сотни таких в секунду. Возможно ли как вариант передавать аргументы при вызове Lambda функции ? но как их передать если тригер к примеру не передает ?
@ADV-IT
@ADV-IT 5 жыл бұрын
Попробуй передавать параметр названия бакета, а не генерировать его в функции
@qspor
@qspor 5 жыл бұрын
ADV-IT Вот через API Gateway вроде получилось. import requests, json, random url = 'vy2rsd0twb.execute-api.us-east-1.amazonaws.com/DEV1' headers = {'x-api-key': 'rXUe5suLnt6is6Wrm6EAK12AWsdztlqZ76OXM40f'} counters = 1 while counters < 4: randoms = str(random.randint(1000000000000, 9999999999999)) payload = {'name': randoms} r = requests.post(url, data=json.dumps(payload), headers=headers) counters = counters + 1
@qspor
@qspor 5 жыл бұрын
PS Api у ключ удален в целях безопасности
@almasabdrazak5089
@almasabdrazak5089 5 жыл бұрын
так подождите , Hello world 125 мб или я чего-то не понял?
@ADV-IT
@ADV-IT 5 жыл бұрын
На 23:43 виден размер функций
@JohnHarmRussia
@JohnHarmRussia 4 жыл бұрын
@@ADV-IT Дык по этому таймкоду размер кода выводит. А человек спрашивает, видимо, про потребляемую лямбдой память (за которую тоже платить надо, кстати, дополнительно или она уже входит в ценник лямбды?). Тоже, кстати, присоединяюсь к вопросу..
@ADV-IT
@ADV-IT 4 жыл бұрын
@@JohnHarmRussia по умолчанию тебе дается 128Mb на выполнение функции.
@ADV-IT
@ADV-IT 4 жыл бұрын
Ты платишь по моему за execution time
@gyladti
@gyladti 6 жыл бұрын
Здравствуйте, какая у Вас специальность?
@ADV-IT
@ADV-IT 6 жыл бұрын
DevOps Engineer
@sonny23ization
@sonny23ization 3 жыл бұрын
а в чем отличие от cloudformation?
@ADV-IT
@ADV-IT 3 жыл бұрын
В том же в чем отличие Холодильника от Телевизора. Тоесть совсем разные вещи.
@wamikgildiev6632
@wamikgildiev6632 11 ай бұрын
@@ADV-IT замечательный ответ. А главное исчерпывающий
@alexey7005
@alexey7005 6 жыл бұрын
Как на нем можно заработать .???
@ADV-IT
@ADV-IT 6 жыл бұрын
На нем можно сэкономить кучу денег не запуская серверы.
@alexey7005
@alexey7005 6 жыл бұрын
спасибо , тут дело в том что я не понимая в принципе как и что этим делать , ну вот есть у меня сертификат , и что мне с ним делать ? я не айтишник , тока учусь , если не затруднит .Спасибо
@ADV-IT
@ADV-IT 6 жыл бұрын
Что делать? Искать работу!
@dodokwak
@dodokwak 3 жыл бұрын
раньше при сохранении изменений в ламбде мы использовали кнопку Save, что понятно-интуитивно. теперь вместо неё - Deploy. В чём разница? Спасибо заранее.
@ADV-IT
@ADV-IT 3 жыл бұрын
В названии как помоему
@sergapon666
@sergapon666 6 жыл бұрын
а сколько планируется уроков?
@ADV-IT
@ADV-IT 6 жыл бұрын
Дахрена! честно, там столько всего, что капец просто. Но когда я закончу все темы для экзамена Solutions Architect Associate я конечно скажу, ну и продолжу дальше разные другие серсисы показвать как ими пользоваться.
@sergapon666
@sergapon666 6 жыл бұрын
а почему вы не создадите свою группу в вконтакте?
@ADV-IT
@ADV-IT 6 жыл бұрын
А зачем она нужна, ей заниматься надо, а времени на это у меня не особо, все что я делаю чисто хобби. У меня в VK и facebook личные странички есть, я ими редно пользуюсь, и особо ничего там не выкладываю.
@israel14169
@israel14169 3 жыл бұрын
Название конечно изумительное "Ламбда" (почти как Ламбада), но выражаясь простым языком это мудрёный Планировщик задач.
@fivaproldge
@fivaproldge 5 жыл бұрын
кстати, почему мИсэдж? Ведь мЭсседж \\ тебе пох, понимаю, просто любопытно, неужели тебя твои англоязычные коллеги не поправляют?
@ADV-IT
@ADV-IT 5 жыл бұрын
Они думают что это просто мой акцент. Никто не поправляет.
@wamikgildiev6632
@wamikgildiev6632 11 ай бұрын
Чувак, несомненно, ты много знаешь. Но объясняешь ты откровенно хреново. Слушаю и уши кровоточат. Особенно порадовали такие перлы, как "Сервер стоит и бежит".
Challenge matching picture with Alfredo Larin family! 😁
00:21
BigSchool
Рет қаралды 40 МЛН
Советы на всё лето 4 @postworkllc
00:23
История одного вокалиста
Рет қаралды 5 МЛН
AWS - CloudFront - CDN - Edge Locations
16:47
ADV-IT
Рет қаралды 21 М.
AWS Lambda Introduction - What is it and Why is it Useful?
13:34
Be A Better Dev
Рет қаралды 132 М.
Монолит, микросервисы или serverless
20:47
NGINX Tutorial - What is Nginx
14:32
TechWorld with Nana
Рет қаралды 105 М.
Create Your First AWS Lambda Function | AWS Tutorial for Beginners
12:44
Tiny Technical Tutorials
Рет қаралды 137 М.