我正在使用 AWS CDK,每次我去创建一个新资源(CodePipeline、VPC 等)时,我都以相同的循环结束......
...再三,一而再再而三。然后与 I 相同cdk destroy,但对于 "foo:DeleteFoo"
是否有更有效的方法来确定策略执行特定 CDK 操作所需的权限?也许我可以参考文档中的某个地方?
谢谢
所以我有几个学说实体,一个订阅和一个订阅者.单个订户有许多订阅(manyToOne).我为两个实体编写了自定义规范化程序,但是一旦将规范化规范化为JSON,就很难让订阅服务器显示在订阅服务器中.
我能够让它工作的唯一方法是将"Subscriber"规范化器传递给"Subscription"规范器.看起来我应该能够使用SerializerAwareNormalizer Trait或类似的东西来让Symfony递归地规范化我的相关实体.
services:
acme.marketing.api.normalizer.subscription:
class: acme\MarketingBundle\Normalizer\SubscriptionNormalizer
arguments: ['@acme.marketing.api.normalizer.subscriber']
public: false
tags:
- { name: serializer.normalizer }
acme.marketing.api.normalizer.subscriber:
class: acme\MarketingBundle\Normalizer\SubscriberNormalizer
public: false
tags:
- { name: serializer.normalizer }
Run Code Online (Sandbox Code Playgroud)
和规范化器......
<?php
namespace acme\MarketingBundle\Normalizer;
use acme\MarketingBundle\Entity\Subscription;
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
class SubscriptionNormalizer implements NormalizerInterface
{
private $subscriberNormalizer;
public function __construct($subscriberNormalizer)
{
$this->subscriberNormalizer = $subscriberNormalizer;
}
public function normalize($subscription, $format = null, array $context = [])
{
/* @var $subscription Subscription */
$subscriber = $subscription->getSubscriber();
return [
"id" => $subscription->getId(),
"subscriber" => $this->subscriberNormalizer->normalize($subscriber, $format)
]; …Run Code Online (Sandbox Code Playgroud)