【问题标题】:How to access a file copied from s3 bucket to elastic beanstalk inside .NET code?如何访问从 s3 存储桶复制到 .NET 代码中的弹性 beanstalk 的文件?
【发布时间】:2021-12-01 11:16:17
【问题描述】:

我在 Elastic Beanstalk 上托管一个 .NET 后端应用程序。我做了一个像这样的配置文件:

Resources:
  AWSEBAutoScalingGroup:
    Metadata:
      AWS::CloudFormation::Authentication:
        S3Auth:
          type: "s3"
          buckets: ["my-bucket"]
          roleName:
            "Fn::GetOptionSetting":
              Namespace: "aws:autoscaling:launchconfiguration"
              OptionName: "IamInstanceProfile"
              DefaultValue: "aws-elasticbeanstalk-ec2-role"
files:
  # Private key
  "/var/app/current/file":
    mode: "000400"
    owner: root
    group: root
    authentication: "S3Auth"
    source: https://my-url/file

这似乎可行,但是,当我尝试仅使用file(我也尝试过./file)作为路径名来访问.NET 中的文件时,我收到File not found 错误。它说我的当前目录是var/app/current

我最终不确定如何在 ec2 中查看 EB 实例的文件,甚至查看它是否被复制,或者在不引发异常的情况下失败。如果它确实复制了,它被放在哪里......或者我只是访问错误的文件?

【问题讨论】:

    标签: .net amazon-web-services amazon-ec2 amazon-elastic-beanstalk


    【解决方案1】:

    EB 将在部署结束时覆盖您的/var/app/current。所以无论你在files 中写什么,都会被删除。你可以试试/var/app/staging。如果这也不起作用,您可以考虑将文件保存在 /var/app 之外。

    【讨论】:

    • 谢谢!!几天来,我一直在反对这堵砖墙,试图弄清楚如何让它发挥作用。我有两个问题:1)我将文件移动到顶层(只是“/file”)。我现在可以找到它了!!但无法访问。 2) 必须将模式更新为 755 以提供适当的权限。但是,由于您的建议,我终于找到了文件后,问题二很容易。
    猜你喜欢
    • 2016-06-11
    • 2017-11-23
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 2020-06-15
    • 2022-01-11
    • 2019-01-26
    • 2019-08-07
    相关资源
    最近更新 更多