質問編集履歴

2

疑問追加

2019/12/18 22:53

投稿

daigakuse-
daigakuse-

スコア67

test CHANGED
@@ -1 +1 @@
1
- Swift AppSync DynamoDB クエリ
1
+ iOS Swift AppSync DynamoDB クエリ
test CHANGED
@@ -7,6 +7,12 @@
7
7
  テーブルにデータが何も存在しないはずなのに、idを指定してgettodoすると一度mutationしたことあるデータ(現在は削除しているはず)が取得できてしまいます。
8
8
 
9
9
  何か解放しなくてはいけないものがあるのでしょうか。
10
+
11
+ デバイス別にシミュレーションしてみるとそのデバイスでのmutationしかqueryできなかったのですが、、、
12
+
13
+ > appSyncClientをAWSCognitoUserPoolsAuthProviderAsyncで生成しているため、これが原因でappsyncClientのmutationしかqueryできないのでしょうか?
14
+
15
+
10
16
 
11
17
 
12
18
 
@@ -20,7 +26,61 @@
20
26
 
21
27
  ![WEBでデータを確認したスクショ](c6fe2e2a28742eddb9900cc79055d093.png)
22
28
 
29
+ ```swift
23
30
 
31
+ let databaseURL = URL(fileURLWithPath:NSTemporaryDirectory()).appendingPathComponent("database_name")
32
+
33
+ do {
34
+
35
+ // Initialize the AWS AppSync configuration
36
+
37
+ let appSyncServiceConfig = try AWSAppSyncServiceConfig()
38
+
39
+
40
+
41
+ let appSyncConfig = try AWSAppSyncClientConfiguration(appSyncServiceConfig: appSyncServiceConfig,
42
+
43
+ userPoolsAuthProvider: {
44
+
45
+ class MyCognitoUserPoolsAuthProvider : AWSCognitoUserPoolsAuthProviderAsync {
46
+
47
+ func getLatestAuthToken(_ callback: @escaping (String?, Error?) -> Void) {
48
+
49
+ AWSMobileClient.sharedInstance().getTokens { (tokens, error) in
50
+
51
+ if error != nil {
52
+
53
+ callback(nil, error)
54
+
55
+ } else {
56
+
57
+ callback(tokens?.idToken?.tokenString, nil)
58
+
59
+ }
60
+
61
+ }
62
+
63
+ }
64
+
65
+ }
66
+
67
+ return MyCognitoUserPoolsAuthProvider()}(),
68
+
69
+ databaseURL:databaseURL)
70
+
71
+
72
+
73
+ // Initialize the AWS AppSync client
74
+
75
+ appSyncClient = try AWSAppSyncClient(appSyncConfig: appSyncConfig)
76
+
77
+ } catch {
78
+
79
+ print("Error initializing appsync client. (error)")
80
+
81
+ }
82
+
83
+ ```
24
84
 
25
85
  ```swift
26
86
 
@@ -134,4 +194,6 @@
134
194
 
135
195
  なぜ値が取得できてしまうのでしょうか。
136
196
 
197
+
198
+
137
199
  アドバイスいただけると幸いです。

1

処理結果の追加

2019/12/18 22:53

投稿

daigakuse-
daigakuse-

スコア67

test CHANGED
File without changes
test CHANGED
@@ -122,4 +122,16 @@
122
122
 
123
123
 
124
124
 
125
+ このプログラムを実行した際の結果は下記の通りです。
126
+
127
+ > Sign In
128
+
129
+ A
130
+
131
+ Optional(["name": Optional("Use AppSync"), "__typename": Optional("Todo"), "description": Optional("0"), "id": Optional("NUM")])
132
+
133
+
134
+
135
+ なぜ値が取得できてしまうのでしょうか。
136
+
125
137
  アドバイスいただけると幸いです。