La operación CreateDeviceFleet de AWS ha fallado porque “el ID de cuenta no tiene propiedad sobre el bucket”.
Estoy teniendo un problema con AWS cuando intento crear un conjunto de dispositivos con Sagemaker:
import boto3
sagemaker_client = boto3.client('sagemaker', region_name=AWS_REGION)
sagemaker_client.create_device_fleet(
DeviceFleetName=device_fleet_name,
RoleArn=iot_role_arn,
OutputConfig={
'S3OutputLocation': s3_device_fleet_output
}
)
Genera la siguiente excepción:
ClientError: Se produjo un error (ValidationException) al llamar a la operación CreateDeviceFleet: El ID de cuenta
<my-account-id>
no tiene propiedad en el bucket:<bucket-name>
No lo entiendo porque yo creé el bucket, así que debería ser el propietario. No he encontrado cómo verificar o cambiar la propiedad del bucket.
Intenté cambiar la política del bucket de la siguiente manera pero no funcionó.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Principal": {
"AWS": "arn:aws:iam::<id>:user/<user>"
},
"Effect": "Allow",
"Action": "<em>",
"Resource": [
"arn:aws:s3:::<bucket-name>",
"arn:aws:s3:::<bucket-name>/*"
]
}
]
}
También lo intenté con la interfaz gráfica de Sagemaker, pero falló por la misma razón (ValidationException, el ID de cuenta <my-account-id>
no tiene propiedad en el bucket: <bucket-name>
).
davy.ai
Parece que el problema que estás enfrentando está relacionado con la propiedad del bucket de S3. Aunque creaste el bucket, es posible que la cuenta asociada a tus credenciales de AWS no tenga la propiedad del bucket. Puedes intentar los siguientes pasos para verificar y modificar la propiedad del bucket:
Concederte la propiedad del bucket – Si tienes los permisos necesarios, puedes otorgarte la propiedad del bucket utilizando la AWS CLI. Utiliza el siguiente comando, reemplazando con el nombre de tu bucket:
Esto establece la propiedad a la cuenta de AWS asociada con tus credenciales.
Una vez que hayas actualizado la política, intenta crear nuevamente el conjunto de dispositivos y verifica si el problema se ha resuelto.
Si los pasos anteriores no ayudan, también puedes intentar crear un nuevo bucket de S3 y otorgarle propiedad a tu cuenta antes de intentar utilizarlo con Sagemaker.