gpt4 book ai didi

amazon-web-services - 如何在实例创建时将文件夹从 S3 复制到弹性 beantalk 实例

转载 作者:行者123 更新时间:2023-12-04 15:08:26 24 4
gpt4 key购买 nike

我正在 AWS Elastic Beanstalk 上运行一个 Django Web 应用程序,它需要特定的文件才能运行(实际上,是一个 nltk 停用词语料库)。由于实例来来去去,我将所需的文件夹复制到由我的弹性 beanstalk 创建的 S3 存储桶,并计划使用 awscli 添加复制命令。到我的弹性 beanstalk 配置文件。但我无法让它工作。

我的 beanstalk 启动的实例应该对 S3 存储桶具有读访问权限,因为这是由 beanstalk 自动创建的存储桶。所以 beanstalk 还创建了一个 IAM 角色 aws-elasticbeanstalk-ec2-role这是一个附加到它启动的每个实例的实例配置文件。此角色包括 AWSElasticBeanstalkWebTier似乎授予对 S3 存储桶的读写访问权限的策略:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "BucketAccess",
"Action": [
"s3:Get*",
"s3:List*",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::elasticbeanstalk-*",
"arn:aws:s3:::elasticbeanstalk-*/*"
]
}
]
}

我尝试将以下命令添加到 .ebextensions/my_app.config :
commands: 
01_copy_nltk_data:
command: aws s3 cp s3://<my_bucket>/nltk_data /usr/local/share/

但是当我尝试部署时出现以下错误,即使我可以在 S3 控制台中看到该文件夹
Command failed on instance. Return code: 1 Output: An error occurred (404) when calling the HeadObject operation: Key "nltk_data" does not exist

有任何想法吗?

谢谢!

最佳答案

AWS Support 给出了答案:我的 nltk_data文件夹里面有子文件夹和文件,所以 aws s3 cp命令需要 --recursive选项。

关于amazon-web-services - 如何在实例创建时将文件夹从 S3 复制到弹性 beantalk 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40560053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com