質問編集履歴
7
誤記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
AWS lambda 上のpython
|
1
|
+
AWS lambda 上のpythonを使用し、条件分岐でpythonを強制停止する場合
|
2
2
|
条件で、下記のようにsys.exit()で処理を実行した場合、ログに「Runtime.ExitError」が出てしまうので、
|
3
3
|
sys.exit()以外で停止する構文、方法があればご教示頂きたいです。
|
4
4
|
|
6
誤記修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
AWS lambda 上のpython 3.8を使用し、条件分岐でpythonを強制停止する場合
|
1
|
+
AWS lambda 上のpython 3.8を使用し、条件分岐でpythonを強制停止する場合
|
2
2
|
条件で、下記のようにsys.exit()で処理を実行した場合、ログに「Runtime.ExitError」が出てしまうので、
|
3
3
|
sys.exit()以外で停止する構文、方法があればご教示頂きたいです。
|
4
4
|
|
5
誤記修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,8 +12,8 @@
|
|
12
12
|
print(output_name)
|
13
13
|
|
14
14
|
def profile_name(a):
|
15
|
-
if a == "
|
15
|
+
if a == "eigo":
|
16
|
-
print("
|
16
|
+
print("eigo")
|
17
17
|
sys.exit(0)
|
18
18
|
return {'state': "fin"}
|
19
19
|
|
4
誤記修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -22,6 +22,7 @@
|
|
22
22
|
なお、sys.exit()で終了した場合のログは以下の通りです。
|
23
23
|
```ここに言語を入力
|
24
24
|
{
|
25
|
+
"errorType": ""Runtime.ExitError"
|
25
|
-
|
26
|
+
"errorMessage": "RequestId: 3333333-6666-4444-3333-99999999999 Error: Runtime exited without providing a reason"
|
26
27
|
}
|
27
28
|
```
|
3
知りたいことを明確に修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
python(AWS lambda)
|
1
|
+
python(AWS lambda)の条件分岐でプロセスを途中終了する場合のexit()以外の処理方法を教えてほしい
|
body
CHANGED
@@ -1,44 +1,27 @@
|
|
1
|
-
AWS lambda 上のpython 3.8を使用し、
|
1
|
+
AWS lambda 上のpython 3.8を使用し、条件分岐でpythonを強制停止する場合の構文が知りたいです。
|
2
|
-
|
2
|
+
条件で、下記のようにsys.exit()で処理を実行した場合、ログに「Runtime.ExitError」が出てしまうので、
|
3
|
+
sys.exit()以外で停止する構文、方法があればご教示頂きたいです。
|
3
4
|
|
4
5
|
```ここに言語を入力
|
5
6
|
import boto3
|
6
|
-
import json
|
7
|
-
import jmespath
|
8
7
|
import sys
|
9
8
|
|
10
9
|
def lambda_handler(event, context):
|
11
|
-
|
10
|
+
a = eigo
|
12
|
-
name = jmespath.search('profile[].name[]', json)
|
13
|
-
|
14
|
-
output_name =
|
11
|
+
output_name = check_name(a)
|
15
|
-
|
16
12
|
print(output_name)
|
17
13
|
|
18
|
-
def profile_name(
|
14
|
+
def profile_name(a):
|
19
|
-
if
|
15
|
+
if a == "kokugo":
|
20
|
-
print("
|
16
|
+
print("no eigo")
|
21
17
|
sys.exit(0)
|
22
|
-
return {'state': "fin"}
|
18
|
+
return {'state': "fin"}
|
23
19
|
|
24
|
-
name = arn.rsplit('-', 1)
|
25
|
-
return name
|
26
|
-
|
27
20
|
```
|
28
21
|
|
29
|
-
処理としては定期的(CloudWatchEvent)にinfoの変数(★マークがある行、上記サンプルはinfoのJSONの値が空だった場合を想定)に
|
30
|
-
JSONを外部から取得・埋め込み、以降の処理で
|
31
|
-
|
22
|
+
なお、sys.exit()で終了した場合のログは以下の通りです。
|
32
|
-
**②JSON内にプロフィール情報がなければ、終了**
|
33
|
-
という内容にしたいと考えておりますが、「JSON内にプロフィール情報がなければ、終了」で現行の関数を実行した場合ログに、
|
34
23
|
```ここに言語を入力
|
35
24
|
{
|
36
25
|
"errorMessage": "RequestId: 3333333-6666-4444-3333-99999999999 Process exited before completing request"
|
37
26
|
}
|
38
|
-
```
|
27
|
+
```
|
39
|
-
と出力され「実行結果: 失敗」として処理されてしまい、処理結果としてプロフィール情報がないこともありえるため、
|
40
|
-
[実行結果:成功]の正常終了として完了したいと考えてます。
|
41
|
-
|
42
|
-
Web・書籍などで調べた結果、sys.exit(0)でプロセスを終了した場合「プロセスを終了するだけで、例外は遮断されません。」とことで、
|
43
|
-
他の方法で、プロセスを終了する方法がないかを調べている最中ではありますが、現行経験が浅くまだ答えに行きついていない状況のため、
|
44
|
-
お手数おかけいたしますが、上記の条件でlambda処理を[実行結果:成功]で完了できる方法をご存知であれば、お知恵をお借りしたくお願い申し上げます。
|
2
タイトルの誤記
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
python(AWS lambda)で条件でプロセスを途中終了した場合に[実行結果:成功]で終了する方法
|
1
|
+
python(AWS lambda)で条件でプロセスを途中終了した場合に[実行結果:成功]で終了する方法がしりたい
|
body
CHANGED
File without changes
|
1
カテゴリーの誤記
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|