необходимо обновить ряд ресурсов (DynamoDbTables) с некоторыми тегами, которые я обнаружил, что, если я получаю arn таким образом (в цикле for)
T_ARN=$(aws dynamodb describe-table --table-name $TABLE --query=Table.TableArn)
, а затем я использую этоway
$(aws dynamodb tag-resource --resource-arn ${T_ARN} --tags Key=CentroDiCosto,Value=SomeValue)
Сбой вызова тега с
An error occurred (ValidationException) when calling the TagResource operation: Invalid TableArn: Invalid ResourceArn provided as input "arn:aws:dynamodb:eu-west-1:xxxxxxxx:table/yyyyyy"
После некоторой отладки я обнаружил, что для того, чтобы этот вызов работал, мне пришлось «очистить» значение arn, возвращенное из первого вызова,
# this doesn't work
...
T_ARN=$(aws dynamodb describe-table --table-name $TABLE --query=Table.TableArn)
...
$(aws dynamodb tag-resource --resource-arn ${T_ARN} --tags Key=CentroDiCosto,Value=SomeValue)
...
# this works
...
T_ARN=$(aws dynamodb describe-table --table-name $TABLE --query=Table.TableArn)
...
#here i strip away the extra "
U_ARN=$(echo $T_ARN|sed -e 's/"//g')
...
$(aws dynamodb tag-resource --resource-arn ${U_ARN} --tags Key=CentroDiCosto,Value=SomeValue)
Может кто-нибудь предложить более чистый и элегантный способ работы с этим королем проблем?