クロスアカウントにおけるデータソースの移行について

別のアカウントにダッシュボードとデータソースを移行したいんですが、作成したダッシュボードとその関連アセットを別アカウント環境に移行する でダッシュボードは移行できました。この場合、データソースはアカウントAのS3バケットを参照していると理解しました。

次に、作成したダッシュボードを同一アカウントの別環境に移行する のコードを使えば、データソースのS3バケットも移行されるという認識を図と文章からしました。そこで、「作成したダッシュボードとその関連アセットを別アカウント環境に移行する」の json コードに、以下のjson を追加して挙動を確認したところ、アカウントB の既存のデータセットに、Order_本番とCustomer-Industry_本番が追加されましたが、データソースである S3バケットはコピーされていないようでした。

できる限り簡単にデータソースを含めた移行を行いたいため、json で完結すれば嬉しいのですが可能でしょうか?
不可なら S3 Sync でバケットをコピーしてデータセットを作成し、 QS の分析の参照先置き換えようと思ってます。

"OverrideParameters": {
        "DataSources": [
        {
            "DataSourceId": "xxxxx",
            "Name": "Order_本番",
            "DataSourceParameters": {
                "S3Parameters": {
                    "ManifestFileLocation": {
                        "Bucket": "xxxxx",
                        "Key": "xxxxx"
                    }
                }
            }
        },
        {
            "DataSourceId": "xxxxx",
            "Name": "Customer-Industry_本番",
            "DataSourceParameters": {
                "S3Parameters": {
                    "ManifestFileLocation": {
                        "Bucket": "xxxxx",
                        "Key": "xxxxx"
                    }
                }
            }
        }
    ]
    }

実現したいことのイメージ

@kantamat
お問い合わせありがとうございます。

ご認識の通り、S3バケットやデータそのものまではコピーされず、あらかじめ別アカウントにS3バケットや同じスキーマのデータを準備した状態で start-asset-bundle-export-job を実行頂く必要があります。

例示頂いたようにS3 Sync 等であらかじめS3の環境をご準備頂いた上で、インポート定義ファイルの
DataSourceParameters を別アカウントのS3を参照するようにして頂くアプローチで問題ないかと思います。

バケットの作成やデータのコピーまで含めて自動化を行いたい場合は別途アプリを作成することをご検討下さい。

1 Like