

Ya no actualizamos el servicio Amazon Machine Learning ni aceptamos nuevos usuarios para él. Esta documentación está disponible para los usuarios actuales, pero ya no la actualizamos. Para obtener más información, consulte [Qué es Amazon Machine Learning](https://docs.aws.amazon.com/machine-learning/latest/dg/what-is-amazon-machine-learning.html).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Referencia de Amazon Machine Learning
<a name="amazon-machine-learning-reference"></a>

**Topics**
+ [Concesión de permisos de Amazon ML para la lectura de datos desde Amazon S3](granting-amazon-ml-permissions-to-read-your-data-from-amazon-s3.md)
+ [Concesión de permisos a Amazon ML para enviar predicciones a Amazon S3](granting-amazon-ml-permissions-to-output-predictions-to-amazon-s3.md)
+ [Control de acceso a los recursos de Amazon ML con IAM](controlling-access-to-amazon-ml-resources-by-using-iam.md)
+ [Prevención de la sustitución confusa entre servicios](cross-service-confused-deputy-prevention.md)
+ [Administración de la dependencia de operaciones asíncronas](dependency-management-of-asynchronous-operations.md)
+ [Comprobación del estado de la solicitud](operation-request-status.md)
+ [Límites del sistema](system-limits.md)
+ [Nombres y IDs para todos los objetos](names-and-ids-for-all-objects.md)
+ [Object Lifetimes](object-lifetimes.md)

# Concesión de permisos de Amazon ML para la lectura de datos desde Amazon S3
<a name="granting-amazon-ml-permissions-to-read-your-data-from-amazon-s3"></a>

 Para crear un objeto de una fuente de datos desde los datos de entrada de Amazon S3, debe conceder a Amazon ML los siguientes permisos para la ubicación de S3 donde se almacenan los datos de entrada: 
+  **GetObject**permiso en el bucket y el prefijo de S3. 
+  **ListBucket**permiso en el depósito de S3. A diferencia de otras acciones, se **ListBucket**deben conceder permisos para todo el depósito (y no para el prefijo). Sin embargo, puede conceder el permiso a un prefijo específico mediante una cláusula de **Condición**. 

 Si utiliza la consola de Amazon ML para crear la fuente de datos, la aplicación puede añadir estos permisos al bucket en su nombre. Se le pedirá que confirme si desea añadirlos a medida que complete los pasos del asistente. La siguiente política de ejemplo muestra cómo conceder permiso a Amazon ML para leer datos de la ubicación de muestra s3://*examplebucket*/y, al mismo tiempo*exampleprefix*, limitar el **ListBucket**permiso únicamente a la ruta de entrada. *exampleprefix* 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::examplebucket",
            "Condition": {
                "StringLike": {
                    "s3:prefix": "exampleprefix/*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        }
    ]
}
```

------

Para aplicar esta política a sus datos, debe editar la instrucción de política asociada con el bucket de S3 donde están almacenados sus datos. 

**Edición de la política de permisos para un bucket de S3 (usando la consola anterior)**

1. Inicie sesión en la consola de Amazon S3 Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Seleccione el nombre del bucket donde se encuentran sus datos.

1. Seleccione **Propiedades**.

1. Elija **Edit bucket policy (Editar política de buckets)**.

1. Introduzca la política que se ha mostrado anteriormente, personalícela para adaptarla a sus necesidades y, a continuación, seleccione **Save (Guardar)**.

1. Seleccione **Save**.



**Edición de la política de permisos para un bucket de S3 (usando la consola nueva)**

1. Inicie sesión en la consola de Amazon S3 Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Elija el nombre del bucket y seleccione **Permissions (Permisos)**.

1. Elija **Política de bucket**.

1. Escriba la política que se ha mostrado anteriormente y personalícela para adaptarla a sus necesidades.

1. Seleccione **Save**.

# Concesión de permisos a Amazon ML para enviar predicciones a Amazon S3
<a name="granting-amazon-ml-permissions-to-output-predictions-to-amazon-s3"></a>

 Para enviar los resultados de la operación de predicción por lotes a Amazon S3, debe conceder los siguientes permisos a Amazon ML en la ubicación de salida, que se proporciona como entrada a la operación de creación de predicción por lotes (Create Batch Prediction): 
+  **GetObject**permiso en su bucket y prefijo de S3. 
+  **PutObject**permiso en su bucket y prefijo de S3. 
+  **PutObjectAcl**en su bucket y prefijo de S3. 
  +  Amazon ML necesita este permiso para garantizar que puede conceder el bucket-owner-full-control permiso de [ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) predefinido a su cuenta de AWS una vez creados los objetos. 
+  **ListBucket**permiso en el bucket de S3. A diferencia de otras acciones, se **ListBucket**deben conceder permisos para todo el depósito (y no para el prefijo). Sin embargo, puede conceder el permiso a un prefijo específico mediante una cláusula **Condition**. 

 Si utiliza la consola de Amazon ML para crear la solicitud de predicción por lotes, la aplicación puede añadir estos permisos al bucket por usted. Se le pedirá que confirme si desea añadirlos a medida que complete los pasos del asistente. 

 El siguiente ejemplo de política muestra cómo conceder permiso a Amazon ML para escribir datos en la ubicación de muestra s3://examplebucket/exampleprefix, limitando el **ListBucket**permiso únicamente a la ruta de entrada exampleprefix y concediendo el permiso a Amazon ML para establecer el objeto put ACLs en el prefijo de salida: 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:PutObjectAcl",
            "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::examplebucket",
            "Condition": {
                "StringLike": {
                    "s3:prefix": "exampleprefix/*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        }
    ]
}
```

------

Para aplicar esta política a sus datos, debe editar la instrucción de política asociada con el bucket de S3 donde están almacenados sus datos. 

**Edición de la política de permisos para un bucket de S3 (usando la consola anterior)**

1. Inicie sesión en la consola de Amazon S3 Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Seleccione el nombre del bucket donde se encuentran sus datos.

1. Seleccione **Propiedades**.

1. Elija **Edit bucket policy (Editar política de buckets)**.

1. Introduzca la política que se ha mostrado anteriormente, personalícela para adaptarla a sus necesidades y, a continuación, seleccione **Save (Guardar)**.

1. Seleccione **Save**.



**Edición de la política de permisos para un bucket de S3 (usando la consola nueva)**

1. Inicie sesión en la consola de Amazon S3 Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Elija el nombre del bucket y seleccione **Permissions (Permisos)**.

1. Elija **Política de bucket**.

1. Escriba la política que se ha mostrado anteriormente y personalícela para adaptarla a sus necesidades.

1. Seleccione **Save**.

# Control de acceso a los recursos de Amazon ML con IAM
<a name="controlling-access-to-amazon-ml-resources-by-using-iam"></a>

AWS Identity and Access Management (IAM) le permite controlar de forma segura el acceso de sus usuarios a los servicios y recursos de AWS. Con IAM, puede crear y administrar usuarios, grupos y roles de AWS, y utilizar permisos para permitir y denegar su acceso a los recursos de AWS. Al utilizar IAM con Amazon Machine Learning (Amazon ML), puede controlar si los usuarios de su organización pueden utilizan recursos específicos de AWS y si pueden realizar una tarea mediante acciones específicas de la API de Amazon ML.

 IAM; le permite: 
+  Crear usuarios y grupos en su cuenta de AWS. 
+  Asignar credenciales de seguridad únicas a cada usuario en su cuenta de AWS 
+  Controlar los permisos de cada usuario para realizar tareas mediante recursos de AWS 
+  Compartir fácilmente sus recursos de AWS con los usuarios de su cuenta de AWS. 
+  Crear roles para su cuenta de AWS y administrar sus permisos para definir los usuarios o servicios que pueden asumir dichos roles. 
+ Puede crear roles en IAM y administrar los permisos para controlar qué operaciones podrá ejecutar la entidad, o el servicio de AWS, que asuma ese rol. También puede definir a qué entidad se le permite asumir la función.



 Si su organización ya tiene identidades de IAM, puede utilizarlas para conceder permisos de realización de tareas usando los recursos de AWS. 

Para obtener más información acerca de IAM, consulte la [guía del usuario de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/).

## Sintaxis de la política de IAM
<a name="policy-syntax"></a>

 Una política de IAM es un documento JSON que contiene una o varias instrucciones. Cada instrucción tiene la siguiente estructura: 

```
{
    "Statement":[{
        "Effect":"effect",
        "Action":"action",
        "Resource":"arn",
        "Condition":{
            "condition operator":{
                "key":"value"
            }
        }
    }]
}
```

 Una instrucción de política incluye los siguientes elementos: 
+  El **Efecto** controla el permiso para utilizar los recursos y acciones de la API que especifique más tarde en la instrucción. Los valores válidos son `Allow` y `Deny`. De forma predeterminada, los usuarios de IAM no tienen permiso para utilizar los recursos y las acciones de la API, por lo que se deniegan todas las solicitudes. Un valor `Allow` explícito anula la opción predeterminada. Un valor `Deny` explícito anula cualquier valor `Allows` explícito. 
+  Con el término **acción** nos referimos a la acción o acciones de la API específicas a las que concede o deniega permiso. 
+  **Resource**: el recurso al que afecta la acción. Para especificar un recurso en la instrucción se utiliza el nombre de recurso de Amazon (ARN). 
+  La **condición (opcional)** controla cuándo entrará en vigor la política. 

 Para simplificar la creación y administración de políticas de IAM, puede utilizar el generador de políticas de AWS (AWS Policy Generator) y el generador de políticas de IAM (simulador de política de IAM). 

## Especificación de las acciones de política de IAM para Amazon ML MLAmazon
<a name="actions-for-amazon-ml"></a>

 En una instrucción de política de IAM, puede especificar una acción de API para cualquier servicio que tenga soporte para IAM. Cuando crea una instrucción de política para acciones de la API de Amazon ML añada `machinelearning:` al nombre de la acción de la API tal y como se muestra en los ejemplos siguientes: 
+ `machinelearning:CreateDataSourceFromS3`
+ `machinelearning:DescribeDataSources`
+ `machinelearning:DeleteDataSource`
+ `machinelearning:GetDataSource`

 Para especificar varias acciones en una única instrucción, sepárelas con comas: 

```
"Action": ["machinelearning:action1", "machinelearning:action2"]
```

También puede utilizar caracteres comodín para especificar varias acciones. Por ejemplo, puede especificar todas las acciones cuyo nombre comience por la palabra "Get":

```
"Action": "machinelearning:Get*"
```

Para especificar todas las acciones de Amazon ML, use el carácter comodín \$1 del siguiente modo:

```
"Action": "machinelearning:*"
```

 Para obtener la lista completa de acciones de la API de Amazon ML, consulte la [Referencia de la API de Amazon Machine Learning](https://docs.aws.amazon.com/machine-learning/latest/APIReference/). 

## Especificación ARNs de los recursos de Amazon ML en las políticas de IAM
<a name="amazon-resource-names-arns-for-amazon-ml"></a>

 Las instrucciones de política de IAM se aplican a uno o más recursos. Los recursos para sus políticas se especifican por ellos. ARNs 

 Para especificar los ARNs recursos de Amazon ML, utilice el siguiente formato: 

 "Recurso": `arn:aws:machinelearning:region:account:resource-type/identifier `

 Los siguientes ejemplos muestran cómo especificar common ARNs.

 ID de la fuente de datos: `my-s3-datasource-id `

```
"Resource":
arn:aws:machinelearning:<region>:<your-account-id>:datasource/my-s3-datasource-id
```

 ID del modelo de ML: `my-ml-model-id `

```
"Resource":
arn:aws:machinelearning:<region>:<your-account-id>:mlmodel/my-ml-model-id
```

 ID de la predicción por lotes: `my-batchprediction-id `

```
"Resource":
arn:aws:machinelearning:<region>:<your-account-id>:batchprediction/my-batchprediction-id
```

 ID de la evaluación: `my-evaluation-id `

```
"Resource": arn:aws:machinelearning:<region>:<your-account-id>:evaluation/my-evaluation-id
```

## Ejemplos de políticas para Amazon MLs
<a name="example-policies-for-amazon-ml"></a>

 **Ejemplo 1: permitir que los usuarios lean metadatos de recursos de aprendizaje automático** 

La siguiente política permite a un usuario o grupo leer los metadatos de las fuentes de datos, los modelos de aprendizaje automático, las predicciones por lotes y las evaluaciones realizando acciones de tipo [Describe [DescribeDataSourcesMLModels[DescribeBatchPredictions[DescribeEvaluations[GetDataSource](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_GetDataSource.html)](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_DescribeEvaluations.html)](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_DescribeBatchPredictions.html)](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_DescribeDataSources.html)](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_DescribeMLModels.html),MLModel, [GetBatchPrediction](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_GetBatchPrediction.html), [Get](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_GetMLModel.html) y otras [GetEvaluation](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_GetEvaluation.html)acciones en los recursos especificados. No se pueden restringir los permisos para las operaciones "Describe \$1" a un recurso concreto.

------
#### [ JSON ]

****  

```
{ "Version":"2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Action": [
    "machinelearning:Get*" ], "Resource": [
        "arn:aws:machinelearning:us-east-1:123456789012:datasource/S3-DS-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:datasource/REDSHIFT-DS-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:mlmodel/ML-MODEL-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:batchprediction/BP-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:evaluation/EV-ID1"
    ] }, { "Effect": "Allow", "Action": [ "machinelearning:Describe*" ], "Resource": [ "*" ] } ]
    }
```

------

 **Ejemplo 2: permitir que los usuarios creen recursos de aprendizaje automático** 

 La política siguiente permite que un usuario o grupo cree fuentes de datos de aprendizaje automático, modelos de ML, predicciones por lotes y evaluaciones llevando a cabo las acciones `CreateDataSourceFromS3`, `CreateDataSourceFromRedshift`, `CreateDataSourceFromRDS`, `CreateMLModel`, `CreateBatchPrediction` y `CreateEvaluation`. No puede restringir los permisos para estas acciones a un recurso específico. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "machinelearning:CreateDataSourceFrom*",
                "machinelearning:CreateMLModel",
                "machinelearning:CreateBatchPrediction",
                "machinelearning:CreateEvaluation"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

 **Ejemplo 3: permitir que los usuarios creen y eliminen puntos de enlace en tiempo real y realicen predicciones en tiempo real en un modelo de ML** 

 La política siguiente permite que los usuarios o grupos creen y eliminen puntos de enlace en tiempo real y realicen predicciones en tiempo real para un modelo de ML específico llevando a cabo las acciones `CreateRealtimeEndpoint`, `DeleteRealtimeEndpoint` y `Predict` en ese modelo. 

------
#### [ JSON ]

****  

```
{ "Version":"2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Action": [
    "machinelearning:CreateRealtimeEndpoint", "machinelearning:DeleteRealtimeEndpoint",
    "machinelearning:Predict" ], "Resource": [
        "arn:aws:machinelearning:us-east-1:123456789012:mlmodel/ML-MODEL"
    ] } ] }
```

------

 **Ejemplo 4: permitir que los usuarios actualicen y eliminen recursos específicos** 

 La política siguiente permite que un usuario o grupo actualice y elimine recursos específicos en su cuenta de AWS dándoles permiso para llevar a cabo las acciones `UpdateDataSource`, `UpdateMLModel`, `UpdateBatchPrediction`, `UpdateEvaluation`, `DeleteDataSource`, `DeleteMLModel`, `DeleteBatchPrediction` y `DeleteEvaluation` en esos recursos de su cuenta. 

------
#### [ JSON ]

****  

```
{ "Version":"2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Action": [
    "machinelearning:Update*", "machinelearning:DeleteDataSource", "machinelearning:DeleteMLModel",
    "machinelearning:DeleteBatchPrediction", "machinelearning:DeleteEvaluation" ], "Resource": [
        "arn:aws:machinelearning:us-east-1:123456789012:datasource/S3-DS-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:datasource/REDSHIFT-DS-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:mlmodel/ML-MODEL-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:batchprediction/BP-ID1",
        "arn:aws:machinelearning:us-east-1:123456789012:evaluation/EV-ID1"
    ] } ] }
```

------

 **Ejemplo 5: Permitir cualquier Amazon MLaction** 

 La política siguiente permite que un usuario o grupo lleve a cabo cualquier acción de Amazon ML. Dado que esta política concede acceso completo a todos sus recursos de aprendizaje automático, debe restringirla solo a los administradores. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "machinelearning:*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

# Prevención de la sustitución confusa entre servicios
<a name="cross-service-confused-deputy-prevention"></a>

El problema de la sustitución confusa es un problema de seguridad en el que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción. En AWS, la suplantación de identidad entre servicios puede provocar el confuso problema de un diputado. La suplantación entre servicios puede producirse cuando un servicio (el *servicio que lleva a cabo las llamadas*) llama a otro servicio (el *servicio al que se llama*). El servicio que lleva a cabo las llamadas se puedes manipular para utilizar sus permisos a fin de actuar en función de los recursos de otro cliente de una manera en la que no debe tener permiso para acceder. Para evitarlo, AWS proporciona herramientas que lo ayudan a proteger sus datos para todos los servicios con entidades principales de servicio a las que se les ha dado acceso a los recursos de su cuenta. 

Se recomienda utilizar las claves de contexto de condición global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) y [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) en las políticas de recursos para limitar los permisos que Amazon Machine Learning concede a otro servicio para el recurso. Si el valor de `aws:SourceArn` no contiene el ID de cuenta, como un ARN de bucket de Amazon S3, debe utilizar ambas claves de contexto de condición global para limitar los permisos. Si utiliza claves de contexto de condición global y el valor de `aws:SourceArn` contiene el ID de cuenta, el valor de `aws:SourceAccount` y la cuenta en el valor de `aws:SourceArn` deben utilizar el mismo ID de cuenta cuando se utiliza en la misma instrucción de política. Utiliza `aws:SourceArn` si desea que solo se asocie un recurso al acceso entre servicios. Utiliza `aws:SourceAccount` si quiere permitir que cualquier recurso de esa cuenta se asocie al uso entre servicios.

La forma más eficaz de protegerse contra el problema de la sustitución confusa es utilizar la clave de contexto de condición global de `aws:SourceArn` con el ARN completo del recurso. Si no conoce el ARN completo del recurso o si especifica varios recursos, utiliza la clave de condición de contexto global `aws:SourceArn` con comodines (`*`) para las partes desconocidas del ARN. Por ejemplo, `arn:aws:servicename:*:123456789012:*`. 

En el ejemplo siguiente, se muestra cómo se pueden utilizar las claves de contexto de condición global de `aws:SourceArn` y `aws:SourceAccount` en Amazon ML para evitar el problema adjunto confuso al leer datos de un bucket de Amazon S3.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "machinelearning.amazonaws.com"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::examplebucket",
            "Condition": {
                "StringLike": {
                    "s3:prefix": "exampleprefix/*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*"
                }
            }
        }
    ]
}
```

------

# Administración de la dependencia de operaciones asíncronas
<a name="dependency-management-of-asynchronous-operations"></a>

 Las operaciones por lotes de Amazon ML dependen de otras operaciones para poder completarse correctamente. Para administrar estas dependencias, Amazon ML identifica las solicitudes con dependencias y verifica que las operaciones se hayan completado. Si las operaciones no se han completado, Amazon ML descarta las peticiones iniciales hasta que las operaciones de las que dependen se hayan completado. 

 Existen algunas dependencias entre las operaciones por lotes. Por ejemplo, antes de poder crear un modelo de ML, debe crear una fuente de datos con la que pueda entrenar el modelo de ML. Amazon ML no puede entrenar un modelo de ML si no hay ningún tipo de fuente de datos disponible. 

 Sin embargo, Amazon ML permite administrar las dependencias de las operaciones asíncronas. Por ejemplo, no es necesario esperar hasta que se calculen las estadísticas de datos para poder enviar una solicitud para entrenar un modelo de ML mediante una fuente de datos. De hecho, puede enviar una solicitud para entrenar un modelo de ML mediante una fuente de datos tan pronto como se cree la fuente de datos. Amazon ML no comenzará la operación de entrenamiento hasta que se calculen las estadísticas de la fuente de datos. La MLModel solicitud de creación se pone en cola hasta que se calculen las estadísticas; una vez hecho esto, Amazon ML intenta ejecutar inmediatamente la MLModel operación de creación. Del mismo modo, puede enviar solicitudes de evaluación y predicción por lotes de modelos de ML que no hayan terminado su entrenamiento. 

 La siguiente tabla muestra los requisitos para continuar con diferentes acciones de Amazon ML. 


|  **Para...**  |  **Debe tener...**  | 
| --- | --- | 
|  Cree un modelo de aprendizaje automático (crearMLModel)  |  Una fuente de datos con estadísticas de datos computadas  | 
|  Crear una predicción por lotes (createBatchPrediction)  |   Una fuente de datos   modelo de ML   | 
|  Crear una evaluación de lote (createBatchEvaluation)  |   Una fuente de datos   modelo de ML   | 

# Comprobación del estado de la solicitud
<a name="operation-request-status"></a>

Cuando envía una solicitud, puede verificar su estado con la API de Amazon Machine Learning (Amazon ML). Por ejemplo, si envía una solicitud `createMLModel`, puede comprobar el estado a través de la llamada `describeMLModel`. Amazon ML responde con uno de los siguientes estados. 


|  **Estado**  |  **Definición**  | 
| --- | --- | 
|  PENDIENTE  |   Amazon ML está validando la solicitud.   OR   Amazon ML está a la espera de que los recursos informáticos estén disponibles antes de ejecutar la solicitud. Esto puede ocurrir cuando la cuenta ha superado el número máximo de solicitudes de operaciones por lotes que estén ejecutándose simultáneamente. Si este es el caso, el estado pasa a **InProgress**cuando otras solicitudes en ejecución se hayan completado o se hayan cancelado.   OR   Amazon ML está a la espera de una operación por lotes de la que depende su solicitud para completarse.   | 
|  INPROGRESS  |  La solicitud se está ejecutando.  | 
|  COMPLETED  |  La solicitud ha finalizado y el objeto está listo para usarse (modelos de ML y fuentes de datos) o visualizarse (predicciones por lotes y evaluaciones).  | 
|  ERROR  |  Hay algún problema con los datos que ha proporcionado o ha cancelado la operación. Por ejemplo, si intenta calcular las estadísticas de datos de un origen de datos que no se ha completado, es posible que reciba un mensaje de estado Invalid o Failed. El mensaje de error explica por qué la operación no se ha completado correctamente.  | 
|  DELETED  |  Ya se ha eliminado el objeto.  | 

Amazon ML también ofrece información sobre un objeto, como cuándo terminó Amazon ML de crear dicho objeto. Para obtener más información, consulte [Listas de objetos](listing-objects.md).

# Límites del sistema
<a name="system-limits"></a>

 Con el fin de ofrecer un servicio sólido y de confianza, Amazon ML impone determinados límites en las solicitudes que realice en el sistema. La mayoría de problemas de ML se adaptan fácilmente a estas limitaciones. No obstante, si cree que el uso que hace de Amazon ML está siendo restringido por estos límites, puede ponerse en contacto con el [servicio de atención al cliente de AWS](https://aws.amazon.com/contact-us/) y solicitar que se aumente un límite. Por ejemplo, puede tener un límite de cinco trabajos que puede ejecutar de forma simultánea. Si detecta que termina teniendo trabajos en la cola pendientes de recursos debido a este límite, probablemente tenga sentido aumentar ese límite para su cuenta. 

 La siguiente tabla muestra los límites predeterminados por cuenta en Amazon ML. El servicio de atención al cliente de AWS no está en disposición de aumentar todos estos límites. 


| **Tipo de límite** | **Límite del sistema** | 
| --- | --- | 
| Tamaño de cada una de las observaciones | 100 KB | 
| Tamaño de datos de entrenamiento \$1 | 100 GB | 
| Tamaño de la entrada de predicción por lotes | 1 TB | 
| Tamaño de la entrada de predicción por lotes (número de registros) | 100 millones | 
| Número de variables de un archivo de datos (esquema) | 1 000 | 
| Complejidad de receta (número de variables de salida procesadas) | 10 000 | 
| TPS para cada punto de enlace de predicción en tiempo real | 200 | 
| Total de TPS de todos los puntos de conexión de predicción en tiempo real | 10 000 | 
| Total de RAM de todos los puntos de enlace de predicción en tiempo real | 10 GB | 
| Número de trabajos simultáneos | 25 | 
| Tiempo de ejecución máximo para cualquier trabajo | 7 días | 
| Número de clases para modelos de ML multiclase | 100 | 
| Tamaño de modelo de ML | Mínimo de 1 MB, máximo de 2 GB | 
| Número de etiquetas por objeto | 50 | 
+  El tamaño de los archivos de datos se limita para asegurarse de que los trabajos finalicen puntualmente. Los trabajos que llevan ejecutándose más de siete días se finalizarán automáticamente, lo que dará lugar al estado FAILED. 

# Nombres y IDs para todos los objetos
<a name="names-and-ids-for-all-objects"></a>

 Todos los objetos de Amazon ML deben tener un identificador (ID). La consola de Amazon ML genera valores de ID por usted. Si utiliza la API, debe generar sus propios ID. Cada ID debe ser único entre todos los objetos de Amazon ML del mismo tipo en su cuenta de AWS. Es decir, no puede tener dos evaluaciones con el mismo ID. Es posible tener una evaluación y una fuente de datos con el mismo ID, aunque no se recomienda. 

 Le recomendamos que utilice identificadores generadas de forma aleatoria para sus objetos, prefijados con una cadena breve para identificar su tipo. Por ejemplo, cuando la consola de Amazon ML genera una fuente de datos, le asigna un identificador único y aleatorio, como «DS-zsc F». WIu WiOx Este ID es suficientemente aleatorio para evitar conflictos a cualquier usuario y también es compacto y legible. El prefijo "ds-" es por comodidad y claridad, pero no es necesario. Si no está seguro sobre qué utilizar para sus ID de cadenas, le recomendamos que utilice valores hexadecimales de identificador único universal (UUID) como 28b1e915-57e5-4e6c-a7bd-6fb4e729cb23, que se encuentran disponibles en cualquier entorno de programación moderno. 

 Las cadenas de ID pueden contener letras en codificación ASCII, números, guiones y guiones bajos y pueden ser de hasta 64 caracteres. Es posible, y seguramente resulte también cómodo, codificar los metadatos en una cadena de ID. Sin embargo, no se recomienda porque, una vez que se haya creado un objeto, su ID no podrá modificarse. 

 Los nombres de objeto proporcionan una forma sencilla para asociar metadatos intuitivos con cada uno de los objetos. Puede actualizar los nombres después de que se haya creado un objeto. Esto permite que el nombre de objeto refleje algunos aspectos de su flujo de trabajo de ML. Por ejemplo, es posible que asigne inicialmente el nombre "experimento \$13" a un modelo de ML y que luego cambie el nombre del modelo a "modelo de producción final". Los nombres puede ser cualquier cadena que desee con hasta 1 024 caracteres. 

# Object Lifetimes
<a name="object-lifetimes"></a>

 Cualquier fuente de datos, modelo de ML, evaluación u objeto de predicción por lotes que cree con Amazon ML estará disponible para su uso durante al menos dos años después de su creación. Amazon ML podría eliminar objetos automáticamente a los que no se ha accedido o que no se han utilizado durante más de dos años. 