Exchangeの挙動について

53 views
Skip to first unread message

新田昌弘

unread,
Oct 21, 2024, 8:23:14 AM10/21/24
to GS2 ユーザグループ
お世話になっております。

現在、Exchangeの一部について、実行してもエラーはでないまま、consuActionsは消費したにも関わらず、acquireActionsで状態を取得できないように見える問題が発生しており、困っています。

具体的には 添付ファイルの中の、Property Namespace の ElevatorLevel-2 などです。
Coin の消費だけされて、Dictionary の設定がうまくいきません。

アプリ側ではエラーが出ることなく完了します。コンソールで [交換を実行] しても結果は同じです。

以前は一度問題なく動作していることを確認していたはずですが、何か変更してしまったのかもしれません。

なお、別ファイルで定義している他のネームスペースのExchangeは正しく動作しています。

DictionaryやMoneyはコンソール上で設定させたり上限させたりすることはできていますし、アプリでその状態を取得することもできています。

製品向け projectIdプロジェクトGRN
grn:gs2:::gs2:account:OGtGXkMq:project:Cave

開発向け projectIdプロジェクトGRN
grn:gs2:::gs2:account:OGtGXkMq:project:Cave_Develop

このようなことはあるでしょうか?
よろしくお願いいたします。
GS2_Shop_Develop.yaml
GS2_Shop.yaml

丹羽一智

unread,
Oct 21, 2024, 10:24:51 AM10/21/24
to GS2 ユーザグループ, 新田昌弘
GS2::Exchange::Namespace の宣言がありませんので詳細が不明ですが、トランザクションの自動実行が有効になっていない場合はエラー発生時のリトライはアプリケーションの責任で行う必要があります。
また、GS2-Log を有効にして具体的にどのAPIのリクエストレスポンスの内容を確認することで手掛かりを得ることができるかもしれません。

Kazutomo Niwa
2024年10月21日 21:23 +0900、新田昌弘 <nitt...@gmail.com> のメール:

新田昌弘

unread,
Oct 22, 2024, 11:16:41 PM10/22/24
to GS2 ユーザグループ, [GS2] 丹羽一智, 新田昌弘
現状、自動実行は有効にしていませんでした。
エラーが発生せずに  acquire が成立せずに困っておりました。

acquireActions を Gs2Dictionary ではなく、以下のように Gs2Money に変更すると問題ありませんでしたので、
Dictionary の設定が何か間違っているのかもしれませんが、他に違いなどはありませんでしょうか?

            acquireActions:
              - action: Gs2Money:DepositByUserId
                request:
                  namespaceName: Coin
                  userId: "#{userId}"
                  slot: 0
                  price: 0
                  count: 15

また、Log の使い方があまり理解できていませんでしたが、以下のような設定でとりあえず GS2管理のログは残るはずでしょうか?

  PropertyExchangeNamespace:
    Type: GS2::Exchange::Namespace
    Properties:
      Name: Property
      TransactionSetting:
        EnableAutoRun: false
        KeyId: !GetAttr Key.Item.KeyId
    LogSetting:
      LoggingNamespaceId: grn:gs2:ap-northeast-1:OGtGXkMq:log:Log

  LogNamespace:
    Type: GS2::Log::Namespace
    Properties:
      Name: Log
      Type: gs2
      LogExpireDays: 30

よろしくお願いいたします。


2024年10月21日月曜日 23:24:51 UTC+9 [GS2] 丹羽一智:

新田昌弘

unread,
Oct 23, 2024, 2:18:00 AM10/23/24
to GS2 ユーザグループ, 新田昌弘, [GS2] 丹羽一智
すみません、本件は自己解決いたしました。

Gs2Dictionary の entryModelNames をリストにすべきところを

              - action: Gs2Dictionary:AddEntriesByUserId
                request:
                  namespaceName: Property
                  userId: "#{userId}"
                  entryModelNames:
                    - ElevatorLevel-4

誤って以下のように値として記述しておりました。

              - action: Gs2Dictionary:AddEntriesByUserId
                request:
                  namespaceName: Property
                  userId: "#{userId}"
                  entryModelNames: ElevatorLevel-4

お騒がせいたしました。
よろしくお願いいたします。

2024年10月23日水曜日 12:16:41 UTC+9 新田昌弘:
Reply all
Reply to author
Forward
0 new messages