我正在尝试使用S3存储桶策略提供对存储桶的常规访问,同时还允许使用角色策略对角色进行特定访问。Lambda函数使用该角色来处理存储桶中的对象。它在第一个障碍处就停止了-即使角色策略中允许并且没有在存储桶策略中明确拒绝,它也无法获取带有前缀“ incoming /”的任何内容。
角色政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowBucketPut",
"Effect": "Allow",
"Action": [
"s3:PutObject"
],
"Resource": "arn:aws:s3:::bucket-name/*"
},
{
"Sid": "AllowIncomingGetDelete",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::bucket-name",
"Condition": {
"StringLike": {
"s3:prefix": "incoming/*"
}
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
注意:我还尝试了删除条件并将资源更改为“ arn:aws:s3 ::: bucket-name / incoming *”,这似乎仅改变了策略模拟器的行为。另一个注意事项:使用“ incoming / *”前缀的存储桶中的GET在模拟器中确实有效,但实际上没有。
我不确定以下存储桶策略中的任何声明,因为我不确定可能相关。IP地址已被省略。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowPublicList",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::bucket-name",
"Condition": {
"StringLike": {
"s3:prefix": "public*" …Run Code Online (Sandbox Code Playgroud) 我有一个批处理脚本,我需要确保我有至少3 GB的可用空间.
要通过命令行获取可用空间,请键入:
fsutil volume diskfree C: | find /i "avail free"
Total # of avail free bytes : 872762081280
Run Code Online (Sandbox Code Playgroud)
这是字节数,当您在C驱动器上右键单击" - >'property'时,也会显示相同的字节数.
但是,当我右键单击我的C盘上的' - >'property'时,在872,762,081,280旁边,它显示GB值仅为812GB的可用空间.这与872762081280的字节值完全不同.
我认为这可能是由于1024bytes = 1kb的Windows转换.但是,这个转换将显示我有852,306,720kb可用(或852GB)仍然不接近'Local Disk(C :) Properties'窗口向我显示的812GB.
有谁知道哪些窗口使用的数学将872,762,081,280字节转换为812GB?
我想限制用户输入(通过Getopt::Long)可能的三个值中的一个。值为“pc-number”、“ip-address”和“surname”。
当有两个值时,我正在执行以下操作:
if ((!$pc_number and !$address) or ($pc_number and $address)) {
pod2usage("You must supply pc_number OR ip_address.");
exit;
} elsif ($pc_number) {
(do stuff)
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能简单地确保用户只设置了三个变量中的一个?
使用 Perl v5.10 我试图嵌套given语句 - 即在满足given初始when情况之一时调用语句。例子:
my $value = "test3";
my $subvalue = "subtest2";
my $content .= "\nvalue:";
given($value) {
when ('test1') { $content .= "test1" }
when ('test2 ) { $content .= "test2" }
when ('test3') {
given($subvalue) {
when ('subtest1') { $content .= "subtest1" }
when ('subtest2') { $content .= "subtest2" }
when ('subtest3') { $content .= "subtest3" }
when ('subtest4') { $content .= "subtest4" }
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
test3' 后的名称错误,位于 …
perl ×2
amazon-iam ×1
amazon-s3 ×1
batch-file ×1
getopt-long ×1
hard-drive ×1
lambda ×1
storage ×1
windows ×1