[英]Update/Delete an Item in DyanamoDb using Glue Job
我正在使用 pyspark 從 Glue Job 訪問 DynamoDB。目前我正在使用 write_dynamic_frame_from_options 方法在 Dynamo DB 中編寫一個條目,它工作正常。
現在我需要更新或刪除 DynamoDB 中的現有項目,有沒有辦法做到這一點。
我查看了 AWS Glue Context 上的文檔,但選項只能寫入,不能更新或刪除
DynamoDB connector with Spark 沒有刪除或更新的能力,它只能使用添加新數據或覆蓋現有數據的PutItem
。
如果您需要Update
或Delete
,您需要使用 boto3 function 而不是 Spark。
您可以參考以下頁面了解更多詳情:
您可以嘗試類似下面的代碼來刪除 dynodb 中的現有項目,刪除 object 后將更新的 object 寫入發電機:
from awsglue.dynamicframe import DynamicFrame
df = glueContext.create_dynamic_frame.from_options(
connection_type="dynamodb",
connection_options={
"dynamodb.input.tableName": "my-table",
"dynamodb.input.key.partitionKey": "key1",
"dynamodb.input.key.sortKey": "key2"
}
)
df = df.drop_fields(dynamic_frame.schema().field_names())
glueContext.write_dynamic_frame_from_options(
frame=df,
connection_type="dynamodb",
connection_options={
"dynamodb.output.tableName": "my-table",
"dynamodb.output.operation": "delete"
}
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.