0

ストレージには flysystem_dropbox と flysystem_s3 で Flysystem モジュールを使用しています。モジュールの readme.txt ファイルで説明されているように、settings.php でスキームを構成しました。

ローカルからドロップボックスまたはローカルから s3 にファイルを同期すると、同期プロセスは正常に機能しますが、ノードから直接ファイルを保存しようとすると、フォームをドロップボックスまたは s3 に追加しても機能しません。最近のログ メッセージ リンクに次のエラーが表示されます

ドロップボックス エラー :

ファイル フィールド field_dropbox_file のアップロード ディレクトリ dropboxexample:// を作成できなかったか、アクセスできません。結果として、新しくアップロードされたファイルをこのディレクトリに保存できなかったため、アップロードはキャンセルされました。

S3 エラー:

Aws\S3\Exception\S3Exception: " https://s3-eu-west-1.amazonaws.com/drupal8test/ " で "PutObject" を実行中にエラーが発生しました; AWS HTTP エラー: クライアント エラー応答 [url] https:// s3-eu-west-1.amazonaws.com/drupal8test/[ステータス コード] 400 [理由句] Bad Request IllegalLocationConstraintException (クライアント): 指定されていない場所の制約は、このリクエストが送信された地域固有のエンドポイントと互換性がありません。- <?xml version="1.0" encoding="UTF-8"?> <Error><Code>IllegalLocationConstraintException</Code><Message>指定されていない場所の制約は、このリクエストが送信された地域固有のエンドポイントと互換性がありません.< /Message><RequestId>A0EFF7B64110C2C5</RequestId><HostId>hze5fRf4JLZYsWLrlT5djroRwL/LrxWgzFX9qU5tP+riDfBeYNn900z36HtwktejaqckD2Gwhss=</HostId></Error> in Aws\WrappedHttpHandler->parseError() (/vardrupal の 153 行目) core/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php)。

私のスキーム構成は以下のようなものです:

$schemes = [
  'dropboxexample' => [
    'driver' => 'dropbox',
    'config' => [
      'token' => '[my-token]',
      'client_id' => '[my login email id]',
    ],
  ],
  's3example' => [
    'type' => 's3',
    'driver' => 's3',
    'config' => [
      'key'    => '[my-access-key]',
      'secret' => '[my-secret-key]',
      'region' => 'eu-west-1',
      'bucket' => '[bucket-name]',
      'cname' => '[bucket-url]',
    ],
  ],
  'localexample' => [
    'driver' => 'local',
    'config' => [
      'root' => '/var/www/html/drupal8/sites/default/files',
    ],

    'cache' => FALSE, 
    'replicate' => 'dropboxexample',

    'serve_js' => TRUE,
    'serve_css' => TRUE,
  ]
];

$settings['flysystem'] = $schemes;

では、構成設定やその他の設定が欠落しているかどうかを誰かに教えてもらえますか?

4

1 に答える 1

0

私は同じ問題を抱えています.AWSポリシーのようです.S3ポリシーを確認し、シミュレーターを使用して、少なくともAmazon S3で機能することを確認する必要があります. また、フォローしたい場合は、この問題でチケットを開きました

Drupal の問題 https://www.drupal.org/node/2666260

問題は地域です。次のように設定する必要があります

//|Region name               |Region id      |
//|:-------------------------|:--------------|
// |US East (N. Virginia)     |us-east-1      |
// |US West (N. California)   |us-west-1      |
// |US West (Oregon)          |us-west-2      |
// |EU (Ireland)              |eu-west-1      |
// |EU (Frankfurt)            |eu-central-1   |
// |Asia Pacific (Tokyo)      |ap-northeast-1 |
// |Asia Pacific (Seoul)      |ap-northeast-2 |
// |Asia Pacific (Singapore)  |ap-southeast-1 |
// |Asia Pacific (Sydney)     |ap-southeast-2 |
// |South America (Sao Paulo) |sa-east-1      |

$schemes = [
  's3' => [
    'driver' => 's3',
    'config' => [
      'key'    => '[your key]',
      'secret' => '[your secret]',
      'region' => '[aws-region-id]',
      'bucket' => '[bucket-name]',

  // Optional configuration settings.

  'options' => [
    'ACL' => 'public-read',
    'StorageClass' => 'REDUCED_REDUNDANCY',
  ],

  'protocol' => 'https',             // Will be autodetected based on the current request.

  'prefix' => 'an/optional/prefix',  // Directory prefix for all uploaded/viewed files.

  'cname' => 'static.example.com',   // A cname that resolves to your bucket. Used for URL generation.
],

'cache' => TRUE, // Creates a metadata cache to speed up lookups.

]、];

$settings['flysystem'] = $schemes;

于 2016-02-10T15:32:20.093 に答える