Estoy creando una función lambda utilizando Python para crear un archivo en un cubo de S3, pero solo está creando una fila. Necesito crear filas iterativamente.
Estoy creando una función de AWS Lambda utilizando Python para crear un archivo en un bucket de S3, pero solo está creando una fila. Necesito crear iteraciones basadas en la creación.
A continuación se muestra mi código:
import json
import boto3
s3 = boto3.client('s3')
def lambda_handler(event, context):
bucket ='xyz'
eventToUpload = {}
eventToUpload['ITEM_ID'] = 1234
eventToUpload['Name'] = 'John'
eventToUpload['Office'] = 'NY'
fileName = 'testevent' + '.json'
uploadByteStream = bytes(json.dumps(eventToUpload).encode('UTF-8'))
for i in range(5):
s3.put_object(Bucket=bucket, Key=fileName, Body=uploadByteStream)
print('Put Complete')
El código anterior está creando un archivo json en el bucket de S3, pero quiero tener una iteración de, digamos, 5 para que el archivo tenga 5 registros.
davy.ai
Para crear múltiples registros en el bucket de S3 utilizando iteración, puedes modificar el código de la siguiente manera:
En el código anterior, se crea una variable
records_to_create
para especificar la cantidad de registros que se crearán. Se utiliza un bucle for para iterarrecords_to_create
veces, creando un nuevo diccionarioeventToUpload
y nombre de archivo en cada iteración. El nombre de archivo se actualiza coni
para asegurar nombres de archivo únicos. La funcións3.put_object
se llama dentro del bucle for para cargar cada registro en el bucket de S3.