小编Saq*_*Ali的帖子

如何在 AWS Cloudformation 模板文件中获取用户名?

我在 Cloudformation 模板文件中定义了资源,标签定义如下:

  "Properties": {
    "Tags": [
      { "Key": "Environment", "Value": {"Ref": "Environment"}},
      { "Key": "Hello", "Value": "World"}
    ]
  }
Run Code Online (Sandbox Code Playgroud)

我的 IAM 用户名是my.name. 我想添加一个名为属性的键Creator,其Tags值为我的用户名 ( my.name)。此外,我需要此值来反映运行此 Cloudformation 模板的用户的用户名。我该怎么做?

amazon-web-services aws-cloudformation

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

如何在Javascript中获取浏览器的时区字符串?

我想在我的网页上显示用户 Timezone的全名。例如:

Eastern Standard Time (North America)
Pacific Daylight Time (North America)
West Africa Time
Run Code Online (Sandbox Code Playgroud)

我怎样才能在 Javascript 中做到这一点?我见过呈现如下内容的解决方案:America/New_York. 但这并不是我真正要寻找的。

javascript timezone

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

如何摆脱此警告以从 pip 升级?

每当我使用 pip 时,它都会警告我我的 pip 已过期,我需要通过执行pip install --upgrade pip.

但当我这样做时,它似乎没有任何效果,只是告诉我同样的事情。是圆形的!

我怎样才能解决这个问题?见下文

$ pip install --upgrade pip
You are using pip version 6.0.8, however version 8.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Requirement already up-to-date: pip in my-virtualenv/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)

编辑:我正在运行 Red Hat Enterprise Linux(在 AWS 上)。所以我只是尝试卸载并重新安装 python-pip。当我这样做时,它告诉我它将安装 pip 6.1.1.-1.21.amzn1。我怎样才能让它安装新版本?

python pip virtualenv

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

为什么要限制SQLAlchemy中的DB连接池大小?

这是我之前发布的有关SQLAlchemy中数据库连接池错误的问题的后续跟进.

根据SQLAlchemy 文档,sqlalchemy.pool.QueuePool.__init__()方法采用以下参数:

pool_size - 要维护的池的大小,默认为5.这是将在池中持久保留的最大连接数.请注意,池开始时没有连接; 一旦请求此连接数,将保留该连接数.pool_size可以设置为0表示没有大小限制; 要禁用池,请改用NullPool.

设置pool_size = 0有什么缺点?限制连接池大小有什么好处?它只是为了节省内存吗?如果大量未使用的连接打开,数据库应该不在乎,对吧?

python database sqlalchemy

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

为什么gunicorn 工作人员的工作分配不均匀?

我正在运行我的大型、面向公众的 Web 应用程序。它是一个 python HTTP 后端服务器,每分钟响应数千个 HTTP 请求。它是用 Flask 和 SQLAlchemy 编写的。该应用程序在 AWS 的 EC2 上运行。实例类型为c3.2xlarge(具有 8 个 CPU)。

我使用 Gunicorn 作为我的网络服务器。Gunicorn 有 17 个工作进程和 1 个主进程。下面你可以看到 17 个 Gunicorn 工人:

$ sudo ps -aefF | grep gunicorn | grep worker | wc -l
17

$ sudo ps -aefF --sort -rss | grep gunicorn | grep worker
UID       PID  PPID  C      SZ     RSS PSR STIME TTY     TIME                           CMD
my-user 15708 26468  6 1000306 3648504   1 Oct06   ? 08:46:19 …
Run Code Online (Sandbox Code Playgroud)

scheduling round-robin gunicorn

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

您可以在数据库迁移文件的列之间复制/移动数据吗?

我有一个 SqlAlchemy/Flask 应用程序。其中,我有一个名为 的现有模型MyModelA。它看起来是这样的:

class MyModelA(db.Model):
    a_id   = db.Column(db.Integer, nullable=False, primary_key=True)
    my_field1 = db.Column(db.String(1024), nullable=True)
Run Code Online (Sandbox Code Playgroud)

现在,我正在添加一个子模型MyModelB。它看起来是这样的:

class MyModelB(db.Model):
    b_id   = db.Column(db.Integer, nullable=False, primary_key=True)
    a_id = db.Column(db.Integer, db.ForeignKey(MyModelA.a_id), nullable=False)
    my_field2 = db.Column(db.String(1024), nullable=True)
Run Code Online (Sandbox Code Playgroud)

然后我就跑python manage.py migrate。这是迁移文件中显示的内容:

def upgrade():
    op.create_table('my_model_b',
    sa.Column('b_id', sa.Integer(), nullable=False),
    sa.Column('a_id', sa.Integer(), nullable=False),
    sa.Column('my_field2', sa.String(length=1024), nullable=True),
    sa.ForeignKeyConstraint(['a_id'], [u'my_model_a.a_id'], ),
    sa.PrimaryKeyConstraint('b_id')
    )

def downgrade():
    op.drop_table('my_table_b')
Run Code Online (Sandbox Code Playgroud)

我想编辑此迁移,以便为 的每个实例创建MyModelA实例的子记录MyModelB并将其MyModelB.my_field2设置为MyModelA.my_field1。我该怎么做?

请出示升级和降级的代码。

python sqlalchemy database-migration flask-sqlalchemy flask-migrate

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

如何将本地文件中的值读入 Docker-compose 环境变量?

我正在尝试~/.aws/credentials通过在我的docker-compose.yml文件中设置环境变量将我的 AWS 凭证从我的本地文件注入到 Docker 容器中。

但我不知道如何将本地文件中的凭据读取到 docker-compose 文件中。我该怎么做??

这是我的 AWS 凭证文件的样子:

$ cat ~/.aws/credentials
[default]
aws_access_key_id = AK_FAKE_KEY_88RD3PNY
aws_secret_access_key = BividQsWW_FAKE_KEY_MuB5VAAsQNJtSxQQyDY2C
Run Code Online (Sandbox Code Playgroud)

这是我的 Docker 撰写文件的相关部分的样子:

  my_service:
    build: .
    image: my_image
    environment:
         - AWS_ACCESS_KEY_ID=<What should I put here?>
         - AWS_SECRET_ACCESS_KEY=<What should I put here?>
Run Code Online (Sandbox Code Playgroud)

environment-variables amazon-web-services docker-compose

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

如何从命令行设置MySQL会话wait_timeout?

正如您从下面的输出中看到的,我使用 MySQL shell 将会话的wait_timeout变量更改为 30 秒。有用。

但是,是否可以从命令行设置此变量?

$ mysql -u root -h 127.0.0.1 -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 48543
Server version: 5.6.39 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type …
Run Code Online (Sandbox Code Playgroud)

mysql command-line-arguments

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

如何将这个复杂的SQL转换为Django模型查询?

我正在编写一个Python/Django应用程序来进行一些库存分析.

我有两个非常简单的模型,如下所示:

class Stock(models.Model):
    symbol = models.CharField(db_index=True, max_length=5, null=False, editable=False, unique=True)

class StockHistory(models.Model):
    stock = models.ForeignKey(Stock, related_name='StockHistory_stock', editable=False)
    trading_date = models.DateField(db_index=True, null=False, editable=False)
    close = models.DecimalField(max_digits=12, db_index=True, decimal_places=5, null=False, editable=False)

    class Meta:
        unique_together = ('stock', 'trading_date')
Run Code Online (Sandbox Code Playgroud)

这是我填充的虚拟数据:

import datetime
a = Stock.objects.create(symbol='A')
b = Stock.objects.create(symbol='B')
c = Stock.objects.create(symbol='C')
d = Stock.objects.create(symbol='D')

StockHistory.objects.create(trading_date=datetime.date(2018,1,1), close=200, stock=a)
StockHistory.objects.create(trading_date=datetime.date(2018,1,2), close=150, stock=a)
StockHistory.objects.create(trading_date=datetime.date(2018,1,3), close=120, stock=a)
StockHistory.objects.create(trading_date=datetime.date(2018,4,28), close=105, stock=a)
StockHistory.objects.create(trading_date=datetime.date(2018,5,3), close=105, stock=a)

StockHistory.objects.create(trading_date=datetime.date(2017,5,2), close=400, stock=b)
StockHistory.objects.create(trading_date=datetime.date(2017,11,11), close=200, stock=b)
StockHistory.objects.create(trading_date=datetime.date(2017,11,12), close=300, stock=b)
StockHistory.objects.create(trading_date=datetime.date(2017,11,13), close=400, stock=b)
StockHistory.objects.create(trading_date=datetime.date(2017,11,14), close=500, …
Run Code Online (Sandbox Code Playgroud)

python mysql django

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

如果我知道名称,如何获取 AWS 安全组的 ID?

我正在使用 AWS CLI 并且我想获取我知道其名称的安全组的 ID ( kingkajou_sg)。我该怎么做?

当我要求它列出所有安全组时,它很高兴:

$ aws ec2 describe-security-groups | wc -l
     430
Run Code Online (Sandbox Code Playgroud)

当我通过这些信息 grep 时,我看到有问题的 SG 被列出:

$ aws ec2 describe-security-groups | grep -i kingkajou_sg
            "GroupName": "kingkajou_sg",
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试仅获取有关该安全组的信息时,它不会让我知道。为什么?

$ aws ec2 describe-security-groups --group-names kingkajou_sg

An error occurred (InvalidGroup.NotFound) when calling the 
DescribeSecurityGroups operation: The security group 'kingkajou_sg' does not exist in default VPC 'vpc-XXXXXXXX'
Run Code Online (Sandbox Code Playgroud)

有人可以提供我可以用来提取安全组 ID 的单行命令吗?您可以假设该命令将从与安全组位于同一 VPC 中的 EC2 内运行。

amazon-ec2 aws-cli aws-security-group

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