如何访问从 s3 存储桶复制到 .NET 代码中的弹性 beantalk 的文件?

How to access a file copied from s3 bucket to elastic beanstalk inside .NET code?

我在 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 实例的文件,甚至查看它是否复制过来,或者在不抛出异常的情况下失败。如果它确实复制了,它被放在哪里......或者我只是访问了错误的文件?

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

之外