小编Mar*_*cin的帖子

使用zend框架将params重定向到外部URL

我想使用zend.is将用户重定向到带有一些参数的外部支付门,有没有标准的方法呢?

非常感谢任何建议和意见.

谢谢.

php redirect zend-framework

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

使用 Terraform 创建时,ECS Fargate 任务无法进行运行状况检查

我创建了一个 ECS 集群以及一个负载均衡器,以使用 Terraform 在 Fargate 上公开一个 basc hello-world 节点应用程序。Terraform 成功地创建了我的 aws 资源,并在 ECS Fargate 上部署了正确的映像,但该任务从未通过初始运行状况检查并无限期地重新启动。我认为这是一个端口转发问题,但我相信我的Dockerfile负载均衡器和任务定义都公开了正确的端口。

以下是我在 ECS 仪表板上查看服务的“事件”选项卡时看到的错误:

service my-first-service (port 2021) is unhealthy in target-group target-group due to (reason Request timed out).
Run Code Online (Sandbox Code Playgroud)

以下是我用于部署到 Fargate 的应用程序代码、Dockerfile 和 Terraform 文件:

index.js

service my-first-service (port 2021) is unhealthy in target-group target-group due to (reason Request timed out).
Run Code Online (Sandbox Code Playgroud)

Dockerfile

const express = require('express')
const app = express()
const port = 2021

app.get('/', (req, res) => res.send('Hello World!'))

app.listen(port, () => …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services node.js docker terraform aws-fargate

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

如何将 Terraform 对象放入 AWS Lambda 环境

Lambda 函数支持environment参数并可以轻松定义键值对。但是如何将一个对象(例如由模块变量定义)放入函数的环境中呢?

我想在 python 3.7 中完成的快速示例:

地形:

# variable definition

variable foo {
  type = map(any)
  default = {
    a = "b"
    c = "d"
  }
}


resource "aws_lambda_function" "lambda" {
  .
  .
  .
  environment {
    foo = jsonencode(foo)
  }
}
Run Code Online (Sandbox Code Playgroud)

然后在我的函数中:

def bar:
  for k in os.environ["foo"]:
     print(k)
Run Code Online (Sandbox Code Playgroud)

谢谢 !

python environment-variables amazon-web-services aws-lambda terraform

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

Zend,如何从Action Helper中访问当前路由

在Zend Framework中,我有一个Action Helper,可以在大多数页面上加载登录表单.这发生在Helper的preDispatch()方法中,我想在表单上设置setAction(),以便它回发到当前URL.

从Action Helper中访问当前URL /路由的最佳方法是什么?访问请求(通过Action Controller),然后获取getActionName()和getControllerName(),并将它们与baseURL()连接起来?

有更简单的方法吗?(设置操作需要URI字符串作为参数).

谢谢!

php zend-framework

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

AttributeError: 部分初始化的模块 'boto3' 没有属性 'resource'(很可能是由于循环导入)

我使用 Pycharm 并安装了 boto3 包并尝试导入 boto3 并出现属性错误。Python.exe 文件路径在项目解释器中给出

import boto3

s3 = boto3.resource('s3')
Run Code Online (Sandbox Code Playgroud)

AttributeError: 部分初始化的模块 'boto3' 没有属性 'resource'(很可能是由于循环导入)

但是相同的代码在 Python shell 中工作

boto pycharm boto3

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

使用具有多个资源的 tag_secifications 设置启动模板

根据下面给出的文档示例,我看到实例类型的标签集。但是如果我希望将相同的标签应用于多个资源,那么我将如何设置它 https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_template

  tag_specifications {
    resource_type = "instance"

    tags = {
      Name = "test"
    }
  }
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

amazon-web-services terraform terraform-provider-aws

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

如何使用 terraform 将来自不同区域 (us-east1) 的 ACM 证书附加到另一个区域中的应用程序负载均衡器

我使用 terraform 在 ap-southeast-1 中设置了 AWS 基础设施,但是,我想使用 aws_alb_listener 资源将在 us-east1 中创建的 ACM 证书链接到我的负载均衡器。


resource "aws_alb_listener" "https" {
  load_balancer_arn = aws_lb.main.id
  port              = 443
  protocol          = "HTTPS"
  ssl_policy        = "ELBSecurityPolicy-2016-08"
  certificate_arn   = var.acm_certificate_arn
  depends_on        = [aws_alb_target_group.main]

  default_action {
    target_group_arn = aws_alb_target_group.main.arn
    type             = "forward"
  }
}
Run Code Online (Sandbox Code Playgroud)

当我应用 terraform 时,它会引发错误。

是否可以使用 terraform 将 ACM 证书附加到来自不同区域的 alb?

我的用例是该证书还将在 AWS CloudFront 中用作 CDN。

amazon-web-services terraform terraform-provider-aws aws-acm

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

仅返回实例 ID,在 Lambda 中使用描述实例

我正在 lambda 函数中运行以下脚本来使用标签描述 ec2 实例。但作为响应,我只需要实例 ID,而它会返回大量信息。请指导或以任何其他方式使用标签查找 ec2 insatnce id。谢谢

代码是:

import boto3
import json
from collections import defaultdict

region = 'us-east-1'

def lambda_handler(event, context):
    
    
    client = boto3.client('ec2')

    running_instances = client.describe_instances(
      Filters=[
        {
            'Name': 'tag:orgid',
            'Values': [
                'demoxx',
            ]
        },
    ],
    )

    return json.loads(json.dumps(running_instances, default=str))   
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 amazon-web-services boto3 aws-lambda

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

为什么我的事件桥规则不执行我的 Lambda 函数?

我正在尝试创建一个事件桥规则,该规则将每 30 分钟运行一次 Lambda 函数。我的代码基于我在 SO Use terraform to set up a lambda functiontriggered by a Scheduled event source上找到的答案

这是我的地形代码:

监控/main.tf:

...

module "cloudwatch_event_rule" {
  source = "./cloudwatch_event_rule"
  extra_tags = local.extra_tags
}

module "lambda_function" {
  source = "./lambda_functions"
  extra_tags = local.extra_tags
  alb_names = var.alb_names
  slack_webhook_url = var.slack_webhook_url
  environment_tag = local.environment_tag
}

module "cloudwatch_event_target" {
  source = "./cloudwatch_event_target"
  lambda_function_arn = module.lambda_function.detect_bad_rejects_on_alb_lambda_arn
  cloudwatch_event_rule_name = module.cloudwatch_event_rule.cloudwatch_event_rule_name
  extra_tags = local.extra_tags
}
Run Code Online (Sandbox Code Playgroud)

监控/lambda_functions/main.tf:

resource "aws_lambda_function" "detect_bad_rejects_on_alb" {
  filename         = var.filename
  function_name    = var.function_name
  role             = …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-lambda terraform aws-event-bridge

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

允许 lambda 权限访问 Secretsmanager 值

我正在使用 Terraform 部署需要在 AWS SecretsManager 中保存机密的 lambda。

我有以下缩写的 lambda:

拉姆达


resource "aws_lambda_function" "thisThing" {
  function_name = "functionName"
  runtime = "python3.8"
  handler = "thisThing.handler"

  role = aws_iam_role.lambda_exec.arn
}

resource "aws_iam_role" "lambda_exec" {
  name = "serverless_lambda"

  assume_role_policy = jsonencode({
    Version = "2012-10-17"
    Statement = [{
      Action = "sts:AssumeRole"
      Effect = "Allow"
      Sid    = ""
      Principal = {
        Service = "lambda.amazonaws.com"
      }
      }
    ]
  })
}

resource "aws_iam_role_policy_attachment" "lambda_policy" {
  role       = aws_iam_role.lambda_exec.name
  policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
}
Run Code Online (Sandbox Code Playgroud)

这是秘密

秘密

# Secrets

resource "aws_secretsmanager_secret" …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-lambda terraform terraform-provider-aws

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