小编Jas*_*r33的帖子

如何使用AWS CLI同步两个amazon存储桶?

我正在使用AWS S3 CLI按照文档中指定的Amazon CLI S3 SYNC格式同步两个存储桶,如下所示:

aws s3 sync s3://source_bucket s3://target_bucket --exclude *.tmp
Run Code Online (Sandbox Code Playgroud)

错误我收到以下错误:

A region must be specified --region or specifying the region in a configuration file or as an environment variable. Alternately, an endpoint can be specified with --endpoint-url
Run Code Online (Sandbox Code Playgroud)

除了AWS CLI文档之外,我已经浏览了互联网,并且在S3 SYNC的上下文中没有找到对--region的引用.任何指导将不胜感激!

可能无关紧要,但我在MBPr上运行Mac OS X Mavericks 10.9.1(16GB RAM,512GB SSD,四核)

amazon-s3 amazon-web-services aws-cli

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

如何解锁或删除无意中被存储桶策略锁定的 AWS S3 存储桶?

我是 AWS 账户所有者,管理员(IAM 和 root 密码 - 不推荐我知道,但有一些依赖于 root pw 的遗留应用程序)。我最近添加了一个存储桶策略,该策略随后使存储桶锁定为我无法访问:

$ aws s3 rb s3://<my-bucket> --force
A client error (AccessDenied) occurred when calling the ListObjects operation:   Access Denied
Completed 1 part(s) with ... file(s) remaining
remove_bucket failed: s3://<my-bucket>/ A client error (AccessDenied) occurred when calling the DeleteBucket operation: Access Denied
Run Code Online (Sandbox Code Playgroud)

我已经尝试了 CLI 和 AWS S3 控制台,但只收到错误: Sorry! You do not have permissions to view this bucket.

这个桶完全是空的,这让我松了一口气,但我需要使用这个特殊的名字,但我无法用它做任何事情。

我希望我不是唯一经历过这种困境的人。

(PS - 我会发布我使用的 EXACT 存储桶策略,但我使用控制台创建了它,如果我怀疑输入了错误的某些部分,我将无法为您复制/粘贴它...)

亲切的问候,杰夫。

amazon-s3 amazon-web-services aws-cli

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

如何将python列表转换为简单的YAML?

我的列表非常小,我可以手动完成这些,但我正在寻找以编程方式执行此操作的正确方法.我有这个测试:

import yaml

a = ['item 1','item 2','item 3','item 4']
yaml.dump(a)
Run Code Online (Sandbox Code Playgroud)

给我这个:

'[item 1, item 2, item 3, item 4]\n'
Run Code Online (Sandbox Code Playgroud)

当我想要的是简单的YAML输出如下:

---
- item 1
- item 2
- item 3
- item 4
Run Code Online (Sandbox Code Playgroud)

这需要是一个dict结构,有价值,但不知何故没有钥匙?不太清楚如何继续这里.非常感谢任何指导!

python yaml

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

如何根据另一个表的结果触发或调用对一个表的INSERT函数?

我知道如何使用SQL Server或Sybase来执行此操作,但是使用Postgres 9.4似乎无法正确执行。我有一个功能可以正常使用:

CREATE OR REPLACE FUNCTION "public"."welcome"(u_id INT DEFAULT 1234) 
  RETURNS "void" 
  AS $$
  INSERT INTO my_table_1 (title,body,category,user_id,created_at)
  VALUES ('Welcome!', '<some text>','general',u_id,now())
  $$ LANGUAGE sql
Run Code Online (Sandbox Code Playgroud)

该函数在按以下方式调用时按预期工作 SELECT welcome(1234);

但是,我想做的是根据AFTER新用户插入另一个表且该用户是第一个也是唯一的用户的条件来调用或触发此FUNCTION :

INSERT INTO my_table_2 (user_id,name,...) VALUES (5678,'John Doe',...);
Run Code Online (Sandbox Code Playgroud)

并且满足以下条件:

SELECT COUNT(*) from my_table_2 WHERE <my conditions are met>;
Run Code Online (Sandbox Code Playgroud)

完全且仅返回 1

因此,相对而言,我正在努力实现:

call TRIGGER welcome(1234) AFTER INSERT into my_table_2 where my conditions are met

我看过一些示例,并且对CREATE FUNCTION x() AS TRIGGER语法不太了解,似乎Postgres正在引导我朝这个方向发展,但我的情况下缺少示例。救命!(并预先感谢!)

postgresql triggers insert

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