首页 > 解决方案 > 如何从另一个文件中访问方法?

问题描述

我正在编写一个脚本来将文件拉入我的 S3 存储桶,在这个大型项目的其他地方,我的 s3 凭据已经定义,但是当我编写代码时,它们找不到。我不确定如何最好地“链接”我当前的脚本,以访问我在项目其他地方定义的 S3 凭据。我的代码如下。

    module Accounting
  module Datev
    module Utils
      class ExcelUtil > Resource

        def initialize(bucket:, object_key:, input_file_path:)
          @bucket = bucket
          @object_key = object_key
          @input_file_path = input_file_path
        end

        def call
          object = s3_resource.bucket(bucket).object(object_key)
          object.upload_file(input_file_path)
        end

        private

        attr_reader :bucket, :object_key, :input_file_path

        def s3_resource
          @s3_resource ||= ::Aws::S3::Resource.new(access_key_id: Settings.aws_pair&.app_key_id,
                                                   secret_access_key: Settings.aws_pair&.app_secret_key,
                                                   region: Settings.aws_pair&.s3_region)
        end

标签: rubyamazon-s3

解决方案


推荐阅读