小编use*_*660的帖子

为 CloudFront 日志启用 S3 ACL 访问

我尝试做的是通过AWS控制台为CloudFront发行版启用标准日志记录,如下图所示:

AWS 控制台

我设置了以下 S3 存储桶策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::931426637260:user/relu"
            },
            "Action": [
                "s3:GetBucketAcl",
                "s3:PutBucketAcl"
            ],
            "Resource": "arn:aws:s3:::[...]"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

“阻止所有公共访问”已关闭。

不过,我不断收到此错误:

您为 CloudFront 日志指定的 S3 存储桶未启用 ACL 访问:[...].s3.amazonaws.com

即使我尝试以 root 用户身份启用日志记录,也会收到此错误。

有人知道可能出了什么问题吗?

amazon-s3 amazon-web-services amazon-cloudfront

21
推荐指数
2
解决办法
2万
查看次数

如何在Symfony 4中处理资产

我正在构建一个应用程序,Symfony 4我想遵循Web资产最佳实践.我使用Encore/Webpack for SCSS和JS,它运行良好; 生成的JS + CSS很好地存储在/ public/build文件夹中.我坚持如何存储和使用静态资产,如图像,电影,声音.

图像应该存储在"公共/图像"文件夹还是"资产/图像"中?

还有一些后续问题:

如果存储图像public/images,如果我通过asset('...')电话污染模板,我会获得任何好处吗?

如果图像存储在assets/images,则:

  • 他们是如何public/images通过http服务的?./bin/console assets:install什么也没做,说:'[OK]没有资产是由任何捆绑提供的..
  • 我如何在SCSS中使用它们?通过相对路径?

问候,

assets symfony webpack-encore

15
推荐指数
2
解决办法
1万
查看次数

在DEV中,Symfony 4非常缓慢

我尝试在docker容器上运行一个简单的Symfony 4项目.我已经测试了常规PHP脚本,并且它们运行良好.但是,使用Symfony项目,执行变得非常缓慢.例如,没有任何重要内容的页面需要5-6秒.

我附上了Symfony的性能分析器的截图.

Screenshot1 Screenshot2 Screenshot3 Screenshot4

您是否知道如何将执行时间缩短到可接受的水平?

php symfony docker symfony4

10
推荐指数
3
解决办法
4382
查看次数

有没有办法将EntityManager注入服务

在使用时Symfony 3.3,我宣布这样的服务:

class TheService implements ContainerAwareInterface
{
    use ContainerAwareTrait;
    ...
}
Run Code Online (Sandbox Code Playgroud)

在我需要EntityManager的每个动作中,我从容器中获取它:

$em = $this->container->get('doctrine.orm.entity_manager');
Run Code Online (Sandbox Code Playgroud)

这有点烦人,所以我很好奇Symfony是否有类似的东西EntityManagerAwareInterface.

symfony symfony-3.3

6
推荐指数
1
解决办法
1万
查看次数

如何获得泛型中“枚举”的值?

如何获得泛型中“枚举”的值?

public class Sorter<T extends Enum<?>> {
    public Sorter() {
        T[] result = T.values(); // <- Compilation error
    }
}
Run Code Online (Sandbox Code Playgroud)

另一方面,我可以查询Enum类的values():

enum TmpEnum { A, B }

public class Tmp {
    void func() {
        T[] result = TmpEnum.values(); // <- It works
    }
}
Run Code Online (Sandbox Code Playgroud)

java generics

6
推荐指数
1
解决办法
74
查看次数

在 Symfony 中反序列化日期时间

尝试在 Symfony 3.3 中使用序列化器组件。我与具有“DateTime”成员的实体斗争。

我的 config.yml 序列化程序初始化:

serializer:
    enable_annotations: true
Run Code Online (Sandbox Code Playgroud)

在 service.yml 中添加了这个:

datetime_method_normalizer:
    class: Symfony\Component\Serializer\Normalizer\DateTimeNormalizer
    public: false
    tags: [serializer.normalizer]
Run Code Online (Sandbox Code Playgroud)

反序列化后的代码如下所示:

$yml = [...]   // It was created by serializer->serialize()
$serializer = $this->get('serializer');
$myObject = $serializer->deserialize($yml, MyObject::class, "yaml");
Run Code Online (Sandbox Code Playgroud)

错误是: Expected argument of type "DateTime", "string" given在 vendor/symfony/symfony/src/Symfony/Component/Serializer/Normalizer/AbstractObjectNormalizer.php(第 204 行)

我认为 DateTimeNormalizer::denormalize 永远不会被调用。知道如何让它恢复生机吗?

信息:DateTimeNormalizer::__constructor() 被调用。

symfony deserialization symfony-3.3

5
推荐指数
1
解决办法
6742
查看次数

在 jboss/keycloak 上安装软件包

当本地运行jboss/keycloak容器时,我尝试添加更多软件。

到目前为止,我已经尝试过:

~# yum install jq
bash: yum: command not found

~# apt-get install jq
apt-get: command not found
Run Code Online (Sandbox Code Playgroud)

有人知道如何安装更多软件吗?

# uname -a
Linux 935559ef2e4c 4.19.76-linuxkit #1 SMP Tue May 26 11:42:35 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

更新#1

看起来这microdnf是我必须使用的,但我仍然收到错误:

root@276cdd5cc962 /]# microdnf update -y
(microdnf:1614): librhsm-WARNING **: 20:38:39.628: Found 0 entitlement certificates
(microdnf:1614): librhsm-WARNING **: 20:38:39.630: Found 0 entitlement certificates
(microdnf:1614): libdnf-WARNING **: 20:38:39.630: Loading "/etc/dnf/dnf.conf": IniParser: Can't open file
Downloading metadata...
Downloading metadata...
Downloading …
Run Code Online (Sandbox Code Playgroud)

docker keycloak

5
推荐指数
2
解决办法
4452
查看次数

如何使用 RabbitMQ 实现可靠性?

我的数据存储在许多存储库中,我们希望有一组任务(又名作业)来处理这些数据。每项工作都需要访问一两个数据存储库。大文件的任务预计最多运行 8 小时,小文件的运行时间预计为几毫秒。重要的是作业只执行一次并且不会被遗漏。

我们需要设置更多在容器中运行的代理,以便它们执行任务。在启动时,每个代理都被授予访问一组存储库的权限。每个代理应该只运行可以完成的作业。例如,将需要访问“R1”和“R2”存储库的作业分配给只能访问“R2”、“R3”、“R4”和“R5”的代理是没有意义的。

RabbitMQ 似乎是这个场景的一个很好的候选者。但我觉得它不可靠,原因如下:

  • 它可以两次传递相同的消息。
  • 它可能会崩溃,因此消息可能会丢失。
  • 一些代理可能会在稍后的时间点开始,工作可能会丢失。

我应该使用 Redis 来避免处理同一条消息两次吗?

为了获得出色的可靠性,我是否应该运行一个不时重新填充队列的进程?

“主题”交换是否是将消息仅定向到可以处理它们的代理的好解决方案?如果是这样,在相应的代理启动之前发送消息的情况如何处理?

当然,如果您认为其他技术比 AMQP 更适合这项工作,请随时推荐它们。

architecture amqp rabbitmq

4
推荐指数
1
解决办法
1672
查看次数

Doctrine加密列

使用Doctrine 2Symfony 3,是否有一种自动加密列的简单方法?

理想情况下,它应该像这样工作:

/**
 * @ORM\Column(name="secret", type="string")
 * @Encrypted
 */
private $secret;
Run Code Online (Sandbox Code Playgroud)

或者,是否有支持加密的官方(或非常受欢迎)捆绑包?

php encryption symfony doctrine-orm

2
推荐指数
2
解决办法
3722
查看次数

使用 Doctrine 长时间运行的 php 进程

我创建了一个Symfony 3预计会运行数天(甚至数周)的命令。它Doctrine 2用于读取一些初始数据和不时写入执行状态。SQL 预计需要几毫秒。

我担心的是,如果 MySQL 连接因不活动而关闭,整个过程最终会崩溃。

问题:Doctrine 是否在flush调用之间保持数据库连接打开?或者,是否每次flush调用都重新连接?

symfony doctrine-orm

1
推荐指数
1
解决办法
1296
查看次数

如何使用 AssertJ 测试列表是否已排序

给定

List<Integer> list = ...
Run Code Online (Sandbox Code Playgroud)

我想用 AssertJ 测试它是否已排序。就像是:

assertThat(list).isSorted()
Run Code Online (Sandbox Code Playgroud)

是否可以?

java assertj

1
推荐指数
1
解决办法
900
查看次数