Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoc oko Labda funkcije za S3 upload

[es] :: Python :: Pomoc oko Labda funkcije za S3 upload

[ Pregleda: 726 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Machiavelli...
Đorđe Đokanović
IT Support Engineer II
www.amazon.com
Philadelphia

Član broj: 90589
Poruke: 672
*.hsd1.pa.comcast.net.

Sajt: www.linkedin.com/in/dorde..


+92 Profil

icon Pomoc oko Labda funkcije za S3 upload29.03.2021. u 17:40 - pre 37 meseci
Pozfdrav svima,

Imam jednu jednostavnu Lambda funkciju za prikupljanje par atributa od EC2 - python Lambda

Code:

import boto3
import json

ec2 = boto3.resource('ec2')
s3 = boto3.client('s3')


def lambda_handler(event, context):
 bucket = 'project-lambda-test'
 file='/tmp/ec2_output.json'

 def write_json(data, file='/tmp/ec2_output.json'):
  with open(file, "w") as f:
   json.dump(data, f, indent=4)
 
 for instance in ec2.instances.all():
  
  data = {}
  data['Id'] = instance.id
  data['Platform'] = instance.platform
  data['Type'] = instance.instance_type
  data['PublicIP'] = instance.public_ip_address
  data['AMI'] = instance.image.id
  data['Subnet'] = instance.subnet_id

  write_json(data, file='/tmp/ec2_output.json')
  print(data)


Output:

Code:

{'Id': 'i-07fa7f24e222228d4', 'Platform': None, 'Type': 't2.micro', 'PublicIP': '2.2.2.2', 'AMI': 'ami-07a0844029df22222', 'Subnet': 'subnet-025a22222f3bd49a6'}
{'Id': 'i-0583022222c6ff5f9', 'Platform': None, 'Type': 't2.micro', 'PublicIP': '3.3.3.3', 'AMI': 'ami-07a0844029df22222', 'Subnet': 'subnet-0db44b9bf37022222'}
{'Id': 'i-00aa22222a7c7c1c7', 'Platform': None, 'Type': 't2.micro', 'PublicIP': '4.4.4.4', 'AMI': 'ami-07a0844029df22222', 'Subnet': 'subnet-0db44b9bf37022222'}




Dobijam tacno output koji zelim. Medjutim menije potrebno da snimim file koji sadrzi ovaj output test.json i da ga uploadeujem u S3. Lambda dozvoljava snimanje file iskljucino u /tmp/.
Prosto imam output koji zelim kako da to preusmetim u file /tmp/test.json i uploadujem u S3?

Nije toliko vazno uploadovanje, to mi nije problem. Potrebno mi je da ovaj output bude snimljen u file /tmp/whatever.json



[Ovu poruku je menjao Machiavelli... dana 29.03.2021. u 18:55 GMT+1]
Having an idea is like being in a nutshell, but exchanging idea and collaborate
with
others is like being in infinite ocean of knowledge.
________________________________________________________________
____

Veruj u sebe. Ako ti neces, ko hoce?!

„Bolje živeti 100 godina kao milioner, nego sedam dana u bedi.“
 
Odgovor na temu

Machiavelli...
Đorđe Đokanović
IT Support Engineer II
www.amazon.com
Philadelphia

Član broj: 90589
Poruke: 672
*.hsd1.pa.comcast.net.

Sajt: www.linkedin.com/in/dorde..


+92 Profil

icon Re: Pomoc oko Labda funkcije za S3 upload29.03.2021. u 18:27 - pre 37 meseci
Evo resih, ja sam idiot...


Code:


import boto3
import json



ec2 = boto3.resource('ec2')
s3 = boto3.client('s3')


def lambda_handler(event, context):
 bucket = 'project-lambda-test'
 file='/tmp/ec2_output.json'
 

 with open(file, "w") as f:
  #sys.stdout = f
  for instance in ec2.instances.all():

   data = {}
   data['Id'] = instance.id
   data['Platform'] = instance.platform
   data['Type'] = instance.instance_type
   data['PublicIP'] = instance.public_ip_address
   data['AMI'] = instance.image.id
   data['Subnet'] = instance.subnet_id
    
   print(data)
   
   json.dump(data, f, indent=4)
 
 s3.upload_file(file, bucket, 'ec2_output.json')

Having an idea is like being in a nutshell, but exchanging idea and collaborate
with
others is like being in infinite ocean of knowledge.
________________________________________________________________
____

Veruj u sebe. Ako ti neces, ko hoce?!

„Bolje živeti 100 godina kao milioner, nego sedam dana u bedi.“
 
Odgovor na temu

[es] :: Python :: Pomoc oko Labda funkcije za S3 upload

[ Pregleda: 726 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.