Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

555
Vistas
¿Sintaxis correcta para actualizar la política de recursos de AWS API Gateway a través de la CLI?

Estoy intentando actualizar una política de recursos en mi instancia de API Gateway a través de la CLI y parece que no puedo encontrar la sintaxis correcta para el JSON. En la documentación dice usar "operaciones de parches" y, por lo que entiendo, necesita una cadena de JSON para la política. Probé JSON minimizado, JSON escapado, comillas simples, sin comillas, y nada parece funcionar. La documentación no tiene un ejemplo de JSON real en el campo de valor para las operaciones de parche, por lo que me siento un poco perdido.

He estado probando variaciones de este comando:

aws apigateway update-rest-api --rest-api-id abcde123 --patch-operations op=replace,path=/policy,value='{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":"*","Action":"execute-api:Invoke","Resource":"arn:aws:execute-api:region:000000000000:*"},{"Effect":"Deny","Principal":"*","Action":"execute-api:Invoke","Resource":"arn:aws:execute-api:region:000000000000:*","Condition":{"StringNotEquals":{"aws:SourceVpce":["vpce-123456789","vpce-987654321"]}}}]}'

Me sale un error cada vez que dice:

Error parsing parameter '--patch-operations': Expected: '=', received: '{' for input:

Documentación pertinente aquí .

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

El siguiente comando ha sido probado en mi entorno - (usando bash)

 aws apigateway update-rest-api --rest-api-id %REST_API_ID% --patch-operations op=replace,path=/policy,value='"{\"Version \":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"execute-api:Invoke\",\"Resource \":\"arn:aws:execute-api:region:000000000000:*\"},{\"Effect\":\"Deny\",\"Principal\":\"*\",\"Action\":\"execute-api:Inv oke\",\"Resource\":\"arn:aws:execute-api:region:000000000000:*\",\"Condition\":{\"StringNotEquals\":{\"aws:SourceVpce\" :[\"vpce-123456789\",\"vpce-987654321\"]}}}]}"' --region %REGION%

ingrese la descripción de la imagen aquí

La clave es convertir el objeto JSON en texto en cadena, he usado este sitio . Básicamente, pegue su JSON en el cuadro de texto de entrada y copie el texto en cadena en el comando AWS CLI.

Más información aquí .

over 4 years ago · Santiago Trujillo Denunciar

0

Aquí hay una respuesta para una situación en la que tiene una política en un archivo , por ejemplo, policy.json :

 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:region:000000000000:*" }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:region:000000000000:*", "Condition": { "StringNotEquals": { "aws:SourceVpce": [ "vpce-123456789", "vpce-987654321" ] } } } ] }

Luego, usando jq , puedes encadenarlo :

 aws apigateway update-rest-api \ --rest-api-id <api-id> \ --patch-operations op=replace,path=/policy,value=$(jq tostring policy.json)
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda