小编Mar*_*cin的帖子

Zend Framework:如何从HeadLink助手中取消设置一个样式表

我在Controller init()中有一个常见样式列表:

$this->view->headLink()->setStylesheet('/style/style.css');
$this->view->headLink()->appendStylesheet('/style/style2.css');
$this->view->headLink()->appendStylesheet('/style/style3.css');
$this->view->headLink()->appendStylesheet('/style/forms.css');
$this->view->headLink()->appendStylesheet('/style/ie_patches.css','all','lte IE 7');
Run Code Online (Sandbox Code Playgroud)

我需要的是稍后在该控制器的一个动作中从堆栈中删除其中一个样式表的方法.

感谢您的帮助,请原谅我的英语

php zend-framework stylesheet viewhelper

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

Python:双重排序

是否有一种快速简便的方法来对包含两个项目的元组列表进行排序?(我要排序的元组的简短列表:

[('this', 4), ('in', 4), ('dedicated', 4), ('who', 3), ('us', 3), ('they', 3), ('so', 3), ('shall', 3), ('people', 3), ('is', 3), ('great', 3), ('dead', 3), ('are', 3), ('It', 3), ('which', 2), ('what', 2)]
Run Code Online (Sandbox Code Playgroud)

我试图首先按频率(最大的第一个)排序它们,所以数字,然后按字母顺序排序.

这是我到目前为止:

word_list.sort(key=itemgetter(1,0), reverse = True)
Run Code Online (Sandbox Code Playgroud)

这按频率按降序对列表进行排序.

python sorting

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

CloudFormation 为现有 s3 存储桶添加触发器

我的目标是将每个图像上传到存储桶时调用的 lambda 代码打包到 CloudFormation 模板中。到目前为止,我已经实现了创建新资源并从头开始触发,但我需要向现有存储桶添加触发器并在两种情况下出现错误:

  1. 当我将 lambda 的创建和触发器配置放入一个模板中并尝试将堆栈创建为新资源时 - 它表示存储桶已存在
  2. 当我将触发器移至新文件时 - 首先创建新资源(如 1. 所示),然后将现有资源导入堆栈 - 我得到:

创建此更改集时出错

您已修改模板中未导入的资源 [ScaleImages、ScaleImagesRole]。导入操作期间无法执行更新、创建或删除操作。

我的模板如下所示:

  • lambda 创建 - 新的 lambda 和角色 - 使用新资源创建堆栈
    {
      "AWSTemplateFormatVersion": "2010-09-09",
      "Resources": {
        "ScaleImages": {
          "Type": "AWS::Lambda::Function",
          "DeletionPolicy": "Retain",
          "Properties": {
            "FunctionName": "ScaleImages",
            "Handler": "index.handler",
            "Role": {
              "Fn::GetAtt": [
                "ScaleImagesRole",
                "Arn"
              ]
            },
            "Code": {
              "S3Bucket": "example-test",
              "S3Key": "example-resize.zip"
            },
            "Runtime": "nodejs12.x",
            "MemorySize": 1024,
            "Timeout": 300
          }
        },
        "ScaleImagesRole": {
          "Type": "AWS::IAM::Role",
          "DeletionPolicy": "Retain",
          "Properties": {
            "RoleName": "ScaleImagesRole",
            "AssumeRolePolicyDocument": …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services aws-cloudformation aws-lambda

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

如何使提供程序假设_角色块有条件

我有一个provider块,我想为其提供assume_role属性,但前提是它没有在我的本地计算机上运行。

islocal我在所有环境文件中定义了一个变量.tfvars,只有本地文件的值为true.

这是provider块:

provider "aws" {
    region = var.region1
    profile = var.islocal == true ? "default" : null # ONLY USED LOCALLY
    
    assume_role {       # NOT TO BE USED LOCALLY
        role_arn = var.terraform_execution_role
    }
}
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 如果我将该role_arn属性设置为null是否会使该assume_role块无效?(即:与不存在相同)
  2. 如果该assume_role块确实有影响,即使值为role_arnnull我怎样才能在为 时完全删除var.islocaltrue

我考虑过动态块,但我不确定如何构建它。

amazon-web-services conditional-statements terraform terraform-provider-azure

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

Terraform:如何修改由模块“vpc”创建的公共子网的路由表?

我用的是vpc模块通过以下代码创建我的 VPC:

\n
module "vpc" {\n  source = "terraform-aws-modules/vpc/aws"\n  name = "${var.namespace}-vpc"\n  cidr = "10.0.0.0/16"\n  azs = data.aws_availability_zones.available.names\n  private_subnets = ["10.0.1.0/24", "10.0.2.0/24"]\n  public_subnets = ["10.0.101.0/24", "10.0.102.0/24"]\n  #assign_generated_ipv6_cidr_block = true\n  create_database_subnet_group     = true\n  enable_nat_gateway               = true\n  single_nat_gateway               = true\n  enable_dns_hostnames = true\n  enable_dns_support   = true\n}\n
Run Code Online (Sandbox Code Playgroud)\n

该模块自动创建两个公共子网,其中有一个指向互联网网关的路由表。但是,我想修改两个公共子网之一,以拥有指向我创建的防火墙的不同路由表。

\n

我所做的是创建一个新的路由表pub_to_firewall,然后创建一个新的aws_route_table_association路由表以将公共子网与新的路由表关联起来。

\n
resource "aws_route_table_association" "sn_to_fw_rt_association" {\n  subnet_id      = module.vpc.public_subnets[0]\n  route_table_id = aws_route_table.pub_to_firewall.id\n  depends_on = [\n    aws_route_table.pub_to_firewall,\n  ]\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我已经能够按照说明将原始关联导入到这个新关联,并terraform apply让公共子网拥有包含防火墙引用的新路由表。

\n

然而,当我terraform apply再次运行时,terraform …

amazon-web-services amazon-vpc terraform terraform-provider-aws

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

Zend_Auth并在UI上动态更改用户详细信息

当我的用户登录时,我在UI上显示他们的详细信息(姓名,电子邮件).当他们更新他们的个人资料时,我想显示更新的详细信息,而无需用户注销并重新登录.

通过视图助手从Zend_Auth检索UI详细信息.Zend_Auth在会话中存储"身份"细节.

我该如何更新会话中的详细信息?:

  • 我正在考虑从数据库中检索用户的登录凭据,并使用它们再次调用Zend_Auth-> authenticate().问题是我不知道密码,只有它是md5哈希.我可以考虑一个新的方法,reauthenticate(),它配置适配器绕过md5和salt,但这听起来很费力.

  • 我正在考虑直接写入Zend_Auth会话命名空间,但这听起来像是一个麻烦的方法?

你遇到过类似的问题吗?你是怎么处理的呢?

非常感谢您的想法!

php zend-framework

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

从文件执行db语句

我使用嵌入式Apache derby作为我的应用程序.我有一个名为createdb.sql的SQL脚本,它创建数据库中的所有表并用初始数据填充它,例如:

SET SCHEMA APP;


CREATE TABLE study (
    study_id    bigint  not null GENERATED ALWAYS AS IDENTITY  (START WITH 1, INCREMENT BY 1),
    name        varchar(50) not null,
    note         varchar(1000) DEFAULT '',      
    created TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    deleted boolean DEFAULT false,
    UNIQUE(name),
    CONSTRAINT primary_key PRIMARY KEY (study_id)

);

INSERT INTO "APP"."STUDY" (NAME) VALUES ('default');



CREATE TABLE img (
    img_id bigint not null GENERATED ALWAYS AS IDENTITY  (START WITH 1, INCREMENT BY 1),
    filename varchar(200) not null,
    path        varchar(300) not null, …
Run Code Online (Sandbox Code Playgroud)

java sql database derby javadb

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

IAM 用户仅对一个特定日志组进行 Cloud Watch 日志访问

我最初尝试使用以下链接中的所有 json 策略。 https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-identity-based-access-control-cwl.html#customer-management-policies-cwl

我终于找到了一种解决方案,通过使用下面的 JSON 策略为 IAM 用户提供对一个特定日志组的“列表、读取、写入”访问权限。但它也可以看到其他日志组的列表。根据下面的 JSON 政策,我也厌倦了限制列出的资源。它不起作用。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "logs:GetLogRecord",
                "logs:DescribeLogGroups"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "logs:Describe*",
                "logs:FilterLogEvents",
                "logs:GetLogEvents"
            ],
            "Resource": "arn:aws:logs:us-east-1:XXXXXXXXXXXX:log-group:/aws/lambda/XXXX:log-stream:*"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

但后来我找到了标记作为解决方案,并尝试使用相同的标记标记日志组和用户,并尝试了以下 JSON 策略。那也没用。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "logs:*"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "logs:ResourceTag/Team": "Green"
                }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

请有人建议一种方法,让我可以向一个特定的 IAM 用户授予仅一个组的访问权限,即列出和读取或列出、读取和写入。但该用户不应该能够看到其他日志组。

amazon-web-services amazon-iam amazon-cloudwatch amazon-cloudwatchlogs

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

如何在某些后缀的s3中从一个桶复制到另一个桶

我有 3 个桶1.commonfolder 2.jsonfolder 3.csvfolder

  • 通用文件夹将同时包含 json 和 csv 文件

  • 需要将所有 csv 文件复制到 csvfolder

  • 需要将所有json文件复制到json文件夹

代码如下,用于从之后commonfolder如何复制中获取所有文件

import boto3

s3 = boto3.client('s3')
def lambda_handler(event, context):
    #List all the bucket names
    response = s3.list_buckets()
    for bucket in response['Buckets']:
        print (bucket)
        print(f'{bucket["Name"]}')
        #Get the files of particular bucket
        if bucket["Name"] == 'tests3json':
         
            resp = s3.list_objects_v2(Bucket='commonfolder')
            for obj in resp['Contents']:
                files = obj['Key']
                print(files)

            if(filename.split('.')[1].lower()=='json'):
                copyjson(bucket,filename)
                #copyjson(jsonfolder,filename)
            elif(filename.split('.')[1].lower()=='csv'):
                copycsv(bucket, filename)
                #copycsv(csvfolder,filename)
Run Code Online (Sandbox Code Playgroud)
  • 需要创建一个新函数 copyjson,copycsv 来完成这项工作

  • 需要根据文件扩展名从 common-bucket 复制到 csv-bucket 或 json-bucket

python amazon-s3 amazon-web-services aws-lambda

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

通过 cloudformation 对 AWS Lambda 的容器映像支持

AWS Lambda 现在支持容器映像作为打包格式。参考号

cloudformation是否支持使用容器镜像部署AWS Lambda?

类似于通过 S3 Ref进行打包和部署支持

amazon-web-services aws-cloudformation aws-lambda

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