簡體   English   中英

使用 Glue Job 更新/刪除 DyanamoDb 中的項目

[英]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

如果您需要UpdateDelete ,您需要使用 boto3 function 而不是 Spark。

您可以參考以下頁面了解更多詳情:

https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-pyspark-extensions-dynamic-frame.html#pyspark-drop_fields-example

您可以嘗試類似下面的代碼來刪除 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM