Terraform Π²Π΅ΡΡΠΈΡ 0.10.7
ΠΡΠΌΠ±Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΌΠ΅Π½ΠΈΡ Alexa Smart Home. ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠΎΠ³ΠΎ ΡΡΠΈΠ³Π³Π΅ΡΠ° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
{
"Version": "2012-10-17",
"Id": "default",
"Statement": [
{
"Sid": "lc-f682ab7d-d077-43ee-b048-1bda8dfc856e",
"Effect": "Allow",
"Principal": {
"Service": "alexa-connectedhome.amazon.com"
},
"Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:eu-west-1:....",
"Condition": {
"StringEquals": {
"lambda:EventSourceToken": "amzn1.ask.skill.8d72..."
}
}
}
]
}
Π Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ΅ΡΡΡΡ aws_lambda_permission
Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΡΠΎΠ³ΠΎ Condition
Π² ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ.
Π― Π΄ΡΠΌΠ°Ρ, Π½Π°ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΎΡΠΌΡΡΠ»ΠΈΡΡ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ aws_lambda_permission
, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π²ΡΡ ΡΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Amazon Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ ΡΡΠΈΠ³Π³Π΅ΡΠ°, ΡΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΡΡΠΈΡΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΌ. Π’Π°ΠΊΠΆΠ΅ β1977). ΠΡΠ»ΠΎ Π±Ρ Ρ
ΠΎΡΠΎΡΠΎ ΠΈΠΌΠ΅ΡΡ Π°Π²Π°ΡΠΈΠΉΠ½ΡΠΉ Π»ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ Π²ΡΡΡΠ½ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
resource "aws_lambda_permission" "myfunction-trigger" {
policy = <<EOF
...
EOF
}
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΡΠΈΠ³Π³Π΅ΡΠ°, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ terraform Π½Π΅ Π·Π½Π°Π΅Ρ.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ event_source_token
Π±ΡΠ» ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ ΠΈ ΡΠΊΠΎΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΡΡΠ΅Π½ Ρ Π²Π΅ΡΡΠΈΠ΅ΠΉ 1.29.0 ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° AWS. ΠΠ»Ρ ΡΠ΅Ρ
, ΠΊΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΌΠ°ΠΊΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ΅ΡΡΡΡΠ° aws_lambda_permission
ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ
ΠΎΠΆ Π½Π° Π±Π°Π·ΠΎΠ²ΡΠΉ API, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Lambda: https://docs.aws.amazon.com/sdk-for-go/api/service/lambda / # AddPermissionInput
ΠΡΠΎ Π±ΡΠ»ΠΎ Π²ΡΠΏΡΡΠ΅Π½ΠΎ Π² Π²Π΅ΡΡΠΈΠΈ 1.29.0 ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° AWS . Π‘ΠΌ. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Terraform ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡΡ Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ.
Π― ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ Π²ΡΠΏΡΡΠΊ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ Π±ΡΠ» Π·Π°ΠΊΡΡΡ _30 Π΄Π½Π΅ΠΉ_ β³. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π½Π°ΡΠΈΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌ ΠΏΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° Π½ΠΈΡ .
ΠΡΠ»ΠΈ Π²Ρ ΡΡΠΈΡΠ°Π΅ΡΠ΅, ΡΡΠΎ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΊΡΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ, ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π² Π΅Π΅ Ρ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠΎ Π±ΡΠ»ΠΎ Π²ΡΠΏΡΡΠ΅Π½ΠΎ Π² Π²Π΅ΡΡΠΈΠΈ 1.29.0 ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΠ° AWS . Π‘ΠΌ. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Terraform ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡΡ Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ.