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.
Administra AWS CodeBuild compilaciones con Step Functions
Puedes integrar Step Functions AWS CodeBuild para iniciar, detener y gestionar compilaciones. En esta página se enumeran las funciones compatibles CodeBuild APIs que puede utilizar con Step Functions.
Para obtener más información sobre la integración con AWS los servicios de Step Functions, consulte Integración de los servicios de yPasar parámetros a un servicio API en Step Functions.
Con la integración de Step Functions, AWS CodeBuild puedes usar Step Functions para activar, detener y gestionar compilaciones, y compartir informes de compilación. Con Step Functions puede diseñar y ejecutar canalizaciones de integración continua para validar los cambios de software para las aplicaciones.
Características clave de la CodeBuild integración optimizada
-
Se admite el patrón de integración Ejecutar un trabajo (.sync).
-
Después de llamar
StopBuild
oStopBuildBatch
, la compilación o el lote de compilación no se pueden eliminar inmediatamente hasta que se complete algún trabajo interno CodeBuild para finalizar el estado de la compilación o las compilaciones.Si se intenta usar
BatchDeleteBuilds
oDeleteBuildBatch
durante este período, no se podrá eliminar la compilación o el lote de compilación.Las integraciones de servicios optimizados para
BatchDeleteBuilds
yDeleteBuildBatch
incluyen un reintento interno para simplificar el caso de uso de eliminar justo después de detener.
No todos APIs admiten todos los patrones de integración, como se muestra en la siguiente tabla.
API | Respuesta de la solicitud | Ejecutar un trabajo (.sync) |
---|---|---|
StartBuild | Soportado | Soportado |
StopBuild | Soportado | No compatible |
BatchDeleteBuilds | Compatible | No compatible |
BatchGetReports | Compatible | No compatible |
StartBuildBatch | Soportado | Soportado |
StopBuildBatch | Soportado | No compatible |
RetryBuildBatch | Soportado | Soportado |
DeleteBuildBatch | Soportado | No compatible |
Parámetros en Step Functions se expresan en PascalCase
Incluso si el servicio nativo API está encamelCase, por ejemplo, la API acciónstartSyncExecution
, se especifican parámetros en PascalCase, como:StateMachineArn
.
Soportado CodeBuild APIs
-
-
Parámetros admitidos:
-
-
Parámetros admitidos:
-
-
Parámetros admitidos:
-
-
Parámetros admitidos:
-
-
Parámetros admitidos:
-
-
Parámetros admitidos:
-
-
Parámetros admitidos:
-
-
Parámetros admitidos:
nota
Puede usar el operador de descenso recursivo de JSONPath
(..
) para BatchDeleteBuilds
. Con la matriz devuelta, puedes transformar el campo Arn
desde StartBuild
en un parámetro plural Ids
, según se muestra en el siguiente ejemplo.
"BatchDeleteBuilds": {
"Type": "Task",
"Resource": "arn:aws:states:::codebuild:batchDeleteBuilds",
"Parameters": {
"Ids.$": "$.Build..
Arn"
},
"Next": "MyNextState"
},
IAMpolíticas de llamadas AWS CodeBuild
Las siguientes plantillas de ejemplo muestran cómo se AWS Step Functions generan IAM políticas en función de los recursos de la definición de su máquina de estados. Para obtener más información, consulte Cómo Step Functions genera políticas de IAM para servicios integrados y Descubrimiento de los patrones de integración de servicios en Step Functions.
Recursos:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"sns:Publish"
],
"Resource": [
"arn:aws:sns:sa-east-1:123456789012:StepFunctionsSample-CodeBuildExecution1111-2222-3333-wJalrXUtnFEMI-SNSTopic-bPxRfiCYEXAMPLEKEY"
],
"Effect": "Allow"
},
{
"Action": [
"codebuild:StartBuild",
"codebuild:StopBuild",
"codebuild:BatchGetBuilds",
"codebuild:BatchGetReports"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"events:PutTargets",
"events:PutRule",
"events:DescribeRule"
],
"Resource": [
"arn:aws:events:sa-east-1:123456789012:rule/StepFunctionsGetEventForCodeBuildStartBuildRule"
],
"Effect": "Allow"
}
]
}
StartBuild
Recursos estáticos
Recursos dinámicos
StopBuild
Recursos estáticos
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:StopBuild"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/[[projectName]]
"
]
}
]
}
Recursos dinámicos
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:StopBuild"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:*:project/*"
]
}
]
}
BatchDeleteBuilds
Recursos estáticos
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:BatchDeleteBuilds"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/[[projectName]]
"
]
}
]
}
Recursos dinámicos
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:BatchDeleteBuilds"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:*:project/*"
]
}
]
}
BatchGetReports
Recursos estáticos
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:BatchGetReports"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:report-group/[[reportName]]
"
]
}
]
}
Recursos dinámicos
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:BatchGetReports"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:*:report-group/*"
]
}
]
}
StartBuildBatch
Recursos estáticos
Recursos dinámicos
StopBuildBatch
Recursos estáticos
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:StopBuildBatch"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/[[projectName]]
"
]
}
]
}
Recursos dinámicos
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:StopBuildBatch"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/*"
]
}
]
}
RetryBuildBatch
Recursos estáticos
Recursos dinámicos
DeleteBuildBatch
Recursos estáticos
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:DeleteBuildBatch"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/[[projectName]]
"
]
}
]
}
Recursos dinámicos
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:DeleteBuildBatch"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/*"
]
}
]
}